找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 39900|回復(fù): 48
打印 上一主題 下一主題
收起左側(cè)

手機藍牙與HC-06藍牙模塊控制單片機程序加APP

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:198608 發(fā)表于 2017-5-16 21:45 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
手機與單片機通信,本想用手機控制led,但是做好后想改進做點有用的東西就加了繼電器,原理都一樣,提供源碼與APP供大家使用,藍牙波特率是9600,單片機波特率11.0592,喜歡的朋友支持一下,改天我去做wife的。


單片機源程序如下:
  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黑下載附件…………
復(fù)制代碼

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

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏20 分享淘帖 頂3 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:105804 發(fā)表于 2017-5-17 06:29 | 只看該作者
好東西,頂了。。!
回復(fù)

使用道具 舉報

板凳
ID:169944 發(fā)表于 2017-5-18 19:51 | 只看該作者
樓主能給我做一個簡單的藍牙app嗎,也就是藍牙發(fā)送幾個簡單的數(shù)據(jù),要一個主菜單和幾個子菜單,急求
回復(fù)

使用道具 舉報

地板
ID:161933 發(fā)表于 2017-5-24 21:22 | 只看該作者
抱歉,只有特定用戶可以下載本站附件
回復(fù)

使用道具 舉報

5#
ID:205552 發(fā)表于 2017-5-28 09:06 | 只看該作者
好東西
回復(fù)

使用道具 舉報

6#
ID:203640 發(fā)表于 2017-5-28 10:15 | 只看該作者
用的是什么APP控制的?
回復(fù)

使用道具 舉報

7#
ID:208322 發(fā)表于 2017-7-3 14:08 | 只看該作者
怎么下載
回復(fù)

使用道具 舉報

8#
ID:219489 發(fā)表于 2017-7-13 19:40 | 只看該作者
我也是想做一個這個,怎么下載不了,有更細的講解嗎
回復(fù)

使用道具 舉報

9#
ID:220130 發(fā)表于 2017-7-20 15:33 | 只看該作者
怎么下載,樓主
回復(fù)

使用道具 舉報

10#
ID:231214 發(fā)表于 2017-9-6 23:25 | 只看該作者
好東西,新手無幣買
回復(fù)

使用道具 舉報

11#
ID:60650 發(fā)表于 2017-11-10 10:50 | 只看該作者
正在搗鼓藍牙模塊,感謝分享
回復(fù)

使用道具 舉報

12#
ID:105804 發(fā)表于 2017-11-10 11:53 | 只看該作者
怎么解析都是問號的?
回復(fù)

使用道具 舉報

13#
ID:255476 發(fā)表于 2017-11-30 20:09 | 只看該作者
老哥這個怎么下載。刻囟ㄓ脩羰鞘裁垂。
回復(fù)

使用道具 舉報

14#
ID:220156 發(fā)表于 2017-12-22 16:28 | 只看該作者
樓主,我最近在弄藍牙APP與藍牙模塊通信這一方面,能不能分享下你的藍牙APP源碼學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報

15#
ID:265963 發(fā)表于 2017-12-24 12:02 | 只看該作者
樓主能把app發(fā)給我一下嗎
回復(fù)

使用道具 舉報

16#
ID:84283 發(fā)表于 2017-12-25 15:06 | 只看該作者
好東西 學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報

17#
ID:272625 發(fā)表于 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  
***********************************************************/
#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;        //定時器1工作于方式2,8位自動重載模式,用于產(chǎn)生波特率
        PCON=0x80;         //波特率不倍增      

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


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

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

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

使用道具 舉報

18#
ID:65956 發(fā)表于 2018-1-27 14:06 | 只看該作者
APP有提供原代碼嗎,發(fā)上來學(xué)習(xí)一下
回復(fù)

使用道具 舉報

19#
ID:161497 發(fā)表于 2018-2-7 16:32 | 只看該作者
請問下權(quán)限70是什么意思???
回復(fù)

使用道具 舉報

20#
ID:286305 發(fā)表于 2018-3-2 10:49 | 只看該作者
好東西,頂了。。。
回復(fù)

使用道具 舉報

21#
ID:292294 發(fā)表于 2018-3-15 14:46 | 只看該作者
頂了,剛?cè)腴T,學(xué)習(xí)這個,很有幫助,該怎么下載?
回復(fù)

使用道具 舉報

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

使用道具 舉報

23#
ID:295272 發(fā)表于 2018-3-23 22:33 來自觸屏版 | 只看該作者
都市郎 發(fā)表于 2018-1-26 09:45
這是樓主的程序(人民服務(wù)):

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

感謝老哥
回復(fù)

使用道具 舉報

24#
ID:293273 發(fā)表于 2018-3-24 07:44 來自觸屏版 | 只看該作者
樓主,我在學(xué)您發(fā)的那個模塊,能給我發(fā)一下郵箱么,2623518902@qq.com,謝謝啦
回復(fù)

使用道具 舉報

25#
ID:99548 發(fā)表于 2018-3-31 21:14 來自觸屏版 | 只看該作者
樓主好,非常想學(xué)習(xí),可以給資料嗎?謝謝
回復(fù)

使用道具 舉報

26#
ID:99548 發(fā)表于 2018-3-31 21:14 來自觸屏版 | 只看該作者
想要app。謝謝
回復(fù)

使用道具 舉報

27#
ID:74784 發(fā)表于 2018-4-4 22:16 | 只看該作者
app的截圖發(fā)一個?
回復(fù)

使用道具 舉報

28#
ID:286352 發(fā)表于 2018-4-9 01:44 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報

29#
ID:193354 發(fā)表于 2018-4-20 13:40 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報

30#
ID:293351 發(fā)表于 2018-4-21 06:01 | 只看該作者
謝謝樓主,分享實用的東東!!
回復(fù)

使用道具 舉報

31#
ID:293351 發(fā)表于 2018-4-21 06:03 | 只看該作者
樓主呀我怎么無法下載呢?說是特殊用戶下載的,奇怪的?
回復(fù)

使用道具 舉報

32#
ID:316938 發(fā)表于 2018-4-26 13:28 | 只看該作者
沒有點,不能下載,但還是頂一下
回復(fù)

使用道具 舉報

33#
ID:9987 發(fā)表于 2018-4-30 16:12 | 只看該作者
好資料,對我有用,謝謝了
回復(fù)

使用道具 舉報

34#
ID:362413 發(fā)表于 2018-7-5 15:26 | 只看該作者
問下樓主,用藍牙做,和用wife做難度差不多嗎
回復(fù)

使用道具 舉報

35#
ID:272156 發(fā)表于 2018-7-21 12:49 | 只看該作者
這個比較實用哦,下來看看
回復(fù)

使用道具 舉報

36#
ID:385682 發(fā)表于 2018-8-13 11:20 | 只看該作者
好東西,頂了。。!
回復(fù)

使用道具 舉報

37#
ID:400210 發(fā)表于 2018-11-19 12:30 | 只看該作者
樓主,最近在學(xué)51單片機結(jié)合藍牙app控制步電機,有空的話發(fā)給我一份資料謝謝,郵箱731716509@qq.com
回復(fù)

使用道具 舉報

38#
ID:74143 發(fā)表于 2018-11-23 16:26 | 只看該作者
學(xué)習(xí)的好資料。
回復(fù)

使用道具 舉報

39#
ID:428947 發(fā)表于 2018-11-25 21:12 來自觸屏版 | 只看該作者
都市郎 發(fā)表于 2018-1-26 09:45
這是樓主的程序(人民服務(wù)):

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

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

使用道具 舉報

40#
ID:466971 發(fā)表于 2019-1-12 15:23 | 只看該作者
想問一下  在網(wǎng)上買一個帶藍牙模塊的單片機    自己寫一個藍牙app    容易嗎
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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