2022年蓝牙模块学习笔记 .pdf
《2022年蓝牙模块学习笔记 .pdf》由会员分享,可在线阅读,更多相关《2022年蓝牙模块学习笔记 .pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学习好资料欢迎下载蓝牙模块学习刚拿到蓝牙模块,心中有点小激动啊;民用级: HC-05,HC-06(HC-06-M,HC-06-S) HC-05-D,HC-06-D (是带底板的模块,主要是用户用于测试和评估)本文介绍的为HC-06 蓝牙串口模块。蓝牙串口模块用于把串口转换为蓝牙,这种模块工作的时候分为主机和从机,其中偶数命名的型号出厂时就确定了是从机或者是主机,并无法更改。 奇数命名的型号可以用户自己通过AT 指令修改模块为主机或者从机。主机: HC-06-M , M=master 从机: HC-06-S , S = slaver 串口模块的使用,是不需要驱动的,只要是串口就可以接入,配对完毕
2、即可通信,模块与模块的通信需要至少2 个条件:1、 必须是主机与从机之间2、 必须密码一致(密码: 1234)主机:记忆最后一次配对过的从机,并只与该从机配对,直到KEY(26 脚)高电平触发时放弃记忆, 26 脚默认应该接低电平。配对方式:主机自动搜索从设备进行配对。典型方式:在一定条件下,主从之间自动配对AT 模式:配对前就是AT 模式, 配对完毕后透明通信精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 13 页学习好资料欢迎下载图 1 是 HC-06 图片及主要引脚现在你手中拿到的HC-06 引出了四个引脚,分别为VCC 、GND
3、、TXD 、RXD 。四个引脚分别对应单片机的电源5V 或 3.3V;GND 接地; TXD 、RXD 交叉连接(对应单片机的P30,P31) 。连接好,单片机上电,此时蓝牙模块上led 闪烁,表示尚未连接其他蓝牙设备。此时用手机蓝牙搜索,可以搜索到HC-06. 点击连接,输入pin 密码则可以连接。连接好后, 利用蓝牙串口助手就可以对蓝牙模块通信了,编程也就可以把蓝牙当作普通串口来对待。注意编写好程序后,向单片机烧录时,必须将TXD 、RXD 拔出才能烧写! ! !问题:串口发送字符串时,最后没有标志可寻。可以将字符串接收到数组中,发送数据到12864,检测是否到 0 ,如果检测得到,将标识
4、符flag 置为 1;串口中断服务程序中,检测到 flag 为 1 时,这证明数据显示成功。此时应当清屏!清屏方法: while(Temi!=0) Temi= ; i+; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 13 页学习好资料欢迎下载/* STC89C52RC 与 HC-06 蓝牙连线:RXD TXD TXD RXD 其他连线:P2.0、P2.1、P2.3 分别接一个指示灯*/ #include #include unsigned char tmp; unsigned int c=0; sbit led1=P10; /指示灯
5、 0 sbit led2=P11; /指示灯 1 sbit led3=P12; /指示灯 2 sbit beep=P32; /蜂鸣器void init(); /串口初始化void send(unsigned char a); /单字节发送函数void ctrl(); / 接收处理函数void delay(unsigned int x) unsigned int i,j; for(i=x;i0;i-) for(j=110;j0;j-); void main() init(); while(1) if(RI=1) / 是否有数据到来 RI = 0; tmp = SBUF; / 暂存接收到的数据ct
6、rl(); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 13 页学习好资料欢迎下载void init() /串口初始化 ES=0; /关中断SCON = 0 x50; / REN=1 允许串行接受状态,串口工作模式1, /10 位 UART (1 位起始位, 8 位数据位, 1 位停止位,无奇偶校验),波特率可变TMOD = 0 x20; / 定时器 1 工作于方式2, 8 位自动重载模式 , 用于产生波特率TH1=TL1=0 xFD; / 波特率 9600 (本次测试采用晶振为 11.0592)PCON &= 0 x7f; / 波
7、特率不倍增TR1 = 1; /定时器 1 开始工作,产生波特率/发送标志位置0 TI=0; /接收标志位置0 RI=0; /EA=0; ES=1; led1=0; /初始化设置3 个指示灯全亮led2=0; led3=0; void send(unsigned char a) /单字节数据发送 /注意:若单片机 TXD(P3.1) 无上拉能力, 必须在 P3.1端接上拉电阻。本次测试需要接上拉电阻TI=0; SBUF=a; while(TI=0); TI=0; if(c%2) /发送指示灯标志,每接收一次,此灯亮灭交替led3=1; else led3=0; c+; void ctrl() /
8、接收处理函数精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 13 页学习好资料欢迎下载 switch(tmp) case 1: led1=1; /收到字符1,指示灯0 灭send(tmp); beep=0; delay(500); break; case 2: /收到字符2,指示灯1 灭led2=1; send(tmp); beep=1; delay(500); break; case 3: /收到字符3,指示灯0、 1 亮led1=0; led2=0; send(tmp); beep=1; delay(500); break; cas
9、e 4: /收到字符4,指示灯0、 1 灭led1=1; led2=1; send(tmp); break; case 5: /收到字符5,指示灯3 亮led3=0; send(tmp); break; default: /其他,灯全灭led1=1; led2=1; led3=1; send(tmp); beep=1; delay(500); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 13 页学习好资料欢迎下载以下是蓝牙接收字符串并向12864 显示程序/*8 *任广俊*日期 :12.17 *蓝牙接收并显示在12864 上,1,2
10、,3 控制发光二极管*4,5 控制继电器*/ #include #include #define uint unsigned int #define uchar unsigned char #define LCD_data P0 sbit LCD_EN=P34; /液晶使能1 使能, 0 使不能sbit LCD_RS=P35; /寄存器选择1 数据, 0 命令sbit LCD_RW=P36; /液晶读写控制1 读出, 0 写入sbit LCD_PSB=P37; /串行口控制1 并行, 0 串行sbit led1=P10; sbit led2=P11; sbit led3=P12; sbit b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年蓝牙模块学习笔记 2022 蓝牙 模块 学习 笔记
限制150内