单片机蓝牙模块

蓝牙模块

蓝牙转串口(TTL)模块,蓝牙转串口,不须要知道蓝牙协议,只须要知道串口协议就好。我所用的是BT06,只能作从机,蓝牙接收数据。web

BT06蓝牙模块是专为智能无线数据传输而打造,遵循V3.0 蓝牙规范。
本模块支持UART接口,并支持SPP蓝牙串口协议,具备成本低、体积小、功耗低、收发灵敏性高等优势,只需配备少量的外围元件就能实现其强大功能。app

接线图蓝牙正反面图片

能够USB-TTL模块直接与蓝牙模块相连,但要注意 5V-5V,GND-GND,RXD-TXD,TXD-RXD。
也能够直接用开发板进行蓝牙设置,但注意不要插单片机,不然数据会冲突,由于单片机进行烧录也是用的RX,TX。
开发板链接svg

状态指示LED:spa

LED显示 模块状态
长亮 创建链接
均匀慢速闪烁 等待配对

AT指令集

在进行蓝牙与电脑链接上以后,打开串口助手(或者STC下载器自带的)打开串口能够进行AT指令设置,设置它的密码,名称以及波特率等
用户能够经过串口和 BT06蓝牙进行通讯,串口使用 Tx, Rx 两根信号线,波特 率 支 持
1200,2400,4800,9600,14400,19200,38400,57600,115200,230400,460800 和921600bps。串口缺省波特率为
9600bps。
(注:发 AT 指令时必须回车换行, AT 指令只能在模块未链接状态下才能生效,一旦蓝牙模块与设备链接上,蓝牙模块即进入数据透传模式。\r\n为直接按电脑回车键,如不能按回车键则加\r\n。AT指令不分大小写)
AT指令集
指令
指令
在这里插入图片描述更改密码
波特率3d

应用连接

通常默认名称是BT-04,默认密码为1234,手机打开蓝牙,在手机app端控制蓝牙发送数据。code

单片机程序

使用蓝牙时接受的数据由串口进行通信传给MCU,因此使用串口中断。
参考程序:xml

#include <reg52.h> 
#define uchar unsigned char 

void UART_INIT()
{
 SM0 = 0;
 SM1 = 1;//串口工做方式1
 REN = 1;//容许串口接收
 EA = 1;//开总中断
 ES = 1;//开串口中断
 TMOD = 0x20;//8位自动重装模式
 TH1 = 0xfd;
 TL1 = 0xfd;//9600波特率
 TR1 = 1;//启动定时器1
}
//串口中断
void UART_SER() interrupt 4
{
 if(RI)
 {
  RI = 0;//清除接收标志
  switch(SBUF)
  {
   case 0x01:/*执行*/ ; break;//蓝牙接收1事进行的操做
  }
 }
}

void main()
{
 UART_INIT();//串口初始化
 
 while(1)
 {
 }
}