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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 16575|回復: 34
打印 上一主題 下一主題
收起左側

藍牙溫度計 安卓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)


評分

參與人數 4黑幣 +26 收起 理由
xiaofeizhu + 1 贊一個!
2452873337 + 8 共享資料的黑幣獎勵!
abcabc22222 + 5 共享資料的黑幣獎勵!
練氏 + 12

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏23 分享淘帖 頂6 踩
回復

使用道具 舉報

沙發
ID:198451 發表于 2017-5-9 00:23 | 只看該作者
正需要~!  謝謝分享
回復

使用道具 舉報

板凳
ID:201935 發表于 2017-5-17 20:21 | 只看該作者
我正在做個測轉速的,通過霍爾3144傳感器獲取數據在1602A上展示,同時傳送給Android端APP
回復

使用道具 舉報

地板
ID:236674 發表于 2017-9-29 22:29 | 只看該作者
謝謝樓主分享!!!!
回復

使用道具 舉報

5#
ID:141278 發表于 2017-10-10 23:21 | 只看該作者
好資料
回復

使用道具 舉報

6#
ID:236674 發表于 2017-10-11 20:43 | 只看該作者
謝謝樓主分享,學習勒~~~
回復

使用道具 舉報

7#
ID:244203 發表于 2017-11-16 20:17 | 只看該作者
辛苦了辛苦了
回復

使用道具 舉報

8#
ID:230826 發表于 2017-11-17 10:07 | 只看該作者
看下app碼
回復

使用道具 舉報

9#
ID:217743 發表于 2017-11-28 22:37 | 只看該作者
請問打開app 與HC-06怎么連接呢      一直連不上的
回復

使用道具 舉報

10#
ID:187478 發表于 2017-11-29 10:43 | 只看該作者
兄弟  謝謝分享,還帶安卓源碼?是用易安卓寫的???
回復

使用道具 舉報

11#
ID:187478 發表于 2017-11-29 10:46 | 只看該作者
問題是我不知道你的安卓代碼怎么用啊  老鐵

評分

參與人數 1黑幣 +5 收起 理由
elementalmas + 5

查看全部評分

回復

使用道具 舉報

12#
ID:270072 發表于 2018-1-2 16:18 | 只看該作者
沒有黑幣 可以發一份到986394529@qq.com

評分

參與人數 1黑幣 +5 收起 理由
happy. + 5

查看全部評分

回復

使用道具 舉報

13#
ID:270072 發表于 2018-1-2 16:50 | 只看該作者
非常感謝
回復

使用道具 舉報

14#
ID:270297 發表于 2018-1-2 16:51 | 只看該作者
設計不錯,很好 值得學習
回復

使用道具 舉報

15#
ID:270072 發表于 2018-1-4 17:18 | 只看該作者
請問有pcb的庫嗎?
回復

使用道具 舉報

16#
ID:277017 發表于 2018-1-17 15:45 | 只看該作者
剛好需要這個   謝謝樓主
回復

使用道具 舉報

17#
ID:294036 發表于 2018-3-19 15:20 | 只看該作者
qsc518 發表于 2018-1-17 15:45
剛好需要這個   謝謝樓主

多交流問題
回復

使用道具 舉報

18#
ID:294036 發表于 2018-3-19 15:21 | 只看該作者
elementalmas 發表于 2018-1-4 17:18
請問有pcb的庫嗎?

百度有很多
回復

使用道具 舉報

19#
ID:297693 發表于 2018-3-27 11:45 | 只看該作者
想看安卓源代碼是怎么寫的
回復

使用道具 舉報

20#
ID:296926 發表于 2018-4-20 10:02 | 只看該作者
想看安卓源代碼是怎么寫的 發一份1216754090@qq.com
回復

使用道具 舉報

21#
ID:318656 發表于 2018-5-9 17:10 | 只看該作者
好厲害
回復

使用道具 舉報

22#
ID:186936 發表于 2018-5-10 16:44 | 只看該作者
樓主,無法下載,能分享一份嗎謝謝1306501801@qq.com
回復

使用道具 舉報

23#
ID:332788 發表于 2018-5-18 10:42 | 只看該作者
急需要這個資料
謝謝
回復

使用道具 舉報

24#
ID:332788 發表于 2018-5-18 10:54 | 只看該作者
怎么下不了
回復

使用道具 舉報

25#
ID:275869 發表于 2018-7-3 20:21 | 只看該作者
感謝樓主分享
回復

使用道具 舉報

26#
ID:292119 發表于 2018-7-5 16:47 | 只看該作者
學習一下
回復

使用道具 舉報

27#
ID:407596 發表于 2018-10-10 16:00 | 只看該作者
剛好需要,黑幣不夠,可以發514699340@qq.com嗎?謝謝
回復

使用道具 舉報

28#
ID:425264 發表于 2018-11-12 20:33 | 只看該作者
真好,非常有用
回復

使用道具 舉報

29#
ID:63317 發表于 2019-1-12 06:59 | 只看該作者
謝謝分享資料
回復

使用道具 舉報

30#
ID:456364 發表于 2019-1-15 13:34 來自手機 | 只看該作者
謝謝分享,學習了
回復

使用道具 舉報

31#
ID:321635 發表于 2019-2-17 17:46 | 只看該作者
很好,正好要用
回復

使用道具 舉報

32#
ID:505993 發表于 2019-4-6 22:42 | 只看該作者
謝謝樓主分享,學習勒~~~
回復

使用道具 舉報

33#
ID:505993 發表于 2019-4-6 22:43 | 只看該作者
謝謝樓主分享,學習勒~~~
回復

使用道具 舉報

34#
ID:518661 發表于 2019-5-17 11:07 | 只看該作者
有實物圖嘛
回復

使用道具 舉報

35#
ID:517951 發表于 2020-11-15 14:56 | 只看該作者
學習第一手資料
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91中文在线观看 | 久久精品色视频 | 国产精品久久久久久模特 | 奇米四色在线观看 | 国产亚洲成av人在线观看导航 | 日韩中文字幕一区 | 欧美精品在线免费观看 | 国产精品一区二区视频 | 国产线视频精品免费观看视频 | 中文字幕 国产 | 亚洲精品在线播放 | 999热精品视频 | 欧美一区二区三区免费在线观看 | 精品毛片视频 | 一呦二呦三呦国产精品 | 国产1区2区 | 精品1区2区3区 | 国产aa| 一区二区三区电影网 | 日韩久久精品视频 | 久久久久国产一区二区三区 | 亚洲 中文 欧美 日韩 在线观看 | 日韩成人在线网站 | 日韩精品久久一区二区三区 | 国产成人高清视频 | 欧美极品视频 | 三级av网址 | 一本一道久久a久久精品蜜桃 | 国产精品国产三级国产a | 免费看国产精品视频 | 男女免费在线观看视频 | 毛片a级 | 精品久久久久久 | 欧美日韩精品免费观看 | 午夜爽爽爽男女免费观看 | 亚洲激情在线视频 | 国产精品一区二区不卡 | 欧日韩在线观看 | 久久综合久久久 | 91视频大全 | 国产一区二区三区视频 |