欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機藍牙通信源碼 [打印本頁]

作者: sabers    時間: 2018-6-14 14:40
標題: 51單片機藍牙通信源碼
51單片機藍牙通信源碼


單片機源程序如下:
  1. /*********************************************************************************
  2. * 【作    者】: 清翔電子:03
  3. * 【實驗平臺】: QX-MINI51 單片機開發板
  4. * 【外部晶振】: 11.0592mhz       
  5. * 【主控芯片】: STC89C52
  6. * 【編譯環境】: Keil μVisio3       
  7. * 【程序功能】: 藍牙數碼管顯示加LED指示燈                                                                                           
  8. * 【使用說明】:

  9. STC89c52與HC-06藍牙連線:
  10.         RXD    TXD
  11.         TXD    RXD
  12.         藍牙連接方式請參照本文件下的圖片
  13. 手機采用藍牙串口通信助手
  14. 最后已改用Android自編藍牙通信軟件
  15. 藍牙模塊安裝方法請參照本文件夾下的圖片01
  16. **********************************************************************************/

  17. #include <reg52.h>
  18. #include <intrins.h>
  19. #define uchar unsigned char
  20. #define uint unsigned int
  21. uchar tmp;
  22. uint c=0;
  23. sbit led1=P1^0;                    //指示燈0
  24. sbit led2=P1^1;                        //指示燈1
  25. sbit led3=P1^2;                        //指示燈3
  26. sbit led7=P1^7;                        //指示燈3

  27. sbit P2_0 = P2^0;
  28. sbit P2_1 = P2^1;
  29. sbit P2_2 = P2^2;
  30. sbit P2_3 = P2^3;

  31. uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
  32.                         0xf8,0x80,0x90};

  33. void delay1(uint z)//1ms
  34. {
  35.         uint x,y;
  36.         for(x=z;x>0;x--)
  37.                 for(y=120;y>0;y--);       
  38. }
  39. void display(uchar value)
  40. {
  41.     uchar shu1,value1;
  42.         value1=value-48;
  43.         //bai=value1/16;
  44.         shu1=value1%16;


  45.    P0=table[shu1];
  46.    P2_0 = 0;
  47.    delay1(1);
  48.    P2_0 = 1;
  49. }       
  50.           
  51. void init();   //串口初始化
  52. void send(unsigned char a);        //單字節發送函數
  53. void ctrl(); //接收處理函數

  54. void main()
  55. {
  56.                 init();
  57.           while(1)
  58.           {         
  59.                   display(SBUF);
  60.                                   if(RI==1)                     // 是否有數據到來
  61.                   {
  62.                    RI = 0;
  63.                                   ctrl();
  64.                                   }      
  65.           }
  66. }

  67. void init()        //串口初始化
  68. {
  69.                   ES=0;                                                                  //關中斷
  70.                   SCON = 0x50;                        // REN=1允許串行接受狀態,串口工作模式1,
  71.                                                                                           //10位UART(1位起始位,8位數據位,1位停止位,無奇偶校驗),波特率可變

  72.                   TMOD = 0x20;                        // 定時器1工作于方式2,8位自動重載模式, 用于產生波特率
  73.           TH1=TL1=0xFD;                       // 波特率9600 (本次測試采用晶振為11.0592)
  74.          
  75.           PCON &= 0x7f;                       // 波特率不倍增
  76.           TR1 = 1;                                                          //定時器1開始工作,產生波特率
  77.                                                                                           //發送標志位置0
  78.                   TI=0;                                                                  //接收標志位置0
  79.                   RI=0;
  80.                   
  81.                   //EA=0;
  82.               ES=1;
  83. }
  84.    
  85. void send(unsigned char a)        //單字節數據發送
  86. {                                                        //注意:若單片機TXD(P3.1)無上拉能力,必須在P3.1端接上拉電阻。本次測試需要接上拉電阻
  87.         TI=0;       
  88.         SBUF=a;
  89.         while(TI==0);
  90.         TI=0;

  91.         if(c%2)                                        //發送指示燈標志,每接收一次,此燈亮滅交替
  92.          led7=1;
  93.         else
  94.          led7=0;
  95.         c++;
  96. }

  97. void ctrl()                            //接收處理函數
  98. {
  99.                                     switch(tmp)
  100.                                   {
  101.                                           case '1':
  102.                                                 led1=1;                                   //收到字符1,指示燈0滅
  103.                                                 send(tmp);
  104.                                                 break;                                       
  105.                                         case '2':                                         //收到字符2,指示燈1滅
  106.                                                  led2=1;
  107.                                                  send(tmp);
  108.                                                  break;
  109.                                         case '3':                                    //收到字符3,指示燈0、1亮
  110.                                                  led1=0;
  111.                                                  led2=0;
  112.                                                  send(tmp);
  113.                                                  break;
  114.                                         case '4':                                        //收到字符4,指示燈0、1滅
  115.                                                   led1=1;
  116.                                                   led2=1;
  117.                                                   send(tmp);
  118.                                                   break;
  119.                                         case '5':                                        //收到字符5,指示燈3亮
  120.                                                 led3=0;
  121.                                                 send(tmp);
  122.                                                 break;
  123.                                         default:                   //其他,燈全滅
  124.                                                   led1=1;
  125.                                                   led2=1;
  126.                                                   led3=1;
  127.                                                   send(tmp);
  128.                                   }
  129. }
復制代碼

所有資料51hei提供下載:

藍牙無線通信.rar (2.64 MB, 下載次數: 193)



作者: xyx777    時間: 2019-7-15 11:07
請問一下,你這個手機藍牙app是怎么做出來的?
作者: 18773213120    時間: 2019-10-19 14:18
想知道,是不是省略了把SBUF的值賦給tem呀

作者: Realiu    時間: 2020-6-13 22:54
感謝樓主分享
作者: Realiu    時間: 2020-6-15 10:19
感謝樓主分享
作者: wql123123    時間: 2020-10-7 10:41
為啥我都就只有指示燈亮
作者: lazygoat    時間: 2022-2-12 22:28
這個app哪里來的啊




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