好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

2022年蓝牙模块学习笔记.docx

13页
  • 卖家[上传人]:高****
  • 文档编号:233482142
  • 上传时间:2022-01-02
  • 文档格式:DOCX
  • 文档大小:271.37KB
  • / 13 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 学习好资料 欢迎下载蓝牙模块学习刚拿到蓝牙模块,心中有点小兴奋啊.民用级: 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 个条件:1, 必需是主机与从机之间2, 必需密码一样 (密码: 1234)主机:记忆最终一次配对过的从机,并只与该从机配对,直到 KEY (26 脚)高电平触发时舍弃记忆, 26 脚默认应当接低电平.配对方式:主机自动搜寻从设备进行配对.典型方式:在确定条件下,主从之间自动配对AT 模式:配对前就是 AT 模式, 配对完毕后透亮通信可编辑资料 -- -- -- 欢迎下载学习好资料 欢迎下载图 1 是 HC-06 图片及主要引脚现在你手中拿到的 HC-06 引出了四个引脚,分别为 VCC ,GND ,TXD ,RXD .四个引脚分别对应单片机的电源 5V 或 3.3V . GND 接地. TXD ,RXD 交叉连接(对应单片机的P3^0,P3^1).连接好,单片机上电,此时蓝牙模块上 led 闪烁,表示尚未连接其他蓝牙设备.此时用蓝牙搜寻,可以搜寻到 HC-06. 点击连接,输入 pin 密码就可以连接.连接好后, 利用蓝牙串口助手就可以对蓝牙模块通信了, 编程也就可以把蓝牙当作一般串口来对待.留意编写好程序后,向单片机烧录时,必需将 TXD ,RXD 拔出才能烧写。

      问题:串口发送字符串时,最终没有标志可寻.可以将字符串接收到数组中,发送数据到12864,检测是否到 ’\0 ’,假如检测得到,将标识符 flag 置为 1.串口中断服务程序中,检测到 flag 为 1 时,这证明数据显示成功.此时应当清屏清屏方法: while〔Tem[i].='\0'〕{Tem[i]=' '; i++;}可编辑资料 -- -- -- 欢迎下载学习好资料 欢迎下载/***********************************************************STC89C52RC 与 HC-06 蓝牙连线:RXD TXDTXD RXD其他连线:P2.0,P2.1,P2.3 分别接一个指示灯***********************************************************/#include #include unsigned char tmp; unsigned int c=0;sbit led1=P1^0;// 指示灯0sbit led2=P1^1;// 指示灯1sbit led3=P1^2;// 指示灯2sbit beep=P3^2;// 蜂鸣器void init〔〕; // 串口初始化void send〔unsigned char a〕; // 单字节发送函数 void ctrl〔〕; // 接收处理函数void delay〔unsigned int x〕{unsigned int i,j; for〔i=x;i>0;i--〕for〔j=110;j>0;j--〕;}void main〔〕{可编辑资料 -- -- -- 欢迎下载init〔〕;while〔1〕{if〔RI==1〕 // 是否有数据到来{可编辑资料 -- -- -- 欢迎下载RI = 0;tmp = SBUF; // 暂存接收到的数据ctrl〔〕;}}}可编辑资料 -- -- -- 欢迎下载学习好资料 欢迎下载void init〔〕 //串口初始化{可编辑资料 -- -- -- 欢迎下载口工作模式 1,ES=0; // 关中断SCON = 0x50; // REN=1 答应串行接受状态,串//10 位 UART ( 1 位起始位, 8 位可编辑资料 -- -- -- 欢迎下载数据位, 1 位停止位,无奇偶校验) ,波特率可变TMOD = 0x20; // 定时器 1 工作于方式 2,8 位自动重载模式 , 用于产生波特率TH1=TL1=0xFD; // 波特率 9600 (本次测试接受晶振为 11.0592)PCON &= 0x7f; // 波特率不倍增TR1 = 1; // 定时器 1 开头工作,产生波特率// 发送标志位置 0TI=0; // 接收标志位置 0RI=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〔〕 //接收处理函数可编辑资料 -- -- -- 欢迎下载学习好资料 欢迎下载{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;case '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〕;}}可编辑资料 -- -- -- 欢迎下载学习好资料 欢迎下载以下是蓝牙接收字符串并向 12864 显示程序/*****************************************************************************8* 任广俊* 日期 :12.17* 蓝牙接收并显示在 12864 上,1,2,3 把握发光二极管*4,5 把握继电器******************************************************************************/#include #include #define uint unsigned int#define uchar unsigned char#define LCD_data P0sbit LCD_EN=P3^4; // 液晶使能 1 使能, 0 使不能sbit LCD_RS=P3^5; // 寄存器选择 1 数据, 0 命令sbit LCD_RW=P3^6; // 液晶读写把握 1 读出, 0 写入sbit LCD_PSB=P3^7; //串行口把握 1 并行, 0 串行sbit led1=P1^0; sbit led2=P1^1; sbit led3=P1^2;sbit beep=P3^2; // 蜂鸣器sbit jdq=P1^6; //继电器uchar code dis1[]={"I Love MCU ."}; uchar code dis2[]={" 单片机学习 "}; uchar Tem[20];uchar dis3[8];unsigned char a=0; // 定义临时变量 uchar flag,flag2=0;uchar temp,i,c;void delay〔uint x〕{uint m,n;for 〔m=x;m>0;m--〕可编辑资料 -- -- -- 欢迎下载学习好资料 欢迎下载for〔n=110;n>0;n--〕;}/*******************************************************************************************************12864 液晶显示*******************************************************************************************************///写指令 :RS=L;RW=L;E= 高脉冲 ;D0-D7= 指令码void write_cmd〔uchar cmd 〕{LCD_RS=0; LCD_RW=0; LCD_EN=0;P0=cmd; delay〔5〕; LCD_EN=1;delay〔5〕; LCD_EN=0;}//写数据到 LCD:RS=H;RW=L;E= 高脉冲 D0-D7 数据void write_dat〔uchar dat〕{LCD_RS=1; LCD_RW=0; LCD_EN=0;P0=dat; delay〔5〕; LCD_EN=1;delay〔5〕; LCD_EN=0;}//设定显示位置void lcd_pos〔uchar x,uchar y〕{uchar pos; if〔x==0〕{x=0x80;}else if〔x==1〕{x=0x90;}else if〔x==2〕{x=0x88;}else if〔x==3〕{x=0x98;}可编辑资料 -- -- -- 欢迎下载学习好资料 欢迎下载pos=x+y;write_cmd〔pos〕; // 显示地址}void lcd_init〔〕 //lcd 初始化{LCD_PSB=1; //并口方式 wr。

      点击阅读更多内容
      相关文档
      5.江苏省扬州市2023-2024学年高一上学期1月期末检测数学试题.docx 山西省长治市2023-2024学年高二上学期期末化学试题.docx 1.甘肃省张掖市某重点校2023-2024学年高一上学期9月月考数学试题.docx 山东省日照市第一中学2023-2024学年高一上学期12月月考数学试卷.docx 5.湖北省武汉市部分重点中学2023-2024学年高二上学期期中联考数学试题.docx 2.河南省部分名校2023-2024学年高二上学期1月期末考试数学试题.docx 山东省日照市第一中学2023-2024学年高二上学期第二次单元过关测试(12月)数学试题.docx 四川省德阳市高中2023-2024学年高二上学期期末教学高中政治试题.docx 3.安徽省合肥市普通高中联盟2023-2024学年高二上学期1月期末联考数学试题.docx 12.山西省晋中市2023-2024学年高一上学期期末调研数学试题.docx 天津市四校2023-2024学年高一上学期期末联考政治试题.docx 4.山西省太原市2023-2024学年高二上学期期中学业诊断数学试卷.docx 4.甘肃省武威市2023-2024学年高二下学期6月月考数学试题.docx 山东省威海市2023-2024学年高二上学期期末考试化学试题.docx 3.福建省莆田市五校联盟2023-2024学年高二上学期期中数学试题.docx 9.安徽省马鞍山市2023-2024学年高一上学期2月期末数学试题.docx 7.山西省2023-2024学年高二上学期11月期中考试数学试题.docx 9.重庆第十一中学校2023-2024学年高二下学期3月月考数学试题.docx 3.湖南省名校联考联合体2023-2024学年高一上学期期末考试数学试题.docx 4.江苏省徐州市2023-2024学年下学期高二年级第三次检测数学试题.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.