1. 下载相关软件。如串口助手和蓝牙助手
2. 串口助手上有相应的操作,随便点点就行 3. 一些AT指令。 4. AT 指令用来设置模块的参数,模块在未连线状态下可以进行 AT 指令操作,连线后进入串口透传模式。模块启动大约需要 150ms,所以最好在模块上电 200ms 以后才进行 AT 指令操作。除特殊说明外,AT 指令的参数设置立即生效。同时,参数和功能的修改,掉电不会丢失。AT 指令修改成功后统一返回 OK(“AT+RX、AT+VERSION”等查看信息类指令除外),不成功不返回任何信息 5. 串口通信准备知识:功能是利用串口助手文本模式发送0x00点亮led,发送0x01熄灭led。实现方式串口通信:uart,SBUF暂存 /************************************************************************************** * 串口通信实验 * 实现现象:下载程序后打开串口调试助手,将波特率设置为4800,选择发送的数据就可以显示 在串口助手上。 注意事项:无。 ***************************************************************************************/
#include"reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
typedefunsigned int u16; //对数据类型进行声明定义 typedefunsigned char u8; sbitled0=P2^0; /******************************************************************************* * 函数名 :UsartInit() * 函数功能 :设置串口 *******************************************************************************/ void UsartInit() //串口初始化函数,函数名可以自定义 { SCON=0X50; //设置为工作方式1 01100000 TMOD=0X20; //设置计数器T1工作方式2 00100000 PCON=0X80; //波特率加倍 TH1=0XF3; //计数器初始值设置,注意波特率是4800的 TL1=0XF3; ES=1; //打开接收中断 EA=1; //打开总中断 TR1=1; //打开计数器 }
/******************************************************************************* * 函数 名 : main * 函数功能 : 主函数 *******************************************************************************/ voidmain() { UsartInit(); // 串口初始化 while(1); }
/******************************************************************************* * 函数名 : Usart() interrupt 4 * 函数功能 : 串口通信中断函数 *******************************************************************************/ voidUsart() interrupt 4 //第五级中断,因为从0开始数,所以用标号4,即中断4 { u8 receiveData; //定义读取函数 receiveData=SBUF;//出去接收到的数据 RI = 0;//清除接收中断标志位 SBUF=receiveData;//将接收到的数据放入到发送寄存器 if(SBUF=='0') { led0=0; } if(SBUF=='1') { led0=1; } while(!TI); //等待发送数据完成 TI=0; //清除发送完成标志位 }
6. 单片机与蓝牙模块连接的关键点在与串口通信。 7. 手机APP发送相应的字符给蓝牙模块,蓝牙模块与单片机进行串口通信,蓝牙模块把从手机端接收到的内容发送给单片机并放在单片机的SBUF上。程序中主要是通过对SBUF上的字符进行判断从而做出控制。注意晶振用11.0592MHZ的。
|