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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4804|回復(fù): 4
收起左側(cè)

數(shù)碼管顯示溫度及報(bào)警的單片機(jī)源程序

[復(fù)制鏈接]
ID:184584 發(fā)表于 2017-10-4 09:38 | 顯示全部樓層 |閱讀模式
本設(shè)計(jì)是基于單片機(jī)的數(shù)碼管顯示的溫度(使用的為DS18B20傳感器)和報(bào)警裝置,僅供單片機(jī)初學(xué)者借鑒學(xué)習(xí)!

單片機(jī)源程序如下:
  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.   if(k1 == 0)                    //按鍵消抖
  59.       delay_ms(10);
  60.       if(k1 == 0)
  61.       {
  62.              while(!k1);             //等待按鍵釋放
  63.           while(1)
  64.           {
  65.                      display(17,(HNum%100)/10,HNum%10,(HNum*10)/10);
  66.               if(k1 == 0)
  67.                  delay_ms(50);          //按鍵消抖
  68.                  if(k1 == 0)
  69.                  {   while(!k1);   //等待按鍵釋放                     
  70.                        SetLowTem();   //設(shè)置低溫報(bào)警溫度
  71.                        break;
  72.                  }
  73.               if(k2 == 0)
  74.                  delay_ms(50);          //按鍵消抖
  75.                  if(k2 == 0)
  76.                  {   while(!k2);   //等待按鍵釋放
  77.                      HNum++;
  78.                  }
  79.               if(k3 == 0)
  80.                  delay_ms(50);          //按鍵消抖
  81.                  if(k3 == 0)
  82.                  {    while(!k3);           //等待按鍵釋放
  83.                       HNum--;
  84.                  }
  85.               if(k4 == 0)
  86.                  delay_ms(50);          //按鍵消抖
  87.                  if(k4 == 0)
  88.                  {  while(!k4);          //等待按鍵釋放
  89.                     break;
  90.                  }   
  91.           }
  92.       }          
  93.       ShowTem();
  94. }
  95. /***************
  96. * 函 數(shù):led和蜂鳴器初始化
  97. * 參 數(shù):無
  98. * 返 回: 無
  99. ****************/

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

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

  112. void alarm()
  113. {
  114.     Tem = gettemp();
  115.     if(Tem > HNum)
  116.     {
  117.             led2 = 1;
  118.         led1 = 0;
  119.         led3 = 0;
  120.         buzzer = 0;    //蜂鳴器工作
  121. ……………………

  122. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
數(shù)碼管顯示溫度及報(bào)警(最新).zip (151.87 KB, 下載次數(shù): 76)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:362073 發(fā)表于 2018-6-30 00:23 | 顯示全部樓層
令人豁然開朗
回復(fù)

使用道具 舉報(bào)

ID:413948 發(fā)表于 2018-10-23 21:20 | 顯示全部樓層
不錯(cuò),懂了,懂了
回復(fù)

使用道具 舉報(bào)

ID:417167 發(fā)表于 2018-10-29 14:07 | 顯示全部樓層
參考一下
回復(fù)

使用道具 舉報(bào)

ID:341833 發(fā)表于 2019-12-8 15:25 | 顯示全部樓層
好東東!頂!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本精品久久久久 | 亚洲国产第一页 | 人人射人人草 | 国产激情一区二区三区 | 91污在线| 91亚洲欧美 | 日韩在线h | 久草热视频 | 久久精品视频亚洲 | 91久久久久久 | 99精品国产一区二区三区 | 成人黄在线观看 | 亚洲国产精品一区 | www.se91| 国产精品久久久久久久久免费高清 | 午夜小电影 | 精品一区二区三区在线视频 | 久久午夜视频 | 国产a级毛毛片 | 国产成人免费视频网站高清观看视频 | 国产亚洲一区二区三区在线 | 国产综合网址 | 日韩福利在线 | 日韩高清三区 | 欧美一区精品 | 亚洲第一网站 | 看片91 | 久久99精品久久久水蜜桃 | 国产精品日韩一区二区 | 成人福利网 | 中文字幕一区二区三区四区五区 | 色频| 在线观看av网站永久 | 99精品在线观看 | 99久久婷婷国产综合精品电影 | 亚洲一区二区精品视频 | 日韩av啪啪网站大全免费观看 | 三级视频久久 | 日本精品一区二区在线观看 | 黄视频网站在线 | 精品日韩一区二区 |