单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 14659|回复: 41
收起左侧

手机蓝牙与HC-06蓝牙模块控制单片机程序加APP

  [复制链接]
梁光阳 发表于 2017-5-16 21:45 | 显示全部楼层 |阅读模式
手机与单片机通信,本想用手机控制led,但是做好后想改进做点有用的东西就加了继电器,原理都一样,提供源码与APP供大家使用,蓝牙波特率是9600,单片机波特率11.0592,喜欢的朋友支持一下,改天我去做wife的。
psb (1).jpg Screenshot_2017-05-16-21-32-02-311_com.ayanglanya.png 0.png

单片机源程序如下:
  1. /***********************************************************
  2. STC90C51RD+?HC-06????:
  3.         ??  STC90C51RD+
  4.         RXD    TXD
  5.         TXD    RXD
  6. ????:
  7.         P1.0?P1.1?P1.3????????

  8. !!!!
  9. !!!!??:????TXD(P3.1)?????,???P3.1??????????????????
  10. !!!!

  11. ????????????
  12. ?????Android????????
  13.                                         By itas109
  14.                                         http://blog.csdn.net/itas109
  15. ***********************************************************/
  16. #include <reg52.h>
  17. #include <intrins.h>
  18. unsigned char tmp;
  19. unsigned int c=0;

  20. sbit led1=P1^0;                    //???0
  21. sbit led2=P1^1;                          //???1
  22. sbit led3=P1^2;
  23. sbit led4=P1^3;//???2

  24. void init();     //?????
  25. void send(unsigned char a);           //???????
  26. void ctrl();    //??????

  27. void main()
  28. {
  29.                 init();
  30.           while(1)
  31.           {         
  32.                   if(RI==1)     // ???????
  33.                   {
  34.                    RI = 0;
  35.                   tmp = SBUF;   // ????????
  36.                                   ctrl();
  37.                                   }      
  38.           }
  39. }

  40. void init()           //???
  41. {
  42.         TMOD=0x20;                //?????1?????2
  43.         PCON=0x80;            //?????

  44.         TH1=0xfa;                //????????
  45.         TL1=0xfa;
  46. //?????????????12M,?????,??????????????,???????????????
  47. //????,?????4800,SMOD=1????????,?????0.16%,?12M????????
  48.        
  49.         TR1=1;         //????

  50.         SM0=0;         //????????1,??
  51.         SM1=1;
  52.     REN=1;        //?????                                                                                                                                                                                                                         
  53.                
  54.         EA=1;        //????
  55.         ES=1;        //??????

  56.       led1=1;         //?????3??????
  57.                   led2=1;
  58.                   led3=1;
  59. }
  60.    
  61. void send(unsigned char a)        //???????
  62. {                                                        //??:????TXD(P3.1)?????,???P3.1??????????????????
  63.         TI=0;       
  64.         SBUF=a;
  65.         while(TI==0);
  66.         TI=0;

  67. }

  68. void ctrl()                            //??????
  69. {
  70.                                     switch(tmp)
  71.                                   {
  72.                                           case '1':
  73.                                                 led1=1;                                   //????1,???0?
  74.                                                 send(tmp);
  75.                                                 break;                                       
  76.                                         case '0':                                         //????2,???1?
  77.                                                  led1=0;
  78.                                                  send(tmp);
  79.                                                  break;
  80.                                         case '2':                                    //????3,???0?1?
  81.                                                  
  82.                                                  led2=0;
  83.                                                  send(tmp);
  84.                                                  break;
  85.                                         case '3':                                        //????4,???0?1?
  86.                                                
  87.                                                   led2=1;
  88.                                                   send(tmp);
  89.                                                   break;
  90.                                         case '4':                                        //????5,???3?
  91.                                                 led3=0;
  92.                                                 send(tmp);
  93.                                                 break;
  94.                                         case '5':                                        //????5,???3?
  95.                                                 led3=1;
  96.                                                 send(tmp);
  97.                                                 break;
  98. ……………………

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

所有资料51hei提供下载:
蓝牙与数据不分开.zip (3.87 MB, 下载次数: 81)

评分

参与人数 2黑币 +33 收起 理由
wmc51 + 30
qwerty0001 + 3

查看全部评分

回复

使用道具 举报

奥斯特洛夫斯基 发表于 2017-5-17 06:29 | 显示全部楼层
好东西,顶了!!!!
回复

使用道具 举报

zha 发表于 2017-5-18 19:51 | 显示全部楼层
楼主能给我做一个简单的蓝牙app吗,也就是蓝牙发送几个简单的数据,要一个主菜单和几个子菜单,急求
回复

使用道具 举报

 楼主| 梁光阳 发表于 2017-5-24 20:02 来自手机 | 显示全部楼层
zha 发表于 2017-5-18 19:51
楼主能给我做一个简单的蓝牙app吗,也就是蓝牙发送几个简单的数据,要一个主菜单和几个子菜单,急求

加我QQ1137035271
回复

使用道具 举报

csz9981 发表于 2017-5-24 21:22 | 显示全部楼层
手机蓝牙与HC-06蓝牙模块控制单片机程序加APP
回复

使用道具 举报

csz9981 发表于 2017-5-24 21:22 | 显示全部楼层
抱歉,只有特定用户可以下载本站附件
回复

使用道具 举报

lverniu777 发表于 2017-5-28 09:06 | 显示全部楼层
好东西
回复

使用道具 举报

安兹乌尔恭 发表于 2017-5-28 10:15 | 显示全部楼层
用的是什么APP控制的?
回复

使用道具 举报

asd9988775 发表于 2017-7-3 14:08 | 显示全部楼层
怎么下载
回复

使用道具 举报

是非功 发表于 2017-7-13 19:40 | 显示全部楼层
我也是想做一个这个,怎么下载不了,有更细的讲解吗
回复

使用道具 举报

perfectlove 发表于 2017-7-20 15:33 | 显示全部楼层
怎么下载,楼主
回复

使用道具 举报

ywx163 发表于 2017-9-6 23:25 | 显示全部楼层
好东西,新手无币买
回复

使用道具 举报

zlf小飞 发表于 2017-11-10 10:50 | 显示全部楼层
正在捣鼓蓝牙模块,感谢分享
回复

使用道具 举报

奥斯特洛夫斯基 发表于 2017-11-10 11:53 | 显示全部楼层
怎么解析都是问号的?
回复

使用道具 举报

雨林木木风 发表于 2017-11-30 20:09 | 显示全部楼层
老哥这个怎么下载啊?特定用户是什么鬼。
回复

使用道具 举报

疯狂的小吉 发表于 2017-12-22 16:28 | 显示全部楼层
楼主,我最近在弄蓝牙APP与蓝牙模块通信这一方面,能不能分享下你的蓝牙APP源码学习学习,可以的话邮箱1327671811@qq.com
回复

使用道具 举报

水表 发表于 2017-12-24 12:02 | 显示全部楼层
楼主能把app发给我一下吗 1032942191@qq.com
回复

使用道具 举报

qq1105424012 发表于 2017-12-25 15:06 | 显示全部楼层
好东西 学习学习
回复

使用道具 举报

都市郎 发表于 2018-1-26 09:45 | 显示全部楼层
这是楼主的程序(人民服务):

/***********************************************************   
STC90C51RD+与HC-06蓝牙连线:  
  
         蓝牙  STC90C51RD+  
  
         RXD    TXD  
  
         TXD    RXD  
  
其他连线:  
           P2.0、P2.1、P2.3分别接一个指示灯  
                  
注意:若单片机TXD(P3.1)无上拉能力,必须在P3.1端接上拉电阻。本次测试需要接上拉电阻!   
  
       手机采用蓝牙串口通信助手  
  
       最后已改用Android自编蓝牙通信软件
            
                                        By itas109  
  
                               http://blog.csdn.net/itas109
***********************************************************/
#include <reg52.h>
#include <intrins.h>
unsigned char tmp;
unsigned int c=0;

sbit led1=P1^0;        //指示灯1  
sbit led2=P1^1;        //指示灯2                   
sbit led3=P1^2;        //指示灯3
sbit led4=P1^3;        //指示灯4

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

void main()
{
                init();
          while(1)
          {         
                  if(RI==1)    //是否有数据到来   
                  {
                   RI = 0;
                  tmp = SBUF;  //暂存接收到的数据  
                                  ctrl();
                                  }      
          }
}

void init()          //串口初始化  
{
        TMOD=0x20;        //定时器1工作于方式2,8位自动重载模式,用于产生波特率
        PCON=0x80;         //波特率不倍增      

        TH1=0xfa;        //波特率9600 (本次测试采用晶振为11.0592)       
        TL1=0xfa;


       
        TR1=1;         //定时器1开始工作,产生波特率  

        SM0=0;         
        SM1=1;
    REN=1;                                                                                                                                                                                                                         
               
        EA=1;
        ES=1;       

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

}

void ctrl()        //接收处理函数                      
{
                                    switch(tmp)
                                  {
                                          case '0':  //收到字符0,指示灯1灭  
                                                led1=1;                                         
                                                send(tmp);
                                                break;                                       
                                        case '1':        //收到字符1,指示灯1亮                                   
                                                 led1=0;      
                                                 send(tmp);
                                                 break;
                                        case '2':        //收到字符2,指示灯2亮                             
                                                 
                                                 led2=0;      
                                                 send(tmp);
                                                 break;
                                        case '3':          //收到字符3,指示灯2灭               
                                               
                                                  led2=1;   
                                                  send(tmp);
                                                  break;
                                        case '4':        //收到字符4,指示灯2亮                                 
                                                led3=0;
                                                send(tmp);
                                                break;
                                        case '5':        //收到字符5,指示灯3灭                         
                                                led3=1;
                                                send(tmp);
                                                break;
                                        case '6':        //收到字符6,指示灯4亮                         
                                                led4=0;
                                                send(tmp);
                                                break;
                                        case '7':        //收到字符7,指示灯4灭                        
                                                led4=1;
                                                send(tmp);
                                                break;
                                        default:  //其他,灯全亮                  
                                                  led1=0;
                                                  led2=0;
                                                  led3=0;
                                                  send(tmp);
                                  }
}



回复

使用道具 举报

aking991 发表于 2018-1-27 14:06 | 显示全部楼层
APP有提供原代码吗,发上来学习一下
回复

使用道具 举报

馆长 发表于 2018-2-7 16:32 | 显示全部楼层
请问下权限70是什么意思???
回复

使用道具 举报

huazi001 发表于 2018-3-2 10:49 | 显示全部楼层
好东西,顶了!!!!
回复

使用道具 举报

rrrwe 发表于 2018-3-15 14:46 | 显示全部楼层
顶了,刚入门,学习这个,很有帮助,该怎么下载?
回复

使用道具 举报

不忘初心wen 发表于 2018-3-21 14:50 | 显示全部楼层
我现在在弄蓝牙控制小灯的程序卡了蓝牙软件上,楼主有空的话可以发我的邮箱上1942309188@qq.com,谢谢。
回复

使用道具 举报

1532637352 发表于 2018-3-23 22:33 来自手机 | 显示全部楼层
都市郎 发表于 2018-1-26 09:45
这是楼主的程序(人民服务):

/***********************************************************   

感谢老哥
回复

使用道具 举报

zxq。 发表于 2018-3-24 07:44 来自手机 | 显示全部楼层
楼主,我在学您发的那个模块,能给我发一下邮箱么,2623518902@qq.com,谢谢啦
回复

使用道具 举报

寒门痴子 发表于 2018-3-31 21:14 来自手机 | 显示全部楼层
楼主好,非常想学习,可以给资料吗?谢谢
回复

使用道具 举报

寒门痴子 发表于 2018-3-31 21:14 来自手机 | 显示全部楼层
想要app。谢谢
回复

使用道具 举报

lxa0 发表于 2018-4-4 22:16 | 显示全部楼层
app的截图发一个?
回复

使用道具 举报

rookie123 发表于 2018-4-9 01:44 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

799308817 发表于 2018-4-20 13:40 | 显示全部楼层
感谢分享
回复

使用道具 举报

wpq201800 发表于 2018-4-21 06:01 | 显示全部楼层
谢谢楼主,分享实用的东东!!
回复

使用道具 举报

wpq201800 发表于 2018-4-21 06:03 | 显示全部楼层
楼主呀我怎么无法下载呢?说是特殊用户下载的,奇怪的?
回复

使用道具 举报

wu5551 发表于 2018-4-26 13:28 | 显示全部楼层
没有点,不能下载,但还是顶一下
回复

使用道具 举报

xcnyw 发表于 2018-4-30 16:12 | 显示全部楼层
好资料,对我有用,谢谢了
回复

使用道具 举报

雨林林 发表于 2018-7-5 15:26 | 显示全部楼层
问下楼主,用蓝牙做,和用wife做难度差不多吗
回复

使用道具 举报

pyzlzxg 发表于 2018-7-21 12:49 | 显示全部楼层
这个比较实用哦,下来看看
回复

使用道具 举报

1006461468 发表于 2018-8-13 11:20 | 显示全部楼层
好东西,顶了!!!!
回复

使用道具 举报

君莫笑030 发表于 2018-11-19 12:30 | 显示全部楼层
楼主,最近在学51单片机结合蓝牙app控制步电机,有空的话发给我一份资料谢谢,邮箱731716509@qq.com
回复

使用道具 举报

lb688 发表于 2018-11-23 16:26 | 显示全部楼层
学习的好资料。
回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51黑电子论坛单片机.

Powered by 单片机教程网

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