久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 藍牙溫度計 安卓app源碼和單片機源碼都有 還帶溫度監測系統原理圖 [打印本頁]

作者: 123456nba    時間: 2017-5-4 23:11
標題: 藍牙溫度計 安卓app源碼和單片機源碼都有 還帶溫度監測系統原理圖
基于51單片機與藍牙Android溫度監測系統,提供安卓app的源碼和下位機單片機端的代碼

下面是原理圖:



單片機源碼如下:

  1. /*****************************************************************
  2. * 此部分為主程序
  3. *控制數碼管的顯示 以及定義發向串口的函數
  4. *!!!
  5. *此程序只能與上位機程序配合使用,或者修改相應上位機代碼
  6. ******************************************************************/
  7. #include <reg52.H>

  8. extern GetTemp();                                                                           //聲明引用外部函數
  9. extern unsigned int  idata Temperature;                      // 聲明引用外部變量
  10.                                                                  
  11. extern STC_send_bluetooth(unsigned char a);                          //聲明外部函數,與串口相關
  12. extern Serial_port_init();
  13. extern ctrl();

  14. extern unsigned char tmp;
  15. extern void Init18b20(void);
  16. extern bit  flag;//DS18B20是否損壞標志位,1為完好


  17. void send();//處理18B20發來的溫度值,將各個位分別存儲,并控制發向串口
  18. void delay(unsigned int i);//延時程序

  19. //138的C、B、A端 用于數碼管的位選
  20. sbit    LS138A=P2^2;       //管腳定義
  21. sbit    LS138B=P2^3;
  22. sbit    LS138C=P2^4;
  23. sbit    PowerDown=P2^1;           //若18B20損壞,指示燈滅





  24. //此表為 LED 的字模, 共陰數碼管 0-9  -
  25. unsigned char code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
  26. unsigned long  LedOut[3],LedNumVal;

  27. unsigned char num[3];
  28. unsigned char end_char;                         //定義串口發送結束符


  29. unsigned char ARQFlag=0;//請求重發標志位,若為0,表示不重發
  30. unsigned char AutoSendFlag=0;//為了減小硬件帶來的誤差,單片機用于重新發送給上位機的標志位

  31. /********************************
  32. *判斷18B20是否損壞或未連接
  33. *若損壞或未連接,發給上位機FF作為提示
  34. *************************************/
  35. bit Is_18B20()
  36. {
  37.         Init18b20();
  38.         if(!flag)
  39.         {
  40.           STC_send_bluetooth(0x46);        //字符F

  41.           delay(500);                                         //發送完一個字符加一定的延時

  42.           STC_send_bluetooth(0x46);

  43.           delay(500);

  44.           STC_send_bluetooth(0x43);                  //字符C的ASCII碼,作為此次發送完畢的結束標?
  45.          
  46.           delay(5000);                                          //稍微延長延時,等待發送完畢

  47.           PowerDown=1;                                          //指示燈滅

  48.           PCON |= 0x02;                                          //單片機進入停機模式,此時內部晶振停振,只能靠外部INT0~3引腳喚醒或復位

  49.           return 0;
  50.         }
  51.         return 1;
  52. }

  53. /********************************
  54. *定時器中斷相關初始化
  55. *********************************/
  56. void system_Init()
  57. {
  58.         TMOD&=0xF0;
  59.     TMOD|= 0x01;
  60.     TH0 = 0xD8;    //10ms
  61.     TL0 = 0xF0;               
  62.     TR0  = 1;
  63.         ET0=1;
  64.         EA=1;

  65. }

  66. /************************************************************************************
  67. *主函數,用于定時器中斷,波特率發生器初始化,處理串口數據,以及數碼管的顯示
  68. ************************************************************************************/
  69. void main()
  70. {
  71.         unsigned char i;
  72.         end_char='C';
  73.         Serial_port_init();
  74.     system_Init();
  75.         //delay(1050);         
  76. //        1000           19.57ms
  77. //800 15.67
  78. //1200 23.49
  79. //1100 21.52
  80. //1050 20.55
  81. if(Is_18B20())                  //若18B20沒有損壞,則繼續執行
  82. {
  83.     while(1)
  84.    {
  85.                    if(RI==1)                     // 是否有數據到來
  86.         {
  87.            RI = 0;
  88.            tmp = SBUF;                   // 暫存接收到的數據
  89.                    ctrl();                                                 //根據接收的字符做出相應的處理
  90.                 }
  91.           GetTemp();                                                 //獲取溫度

  92.              /********以下將讀18b20的數據送到LED數碼管顯示*************/

  93.      for(i=0; i<2; i++)  
  94.           {               
  95.                  P0 = LedOut[i] ;
  96.                                             
  97.                 switch(i)                                          
  98.          {                      //138譯碼                    
  99.             case 0:LS138C=0;LS138B=0;LS138A=0;   break;
  100.             case 1:LS138C=0;LS138B=0;LS138A=1;   break;  //001B 表示位選第一個數碼管
  101.                         //case 2:LS138C=0;LS138B=1;LS138A=0;   break;
  102.          }
  103.                  
  104.                 delay(100);
  105.           }
  106.          
  107.           P0 = 0;  
  108.   
  109.     }
  110. }
  111. }

  112. /**********************************************
  113. *延時程序
  114. **********************************************/
  115. void delay(unsigned int i)
  116. {
  117.     char j;
  118.     for(i; i > 0; i--)
  119.         for(j = 200; j > 0; j--);
  120. }

  121. /******************************************
  122. *單片機串口發送函數
  123. ******************************************/
  124. void send()
  125. {
  126.         if(AutoSendFlag==20)                                  //當單片機有20秒沒有發送數據給上位機時,發送一次數據,防止硬件誤差
  127.         {
  128.                 AutoSendFlag='s';
  129.         }        
  130.          if((LedNumVal)==(Temperature) && ARQFlag==0&&AutoSendFlag!='s')  // 溫度值與上次相等并且不要求重發,則不執行send()發送到串口
  131.          {
  132.                    return;        
  133.          }
  134.         else
  135.          {
  136.           LedNumVal=Temperature;      //把實際溫度送到LedNumVal變量中

  137.          num[0]=        LedNumVal%100/10;
  138.          num[1]=        LedNumVal%10;

  139.          /* //若需要小數后一位的數據
  140.          num[0]=        (LedNumVal/100)%10;        //十位
  141.          num[1]=        (LedNumVal/10)%10;        //個位
  142.          num[2]=     LedNumVal%10;                //小數點后一位
  143.          */
  144.          delay(1050);

  145.          STC_send_bluetooth(num[0]+0x30);

  146.          delay(1050);                                         //發送完一個字符加一定的延時

  147.          STC_send_bluetooth(num[1]+0x30);

  148.          delay(1050);                                         //15.67ms

  149.          STC_send_bluetooth(0x43);                  //字符C的ASCII碼,作為此次發送完畢的結束標志

  150.          delay(1050);

  151.      LedOut[0]=Disp_Tab[num[0]];         //溫度的十位
  152.      LedOut[1]=Disp_Tab[num[1]];    //溫度的個位
  153.          //LedOut[2]=Disp_Tab[num[2]];         //溫度的小數后一位


  154.          if(ARQFlag)                                  //若是上位機請求重發的,此時ARQFlag為1,需要手動置0
  155.          

  156. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料打包下載:
Android的溫度采集系統源碼.zip (1.75 MB, 下載次數: 434)



作者: q378701085    時間: 2017-5-9 00:23
正需要~!  謝謝分享
作者: rich8086    時間: 2017-5-17 20:21
我正在做個測轉速的,通過霍爾3144傳感器獲取數據在1602A上展示,同時傳送給Android端APP
作者: ABLgle    時間: 2017-9-29 22:29
謝謝樓主分享!!!!
作者: e-xp    時間: 2017-10-10 23:21
好資料
作者: ABLgle    時間: 2017-10-11 20:43
謝謝樓主分享,學習勒~~~
作者: 糖豆森    時間: 2017-11-16 20:17
辛苦了辛苦了
作者: changle11    時間: 2017-11-17 10:07
看下app碼
作者: 18907733004    時間: 2017-11-28 22:37
請問打開app 與HC-06怎么連接呢      一直連不上的
作者: 練氏    時間: 2017-11-29 10:43
兄弟  謝謝分享,還帶安卓源碼?是用易安卓寫的???
作者: 練氏    時間: 2017-11-29 10:46
問題是我不知道你的安卓代碼怎么用啊  老鐵
作者: elementalmas    時間: 2018-1-2 16:18
沒有黑幣 可以發一份到986394529@qq.com
作者: elementalmas    時間: 2018-1-2 16:50
非常感謝
作者: happy.    時間: 2018-1-2 16:51
設計不錯,很好 值得學習
作者: elementalmas    時間: 2018-1-4 17:18
請問有pcb的庫嗎?
作者: qsc518    時間: 2018-1-17 15:45
剛好需要這個   謝謝樓主
作者: 12354785    時間: 2018-3-19 15:20
qsc518 發表于 2018-1-17 15:45
剛好需要這個   謝謝樓主

多交流問題
作者: 12354785    時間: 2018-3-19 15:21
elementalmas 發表于 2018-1-4 17:18
請問有pcb的庫嗎?

百度有很多
作者: junerver    時間: 2018-3-27 11:45
想看安卓源代碼是怎么寫的
作者: 152101102    時間: 2018-4-20 10:02
想看安卓源代碼是怎么寫的 發一份1216754090@qq.com
作者: hq1119418168    時間: 2018-5-9 17:10
好厲害
作者: wxc19960311    時間: 2018-5-10 16:44
樓主,無法下載,能分享一份嗎謝謝1306501801@qq.com
作者: zhousw08    時間: 2018-5-18 10:42
急需要這個資料
謝謝

作者: zhousw08    時間: 2018-5-18 10:54
怎么下不了
作者: wangjie19862    時間: 2018-7-3 20:21
感謝樓主分享
作者: songyuan    時間: 2018-7-5 16:47
學習一下
作者: 胡建人    時間: 2018-10-10 16:00
剛好需要,黑幣不夠,可以發514699340@qq.com嗎?謝謝
作者: fzy12345    時間: 2018-11-12 20:33
真好,非常有用
作者: WFX777888    時間: 2019-1-12 06:59
謝謝分享資料
作者: kongle    時間: 2019-1-15 13:34
謝謝分享,學習了
作者: vaeay    時間: 2019-2-17 17:46
很好,正好要用

作者: cbccbc    時間: 2019-4-6 22:42
謝謝樓主分享,學習勒~~~
作者: cbccbc    時間: 2019-4-6 22:43
謝謝樓主分享,學習勒~~~

作者: clytze    時間: 2019-5-17 11:07
有實物圖嘛
作者: rayin    時間: 2020-11-15 14:56
學習第一手資料




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久伊人一区 | 国产日韩精品在线 | 日韩免费看片 | 91久久久久久久久 | 国产美女精品视频 | 午夜在线精品 | 久久99久久 | 一区二区三区在线播放视频 | 亚洲精品欧美一区二区三区 | 91在线一区 | 91视频18 | 羞羞网站免费 | 国产特级毛片 | 国产精品久久久久久婷婷天堂 | 插插插干干干 | 日韩一区二区三区在线看 | 一级毛片视频 | 成人免费在线播放视频 | 一区二区免费视频 | 免费观看一级毛片 | 亚洲视频三区 | 日韩欧美精品 | 奇米久久 | av大片在线观看 | 国产激情一区二区三区 | 激情视频一区 | 国产精品99视频 | 欧美亚洲综合久久 | 日本一区二区不卡 | 国产在线视频网 | 久久综合一区二区三区 | 久久国产高清 | 精品成人一区 | 在线观看亚洲精品视频 | 午夜在线精品 | 成人免费视频 | 3p视频在线观看 | 欧美a级成人淫片免费看 | 精品国产青草久久久久96 | 亚洲xx在线 | 亚洲在线视频 |