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

標(biāo)題: 帶高低溫報(bào)警的ds18b20溫度計(jì)程序及proteus仿真 [打印本頁]

作者: 51黑ff    時(shí)間: 2016-9-25 13:19
標(biāo)題: 帶高低溫報(bào)警的ds18b20溫度計(jì)程序及proteus仿真
數(shù)碼管顯示18b20,設(shè)置高低溫報(bào)警溫度,用蜂鳴器和led燈進(jìn)行提醒。附電路圖和源程序
  1. #include "main.h"
  2. #include "alarm.h"
  3. #include "display.h"
  4. #include "18b20.h"

  5. extern unsigned char idata flag;       //定義外部變量,溫度正負(fù)標(biāo)志
  6. uint HNum = 50,LNum = 10;        //報(bào)警溫度的高低值
  7. uint Tem;

  8. /***************
  9. * 函 數(shù):顯示溫度函數(shù)
  10. * 參 數(shù):無
  11. * 返 回: 無
  12. ****************/
  13. void ShowTem()
  14. {
  15.       Tem = gettemp();                                   /* 讀取18b20溫度*/
  16.       if(flag == 1)                               //顯示負(fù)溫度
  17.       display(16,(Tem%100)/10,Tem%10,(Tem*10)/10);
  18.       if(flag == 0)                                  //顯示正溫度
  19.       display(Tem/100,(Tem%100)/10,Tem%10,(Tem*10)/10);
  20. }

  21. /***************
  22. * 函 數(shù):設(shè)置低溫溫度報(bào)警值函數(shù)
  23. * 參 數(shù):無
  24. * 返 回: 無
  25. ****************/
  26. void SetLowTem()
  27. {   
  28.       while(1)
  29.       {
  30.           display(18,(LNum%100)/10,LNum%10,(LNum*10)/10);
  31.           if(k2 == 0)
  32.               delay_ms(50);          //按鍵消抖
  33.               if(k2 == 0)
  34.               {   while(!k2);   //等待按鍵釋放
  35.                   LNum++;
  36.               }
  37.           if(k3 == 0)
  38.              delay_ms(50);          //按鍵消抖
  39.              if(k3 == 0)
  40.              {    while(!k3);           //等待按鍵釋放
  41.                   LNum--;
  42.              }
  43.           if(k4 == 0)
  44.              delay_ms(50);          //按鍵消抖
  45.              if(k4 == 0)
  46.              {    while(!k4);          //等待按鍵釋放
  47.                   break;
  48.                    }  
  49.        }
  50. }
  51. /***************
  52. * 函 數(shù):設(shè)置高溫溫度報(bào)警值函數(shù)
  53. * 參 數(shù):無
  54. * 返 回: 無
  55. ****************/
  56. void SetHighTem()
  57. {
  58.   HNum = 50;
  59.   if(k1 == 0)                    //按鍵消抖
  60.       delay_ms(10);
  61.       if(k1 == 0)
  62.       {
  63.              while(!k1);             //等待按鍵釋放
  64.           while(1)
  65.           {
  66.                      display(17,(HNum%100)/10,HNum%10,(HNum*10)/10);
  67.               if(k1 == 0)
  68.                  delay_ms(50);          //按鍵消抖
  69.                  if(k1 == 0)
  70.                  {   while(!k1);   //等待按鍵釋放                     
  71.                        SetLowTem();   //設(shè)置低溫報(bào)警溫度
  72.                        break;
  73.                  }
  74.               if(k2 == 0)
  75.                  delay_ms(50);          //按鍵消抖
  76.                  if(k2 == 0)
  77.                  {   while(!k2);   //等待按鍵釋放
  78.                      HNum++;
  79.                  }
  80.               if(k3 == 0)
  81.                  delay_ms(50);          //按鍵消抖
  82.                  if(k3 == 0)
  83.                  {    while(!k3);           //等待按鍵釋放
  84.                       HNum--;
  85.                  }
  86.               if(k4 == 0)
  87.                  delay_ms(50);          //按鍵消抖
  88.                  if(k4 == 0)
  89.                  {  while(!k4);          //等待按鍵釋放
  90.                     break;
  91.                  }   
  92.           }
  93.       }          
  94.       ShowTem();
  95. }
  96. /***************
  97. * 函 數(shù):led和蜂鳴器初始化
  98. * 參 數(shù):無
  99. * 返 回: 無
  100. ****************/

  101. void initalarm()
  102. {
  103.       led1 = 0;
  104.       led2 = 0;
  105.       led3 = 0;
  106.       buzzer = 1;
  107. }

  108. /***************
  109. * 函 數(shù):led和蜂鳴器控制
  110. * 參 數(shù):無
  111. * 返 回: 無
  112. ****************/

  113. void alarm()
  114. {
  115.     Tem = gettemp();
  116.     if(Tem > HNum)
  117.     {
  118.             led2 = 1;
  119.         led1 = 0;
  120.         led3 = 0;
  121.         buzzer = 0;    //蜂鳴器工作
  122.     }
  123.     else if(Tem < LNum)
  124.     {
  125.             led3 = 1;
  126.         led1 = 0;
  127.         led2 = 0;
  128.         buzzer = 0;
  129.     }
  130.     else
  131.     {
  132.         led1 = 1;
  133.         led2 = 0;
  134.         led3 = 0;
  135.         buzzer = 1;
  136.     }
  137. }
  138.        
復(fù)制代碼


數(shù)碼管顯示溫度及報(bào)警.rar

126.17 KB, 下載次數(shù): 244, 下載積分: 黑幣 -5


作者: mnbvcxzlkjhgfds    時(shí)間: 2016-10-12 18:21
下載玩
作者: LEEEE123456    時(shí)間: 2016-12-1 12:27
太好了終于找到程序了,謝謝樓主
作者: 落眼清風(fēng)    時(shí)間: 2017-2-9 15:31
正好需要 ,謝謝樓主
作者: 康宇哲    時(shí)間: 2017-2-9 17:03
謝謝樓主分享

作者: 七個(gè)小矮人    時(shí)間: 2017-4-19 20:17
首先,很感謝樓主的分享,我有一個(gè)問題就是這個(gè)仿真設(shè)置不了溫度上下限,麻煩樓主給解釋一下,謝謝!

作者: lyf898    時(shí)間: 2017-4-19 23:08
本帖最后由 lyf898 于 2017-4-19 23:13 編輯
七個(gè)小矮人 發(fā)表于 2017-4-19 20:17
首先,很感謝樓主的分享,我有一個(gè)問題就是這個(gè)仿真設(shè)置不了溫度上下限,麻煩樓主給解釋一下,謝謝!

按第一個(gè)按鍵,當(dāng)?shù)谝粋(gè)字符為H時(shí),按2或3鍵可調(diào)上限溫度值,當(dāng)?shù)谝粋(gè)字符為L(zhǎng)時(shí),按2或3鍵增減下限值。按第四鍵顯示當(dāng)前溫度
作者: lyf898    時(shí)間: 2017-4-19 23:15
本帖最后由 lyf898 于 2017-4-19 23:16 編輯
七個(gè)小矮人 發(fā)表于 2017-4-19 20:17
首先,很感謝樓主的分享,我有一個(gè)問題就是這個(gè)仿真設(shè)置不了溫度上下限,麻煩樓主給解釋一下,謝謝!

仿真圖片:

20170419231255.png (22.54 KB, 下載次數(shù): 173)

20170419231255.png

作者: 七個(gè)小矮人    時(shí)間: 2017-4-20 08:04
我知道,請(qǐng)問那個(gè)設(shè)置完高溫和低溫后,真正的HNUM和LNUM的值并沒有發(fā)生實(shí)質(zhì)性的改變呢!HNUM還是50,LNUM還是10

作者: lyf898    時(shí)間: 2017-4-22 11:55
七個(gè)小矮人 發(fā)表于 2017-4-20 08:04
我知道,請(qǐng)問那個(gè)設(shè)置完高溫和低溫后,真正的HNUM和LNUM的值并沒有發(fā)生實(shí)質(zhì)性的改變呢!HNUM還是50,LNUM還 ...

你按設(shè)置鍵就相當(dāng)于重新設(shè)置,初始值當(dāng)然永遠(yuǎn)都不變了。
作者: jamyg    時(shí)間: 2017-4-22 20:51
感謝分享,

作者: miu    時(shí)間: 2017-5-1 07:03

正好需要 ,謝謝樓主
作者: tomgay    時(shí)間: 2017-5-4 19:54
太好了終于找到程序了
作者: lm2clcl    時(shí)間: 2017-6-28 16:55
這個(gè)沒有確定的嗎,那改完報(bào)警值后就不能返回顯示溫度了,那怎么改?
作者: 人青無    時(shí)間: 2017-10-14 13:35
非常需要,非常感謝
作者: zhu1991    時(shí)間: 2017-11-29 18:53
怎么下載不了啊
作者: lb981225    時(shí)間: 2017-12-5 23:13
非常需要,非常感謝好東西要學(xué)習(xí)
作者: beardyan    時(shí)間: 2018-1-31 18:31
這只是顯示程序,主程序呢?
作者: WANGXIUJUAN    時(shí)間: 2018-5-11 22:19
很需要 謝謝
作者: lostviews    時(shí)間: 2018-6-13 17:18
看看,學(xué)習(xí)一下
作者: 有心插花花木蘭    時(shí)間: 2019-10-15 20:51
仔細(xì)看了你的程序,上下限并沒有保存到18自帶的eeprom中。只是提取出溫度
作者: 靈氣    時(shí)間: 2024-1-16 10:51
為何第四個(gè)數(shù)碼管顯示不全





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久草青青| 日韩精品久久久久 | 亚洲精品久久久久久国产精华液 | 欧美1区 | 在线黄av | 亚洲a毛片| 综合二区 | www.色五月.com | a级免费观看视频 | 久久中文字幕一区 | 国产色婷婷精品综合在线手机播放 | 久久久久一区二区三区 | 欧美黄页 | 九九伦理片 | 91九色婷婷 | 福利一区二区 | 在线视频亚洲 | 国产日韩欧美一区二区 | 黄色网址大全在线观看 | 波多野结衣一区二区 | 亚洲国产精品一区二区久久 | 狠狠色综合久久丁香婷婷 | 精品少妇v888av | 久久精品屋 | 日韩在线一区二区三区 | 成人高清网站 | www.国产91 | 国产伦精品一区二区三区四区视频 | 91视频大全 | 国产欧美精品一区二区色综合朱莉 | 久久婷婷麻豆国产91天堂 | 午夜免费观看网站 | 亚洲国产精品视频一区 | 日韩欧美一区二区三区免费观看 | 成人精品视频在线观看 | 免费视频久久 | 亚洲香蕉在线视频 | 成年人视频在线免费观看 | 五月天综合影院 | 欧美手机在线 | 91精品无人区卡一卡二卡三 |