標(biāo)題: 手機(jī)藍(lán)牙與HC-06藍(lán)牙模塊控制單片機(jī)程序加APP [打印本頁(yè)]

作者: 梁光陽(yáng)    時(shí)間: 2017-5-16 21:45
標(biāo)題: 手機(jī)藍(lán)牙與HC-06藍(lán)牙模塊控制單片機(jī)程序加APP
手機(jī)與單片機(jī)通信,本想用手機(jī)控制led,但是做好后想改進(jìn)做點(diǎn)有用的東西就加了繼電器,原理都一樣,提供源碼與APP供大家使用,藍(lán)牙波特率是9600,單片機(jī)波特率11.0592,喜歡的朋友支持一下,改天我去做wife的。


單片機(jī)源程序如下:
  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. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
藍(lán)牙與數(shù)據(jù)不分開.zip (3.87 MB, 下載次數(shù): 154)

作者: 奧斯特洛夫斯基    時(shí)間: 2017-5-17 06:29
好東西,頂了。。。
作者: zha    時(shí)間: 2017-5-18 19:51
樓主能給我做一個(gè)簡(jiǎn)單的藍(lán)牙app嗎,也就是藍(lán)牙發(fā)送幾個(gè)簡(jiǎn)單的數(shù)據(jù),要一個(gè)主菜單和幾個(gè)子菜單,急求
作者: csz9981    時(shí)間: 2017-5-24 21:22
抱歉,只有特定用戶可以下載本站附件
作者: lverniu777    時(shí)間: 2017-5-28 09:06
好東西
作者: 安茲烏爾恭    時(shí)間: 2017-5-28 10:15
用的是什么APP控制的?
作者: asd9988775    時(shí)間: 2017-7-3 14:08
怎么下載
作者: 是非功    時(shí)間: 2017-7-13 19:40
我也是想做一個(gè)這個(gè),怎么下載不了,有更細(xì)的講解嗎
作者: perfectlove    時(shí)間: 2017-7-20 15:33
怎么下載,樓主
作者: ywx163    時(shí)間: 2017-9-6 23:25
好東西,新手無(wú)幣買
作者: zlf小飛    時(shí)間: 2017-11-10 10:50
正在搗鼓藍(lán)牙模塊,感謝分享
作者: 奧斯特洛夫斯基    時(shí)間: 2017-11-10 11:53
怎么解析都是問號(hào)的?
作者: 雨林木木風(fēng)    時(shí)間: 2017-11-30 20:09
老哥這個(gè)怎么下載?特定用戶是什么鬼。
作者: 瘋狂的小吉    時(shí)間: 2017-12-22 16:28
樓主,我最近在弄藍(lán)牙APP與藍(lán)牙模塊通信這一方面,能不能分享下你的藍(lán)牙APP源碼學(xué)習(xí)學(xué)習(xí)
作者: 水表    時(shí)間: 2017-12-24 12:02
樓主能把a(bǔ)pp發(fā)給我一下嗎

作者: qq1105424012    時(shí)間: 2017-12-25 15:06
好東西 學(xué)習(xí)學(xué)習(xí)
作者: 都市郎    時(shí)間: 2018-1-26 09:45
這是樓主的程序:

/***********************************************************   
STC90C51RD+與HC-06藍(lán)牙連線:  
  
         藍(lán)牙  STC90C51RD+  
  
         RXD    TXD  
  
         TXD    RXD  
  
其他連線:  
           P2.0、P2.1、P2.3分別接一個(gè)指示燈  
                  
注意:若單片機(jī)TXD(P3.1)無(wú)上拉能力,必須在P3.1端接上拉電阻。本次測(cè)試需要接上拉電阻!   
  
       手機(jī)采用藍(lán)牙串口通信助手  
  
       最后已改用Android自編藍(lán)牙通信軟件
            
                                        By 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);         //單字節(jié)發(fā)送函數(shù)   
void ctrl();  //接收處理函數(shù)   

void main()
{
                init();
          while(1)
          {         
                  if(RI==1)    //是否有數(shù)據(jù)到來   
                  {
                   RI = 0;
                  tmp = SBUF;  //暫存接收到的數(shù)據(jù)  
                                  ctrl();
                                  }      
          }
}

void init()          //串口初始化  
{
        TMOD=0x20;        //定時(shí)器1工作于方式2,8位自動(dòng)重載模式,用于產(chǎn)生波特率
        PCON=0x80;         //波特率不倍增      

        TH1=0xfa;        //波特率9600 (本次測(cè)試采用晶振為11.0592)        
        TL1=0xfa;


        
        TR1=1;         //定時(shí)器1開始工作,產(chǎn)生波特率  

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

      led1=1;                 //初始化設(shè)置3個(gè)指示燈全滅     
                  led2=1;
                  led3=1;
}
   
void send(unsigned char a)         //單字節(jié)數(shù)據(jù)發(fā)送   
{                                                         //注意:若單片機(jī)TXD(P3.1)無(wú)上拉能力,必須在P3.1端接上拉電阻。本次測(cè)試需要接上拉電阻     
        TI=0;        
        SBUF=a;
        while(TI==0);
        TI=0;

}

void ctrl()        //接收處理函數(shù)                       
{
                                    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    時(shí)間: 2018-1-27 14:06
APP有提供原代碼嗎,發(fā)上來學(xué)習(xí)一下
作者: 館長(zhǎng)    時(shí)間: 2018-2-7 16:32
請(qǐng)問下權(quán)限70是什么意思???
作者: huazi001    時(shí)間: 2018-3-2 10:49
好東西,頂了。。!
作者: rrrwe    時(shí)間: 2018-3-15 14:46
頂了,剛?cè)腴T,學(xué)習(xí)這個(gè),很有幫助,該怎么下載?
作者: 不忘初心wen    時(shí)間: 2018-3-21 14:50
我現(xiàn)在在弄藍(lán)牙控制小燈的程序卡了藍(lán)牙軟件上,樓主有空的話可以發(fā)我的郵箱上1942309188@qq.com,謝謝。
作者: 1532637352    時(shí)間: 2018-3-23 22:33
都市郎 發(fā)表于 2018-1-26 09:45
這是樓主的程序(人民服務(wù)):

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

感謝老哥
作者: zxq。    時(shí)間: 2018-3-24 07:44
樓主,我在學(xué)您發(fā)的那個(gè)模塊,能給我發(fā)一下郵箱么,2623518902@qq.com,謝謝啦
作者: 寒門癡子    時(shí)間: 2018-3-31 21:14
樓主好,非常想學(xué)習(xí),可以給資料嗎?謝謝
作者: 寒門癡子    時(shí)間: 2018-3-31 21:14
想要app。謝謝
作者: lxa0    時(shí)間: 2018-4-4 22:16
app的截圖發(fā)一個(gè)?
作者: rookie123    時(shí)間: 2018-4-9 01:44
好資料,51黑有你更精彩!!!
作者: 799308817    時(shí)間: 2018-4-20 13:40
感謝分享
作者: wpq201800    時(shí)間: 2018-4-21 06:01
謝謝樓主,分享實(shí)用的東東。
作者: wpq201800    時(shí)間: 2018-4-21 06:03
樓主呀我怎么無(wú)法下載呢?說是特殊用戶下載的,奇怪的?
作者: wu5551    時(shí)間: 2018-4-26 13:28
沒有點(diǎn),不能下載,但還是頂一下
作者: xcnyw    時(shí)間: 2018-4-30 16:12
好資料,對(duì)我有用,謝謝了
作者: 雨林林    時(shí)間: 2018-7-5 15:26
問下樓主,用藍(lán)牙做,和用wife做難度差不多嗎
作者: pyzlzxg    時(shí)間: 2018-7-21 12:49
這個(gè)比較實(shí)用哦,下來看看
作者: 1006461468    時(shí)間: 2018-8-13 11:20
好東西,頂了。。!
作者: 君莫笑030    時(shí)間: 2018-11-19 12:30
樓主,最近在學(xué)51單片機(jī)結(jié)合藍(lán)牙app控制步電機(jī),有空的話發(fā)給我一份資料謝謝,郵箱731716509@qq.com
作者: lb688    時(shí)間: 2018-11-23 16:26
學(xué)習(xí)的好資料。
作者: 無(wú)私的人    時(shí)間: 2018-11-25 21:12
都市郎 發(fā)表于 2018-1-26 09:45
這是樓主的程序(人民服務(wù)):

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

好人一生平安
作者: 123陳    時(shí)間: 2019-1-12 15:23
想問一下  在網(wǎng)上買一個(gè)帶藍(lán)牙模塊的單片機(jī)    自己寫一個(gè)藍(lán)牙app    容易嗎
作者: ndjlwy    時(shí)間: 2019-1-23 00:26
正式我需要的學(xué)習(xí)資料,謝謝樓主!
作者: zql111000    時(shí)間: 2019-6-23 10:45
這段程序看上去有一點(diǎn)迷發(fā)送帶形參“a” a賦給SBUF; switch (tmp)   要讀取的是SBUF寄存器里面的led1,2,3
作者: SSSVVV9988    時(shí)間: 2019-10-21 18:49
怎么不能下載?
作者: zxsmm    時(shí)間: 2020-3-14 23:53
怎么才能下載呢?
作者: rayin    時(shí)間: 2020-11-15 16:28
不錯(cuò),值得學(xué)習(xí)。51hei有你更精彩!
作者: SJ-123    時(shí)間: 2022-11-8 09:25
也是醉了,既然來分享又何必藏頭露尾,這類帖還是讓它消散掉吧,害人!

作者: lhzw2001    時(shí)間: 2022-11-8 09:48
app有沒有源碼,方便更改
作者: fj51hei    時(shí)間: 2022-11-8 10:26
好東西,頂了。。!
作者: xupingbb88    時(shí)間: 2022-11-19 21:57
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1