找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5188|回复: 2
收起左侧

无线蓝牙串口透传模块+无线串口通讯+HC-06从机模块

[复制链接]
ID:135102 发表于 2017-7-15 22:01 | 显示全部楼层 |阅读模式
串口通信,带有例程测试程序。实测成功,手机安装一个蓝牙串口助手就可以了
0.png
0.png

单片机源程序如下:
  1. /***********************************************************
  2. 接5V,不要接3.3V
  3. STC90C51RD+与HC-06蓝牙连线:
  4.         蓝牙  STC90C51RD+
  5.         RXD    TXD
  6.         TXD    RXD
  7. 其他连线:
  8.         P2.0、P2.1、P2.3分别接一个指示灯

  9. !!!!
  10. !!!!注意:若单片机TXD(P3.1)无上拉能力,必须在P3.1端接上拉电阻。本次测试需要接上拉电阻
  11. !!!!

  12. 手机采用蓝牙串口通信助手

  13. 关于如何用电脑蓝牙与HC-05蓝牙模块配对控制【wit电协吧】_百度贴吧
  14. https://tieba.baidu.com/p/4330334488

  15. ***********************************************************/
  16. #include <reg52.h>
  17. #include <intrins.h>
  18. unsigned char tmp;
  19. unsigned int c=0;

  20. sbit led1=P2^0;                    //指示灯0
  21. sbit led2=P2^1;                        //指示灯1
  22. sbit led3=P2^3;                        //指示灯3

  23. void init();   //串口初始化
  24. void send(unsigned char a);        //单字节发送函数
  25. void ctrl(); //接收处理函数

  26. void main()
  27. {
  28.                 init();
  29.           while(1)
  30.           {         
  31.                   if(RI==1)                     // 是否有数据到来
  32.                   {
  33.                    RI = 0;
  34.                   tmp = SBUF;                   // 暂存接收到的数据
  35.                                   ctrl();
  36.                                   }      
  37.           }
  38. }

  39. void init()        //串口初始化
  40. {
  41.                    ES=0;                                                                  //关中断
  42.                   SCON = 0x50;                        // REN=1允许串行接受状态,串口工作模式1,
  43.                                                                                           //10位UART(1位起始位,8位数据位,1位停止位,无奇偶校验),波特率可变

  44.                   TMOD = 0x20;                        // 定时器1工作于方式2,8位自动重载模式, 用于产生波特率
  45.           TH1=TL1=0xFD;                       // 波特率9600 (本次测试采用晶振为11.0592)
  46.          
  47.           PCON &= 0x7f;                       // 波特率不倍增
  48.           TR1 = 1;                                                          //定时器1开始工作,产生波特率
  49.                                                                                           //发送标志位置0
  50.                   TI=0;                                                                  //接收标志位置0
  51.                   RI=0;
  52.                   
  53.                   //EA=0;
  54.               ES=1;


  55.           led1=0;                                   //初始化设置3个指示灯全亮
  56.                   led2=0;
  57.                   led3=0;
  58. }
  59.    
  60. void send(unsigned char a)        //单字节数据发送
  61. {                                                        //注意:若单片机TXD(P3.1)无上拉能力,必须在P3.1端接上拉电阻。本次测试需要接上拉电阻
  62.         TI=0;        
  63.         SBUF=a;
  64.         while(TI==0);
  65.         TI=0;

  66.         if(c%2)                                        //发送指示灯标志,每接收一次,此灯亮灭交替
  67.          led3=1;
  68.         else
  69.          led3=0;
  70.         c++;
  71. }

  72. void ctrl()                            //接收处理函数
  73. {
  74.                                     switch(tmp)
  75.                                   {
  76.                                           case '1':
  77.                                                 led1=1;                                   //收到字符1,指示灯0灭
  78.                                                 send(tmp);
  79.                                                 break;                                       
  80.                                         case '2':                                         //收到字符2,指示灯1灭
  81.                                                  led2=1;
  82.                                                  send(tmp);
  83.                                                  break;
  84.                                         case '3':                                    //收到字符3,指示灯0、1亮
  85.                                                  led1=0;
  86.                                                  led2=0;
  87.                                                  send(tmp);
  88.                                                  break;
  89.                                         case '4':                                        //收到字符4,指示灯0、1灭
  90. ……………………

  91. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
【Realplay】无线蓝牙串口透传模块 无线串口通讯 HC-06从机模块.rar (1.48 MB, 下载次数: 77)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:251455 发表于 2019-3-30 20:27 来自手机 | 显示全部楼层
老大,附件在哪儿啊?
回复

使用道具 举报

ID:585455 发表于 2019-7-23 22:58 | 显示全部楼层
正在找hc-06 謝謝
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表