找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 39499|回復(fù): 48
收起左側(cè)

手機(jī)藍(lán)牙與HC-06藍(lán)牙模塊控制單片機(jī)程序加APP

  [復(fù)制鏈接]
ID:198608 發(fā)表于 2017-5-16 21:45 | 顯示全部樓層 |閱讀模式
手機(jī)與單片機(jī)通信,本想用手機(jī)控制led,但是做好后想改進(jìn)做點(diǎn)有用的東西就加了繼電器,原理都一樣,提供源碼與APP供大家使用,藍(lán)牙波特率是9600,單片機(jī)波特率11.0592,喜歡的朋友支持一下,改天我去做wife的。
psb (1).jpg 0.png

單片機(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ù)不分開(kāi).zip (3.87 MB, 下載次數(shù): 154)

評(píng)分

參與人數(shù) 2黑幣 +33 收起 理由
wmc51 + 30
qwerty0001 + 3

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:105804 發(fā)表于 2017-5-17 06:29 | 顯示全部樓層
好東西,頂了。。!
回復(fù)

使用道具 舉報(bào)

ID:169944 發(fā)表于 2017-5-18 19:51 | 顯示全部樓層
樓主能給我做一個(gè)簡(jiǎn)單的藍(lán)牙app嗎,也就是藍(lán)牙發(fā)送幾個(gè)簡(jiǎn)單的數(shù)據(jù),要一個(gè)主菜單和幾個(gè)子菜單,急求
回復(fù)

使用道具 舉報(bào)

ID:161933 發(fā)表于 2017-5-24 21:22 | 顯示全部樓層
抱歉,只有特定用戶可以下載本站附件
回復(fù)

使用道具 舉報(bào)

ID:205552 發(fā)表于 2017-5-28 09:06 | 顯示全部樓層
好東西
回復(fù)

使用道具 舉報(bào)

ID:203640 發(fā)表于 2017-5-28 10:15 | 顯示全部樓層
用的是什么APP控制的?
回復(fù)

使用道具 舉報(bào)

ID:208322 發(fā)表于 2017-7-3 14:08 | 顯示全部樓層
怎么下載
回復(fù)

使用道具 舉報(bào)

ID:219489 發(fā)表于 2017-7-13 19:40 | 顯示全部樓層
我也是想做一個(gè)這個(gè),怎么下載不了,有更細(xì)的講解嗎
回復(fù)

使用道具 舉報(bào)

ID:220130 發(fā)表于 2017-7-20 15:33 | 顯示全部樓層
怎么下載,樓主
回復(fù)

使用道具 舉報(bào)

ID:231214 發(fā)表于 2017-9-6 23:25 | 顯示全部樓層
好東西,新手無(wú)幣買(mǎi)
回復(fù)

使用道具 舉報(bào)

ID:60650 發(fā)表于 2017-11-10 10:50 | 顯示全部樓層
正在搗鼓藍(lán)牙模塊,感謝分享
回復(fù)

使用道具 舉報(bào)

ID:105804 發(fā)表于 2017-11-10 11:53 | 顯示全部樓層
怎么解析都是問(wèn)號(hào)的?
回復(fù)

使用道具 舉報(bào)

ID:255476 發(fā)表于 2017-11-30 20:09 | 顯示全部樓層
老哥這個(gè)怎么下載?特定用戶是什么鬼。
回復(fù)

使用道具 舉報(bào)

ID:220156 發(fā)表于 2017-12-22 16:28 | 顯示全部樓層
樓主,我最近在弄藍(lán)牙APP與藍(lán)牙模塊通信這一方面,能不能分享下你的藍(lán)牙APP源碼學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:265963 發(fā)表于 2017-12-24 12:02 | 顯示全部樓層
樓主能把a(bǔ)pp發(fā)給我一下嗎
回復(fù)

使用道具 舉報(bào)

ID:84283 發(fā)表于 2017-12-25 15:06 | 顯示全部樓層
好東西 學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:272625 發(fā)表于 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ù)到來(lái)   
                  {
                   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開(kāi)始工作,產(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);
                                  }
}



回復(fù)

使用道具 舉報(bào)

ID:65956 發(fā)表于 2018-1-27 14:06 | 顯示全部樓層
APP有提供原代碼嗎,發(fā)上來(lái)學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:161497 發(fā)表于 2018-2-7 16:32 | 顯示全部樓層
請(qǐng)問(wèn)下權(quán)限70是什么意思???
回復(fù)

使用道具 舉報(bào)

ID:286305 發(fā)表于 2018-3-2 10:49 | 顯示全部樓層
好東西,頂了。。。
回復(fù)

使用道具 舉報(bào)

ID:292294 發(fā)表于 2018-3-15 14:46 | 顯示全部樓層
頂了,剛?cè)腴T(mén),學(xué)習(xí)這個(gè),很有幫助,該怎么下載?
回復(fù)

使用道具 舉報(bào)

ID:294844 發(fā)表于 2018-3-21 14:50 | 顯示全部樓層
我現(xiàn)在在弄藍(lán)牙控制小燈的程序卡了藍(lán)牙軟件上,樓主有空的話可以發(fā)我的郵箱上1942309188@qq.com,謝謝。
回復(fù)

使用道具 舉報(bào)

ID:295272 發(fā)表于 2018-3-23 22:33 來(lái)自手機(jī) | 顯示全部樓層
都市郎 發(fā)表于 2018-1-26 09:45
這是樓主的程序(人民服務(wù)):

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

感謝老哥
回復(fù)

使用道具 舉報(bào)

ID:293273 發(fā)表于 2018-3-24 07:44 來(lái)自手機(jī) | 顯示全部樓層
樓主,我在學(xué)您發(fā)的那個(gè)模塊,能給我發(fā)一下郵箱么,2623518902@qq.com,謝謝啦
回復(fù)

使用道具 舉報(bào)

ID:99548 發(fā)表于 2018-3-31 21:14 來(lái)自手機(jī) | 顯示全部樓層
樓主好,非常想學(xué)習(xí),可以給資料嗎?謝謝
回復(fù)

使用道具 舉報(bào)

ID:99548 發(fā)表于 2018-3-31 21:14 來(lái)自手機(jī) | 顯示全部樓層
想要app。謝謝
回復(fù)

使用道具 舉報(bào)

ID:74784 發(fā)表于 2018-4-4 22:16 | 顯示全部樓層
app的截圖發(fā)一個(gè)?
回復(fù)

使用道具 舉報(bào)

ID:286352 發(fā)表于 2018-4-9 01:44 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

ID:193354 發(fā)表于 2018-4-20 13:40 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:293351 發(fā)表于 2018-4-21 06:01 | 顯示全部樓層
謝謝樓主,分享實(shí)用的東東。
回復(fù)

使用道具 舉報(bào)

ID:293351 發(fā)表于 2018-4-21 06:03 | 顯示全部樓層
樓主呀我怎么無(wú)法下載呢?說(shuō)是特殊用戶下載的,奇怪的?
回復(fù)

使用道具 舉報(bào)

ID:316938 發(fā)表于 2018-4-26 13:28 | 顯示全部樓層
沒(méi)有點(diǎn),不能下載,但還是頂一下
回復(fù)

使用道具 舉報(bào)

ID:9987 發(fā)表于 2018-4-30 16:12 | 顯示全部樓層
好資料,對(duì)我有用,謝謝了
回復(fù)

使用道具 舉報(bào)

ID:362413 發(fā)表于 2018-7-5 15:26 | 顯示全部樓層
問(wèn)下樓主,用藍(lán)牙做,和用wife做難度差不多嗎
回復(fù)

使用道具 舉報(bào)

ID:272156 發(fā)表于 2018-7-21 12:49 | 顯示全部樓層
這個(gè)比較實(shí)用哦,下來(lái)看看
回復(fù)

使用道具 舉報(bào)

ID:385682 發(fā)表于 2018-8-13 11:20 | 顯示全部樓層
好東西,頂了。。!
回復(fù)

使用道具 舉報(bào)

ID:400210 發(fā)表于 2018-11-19 12:30 | 顯示全部樓層
樓主,最近在學(xué)51單片機(jī)結(jié)合藍(lán)牙app控制步電機(jī),有空的話發(fā)給我一份資料謝謝,郵箱731716509@qq.com
回復(fù)

使用道具 舉報(bào)

ID:74143 發(fā)表于 2018-11-23 16:26 | 顯示全部樓層
學(xué)習(xí)的好資料。
回復(fù)

使用道具 舉報(bào)

ID:428947 發(fā)表于 2018-11-25 21:12 來(lái)自手機(jī) | 顯示全部樓層
都市郎 發(fā)表于 2018-1-26 09:45
這是樓主的程序(人民服務(wù)):

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

好人一生平安
回復(fù)

使用道具 舉報(bào)

ID:466971 發(fā)表于 2019-1-12 15:23 | 顯示全部樓層
想問(wèn)一下  在網(wǎng)上買(mǎi)一個(gè)帶藍(lán)牙模塊的單片機(jī)    自己寫(xiě)一個(gè)藍(lán)牙app    容易嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表