標(biāo)題: 51單片機(jī)+DS18B20溫度上下限報(bào)警可調(diào)數(shù)字溫度計(jì)程序+仿真設(shè)計(jì) [打印本頁]

作者: yu123=    時(shí)間: 2019-4-19 14:58
標(biāo)題: 51單片機(jī)+DS18B20溫度上下限報(bào)警可調(diào)數(shù)字溫度計(jì)程序+仿真設(shè)計(jì)
基于51單片機(jī)及DS18B20溫度傳感器的數(shù)字溫度計(jì)設(shè)計(jì)(包含實(shí)物程序,proteus仿真,元件清單,原理圖以及設(shè)計(jì)說明)

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. /********************************************************************
  2. * 程序名;  基于DS18B20的測溫系統(tǒng)
  3. * 功  能: 實(shí)時(shí)測量溫度,超過上下限報(bào)警,報(bào)警溫度可手動(dòng)調(diào)整。K1是用來
  4. * 進(jìn)入上下限調(diào)節(jié)模式的,當(dāng)按一下K1進(jìn)入上限調(diào)節(jié)模式,再按一下進(jìn)入下限
  5. * 調(diào)節(jié)模式。在正常模式下,按一下K2進(jìn)入查看上限溫度模式,顯示1s左右自動(dòng)
  6. * 退出;按一下K3進(jìn)入查看下限溫度模式,顯示1s左右自動(dòng)退出;按一下K4消除
  7. * 按鍵音,再按一下啟動(dòng)按鍵音。在調(diào)節(jié)上下限溫度模式下,K2是實(shí)現(xiàn)加1功能,
  8. * K1是實(shí)現(xiàn)減1功能,K3是用來設(shè)定上下限溫度正負(fù)的。         
  9. * 編程時(shí)間:                  
  10. *********************************************************************/
  11. #include<AT89X52.h>                                   //將AT89X52.h頭文件包含到主程序
  12. #include<intrins.h>                                   //將intrins.h頭文件包含到主程序(調(diào)用其中的_nop_()空操作函數(shù)延時(shí))
  13. #define uint unsigned int                      //變量類型宏定義,用uint表示無符號(hào)整形(16位)
  14. #define uchar unsigned char                   //變量類型宏定義,用uchar表示無符號(hào)字符型(8位)

  15. uchar max=0x00,min=0x00;                   //max是上限報(bào)警溫度,min是下限報(bào)警溫度

  16. bit   s=0;                                                   //s是調(diào)整上下限溫度時(shí)溫度閃爍的標(biāo)志位,s=0不顯示200ms,s=1顯示1s左右
  17. bit   s1=0;                                                   //s1標(biāo)志位用于上下限查看時(shí)的顯示
  18. void display1(uint z);                            //聲明display1()函數(shù)(display.h頭文件中的函數(shù),ds18b20.h要用應(yīng)先聲明)
  19. #include"ds18b20.h"                                   //將ds18b20.h頭文件包含到主程序
  20. #include"keyscan.h"                                   //將keyscan.h頭文件包含到主程序
  21. #include"display.h"                                   //將display.h頭文件包含到主程序

  22. /***********************主函數(shù)************************/
  23. void main()
  24. {
  25.          beer=1;                                           //關(guān)閉蜂鳴器
  26.          led=1;                                                   //關(guān)閉LED燈
  27.          timer1_init(0);                           //初始化定時(shí)器1(未啟動(dòng)定時(shí)器1)
  28.          get_temperature(1);                    //首次啟動(dòng)DS18B20獲取溫度(DS18B20上點(diǎn)后自動(dòng)將EEPROM中的上下限溫度復(fù)制到TH和TL寄存器)
  29.          while(1)                                           //主循環(huán)
  30.          {         
  31.                  keyscan();                                   //按鍵掃面函數(shù)
  32.                  get_temperature(0);           //獲取溫度函數(shù)
  33.                  keyscan();                                   //按鍵掃面函數(shù)
  34.                  display(temp,temp_d*0.625);//顯示函數(shù)
  35.                  alarm();                                           //報(bào)警函數(shù)
  36.                  keyscan();                                     //按鍵掃面函數(shù)
  37.          }
  38. }   
復(fù)制代碼

所有資料51hei提供下載:
基于51單片機(jī)及DS18B20溫度傳感器的數(shù)字溫度計(jì)設(shè)計(jì).rar (704.05 KB, 下載次數(shù): 908)



作者: 繁星艾爾    時(shí)間: 2019-4-19 16:47
謝謝分享ヾ(A`)ノ
作者: 7782    時(shí)間: 2019-8-4 10:17
謝謝分享
作者: jyk    時(shí)間: 2019-8-20 22:35
回評(píng),樓主NB。菜鳥仰慕
作者: 1424705185    時(shí)間: 2019-9-16 11:17
謝謝分享
作者: agangwang    時(shí)間: 2019-9-16 13:26
學(xué)習(xí)了,謝謝樓主
作者: zhong110109    時(shí)間: 2019-12-30 15:03
沒有intrins.h和AT89X52.h的頭文件呀
作者: Nimaby    時(shí)間: 2020-1-10 19:08
學(xué)習(xí)了,謝謝樓主
作者: 1860774xxxx    時(shí)間: 2020-1-20 01:31
謝謝 有你更精彩
作者: DFASAS221    時(shí)間: 2020-5-20 08:19
設(shè)置的溫度上限 和下限 那么實(shí)際檢測到的溫度是超限的吧?
作者: 是SHA    時(shí)間: 2020-5-22 22:47
謝謝分享
作者: 666liuxing    時(shí)間: 2020-5-25 10:25
agangwang 發(fā)表于 2019-9-16 13:26
學(xué)習(xí)了,謝謝樓主

兄弟可以實(shí)現(xiàn)嗎
作者: 老毛毛毛    時(shí)間: 2020-5-25 11:21
樓主可以的,厲害,謝謝
作者: 哈哈哈?    時(shí)間: 2020-6-17 08:46
感謝分享,棒
作者: almosttt    時(shí)間: 2020-6-19 23:51
謝謝分享  樓主牛批
作者: 3183775109    時(shí)間: 2020-6-21 07:39
感謝分享
作者: 哪走    時(shí)間: 2020-6-21 14:03
能實(shí)現(xiàn)零下的負(fù)溫度顯示么?
作者: joe_2019    時(shí)間: 2020-6-21 18:42
學(xué)習(xí)一下,非常感謝
作者: 徐昂有    時(shí)間: 2020-12-1 11:04
不能用啊,程序錯(cuò)了
作者: 零點(diǎn)野人    時(shí)間: 2020-12-8 17:33
哪走 發(fā)表于 2020-6-21 14:03
能實(shí)現(xiàn)零下的負(fù)溫度顯示么?

同問

作者: 法師果實(shí)q    時(shí)間: 2020-12-14 19:57
謝謝樓主分享,很有用的學(xué)習(xí)資料
作者: 弛氏磁電    時(shí)間: 2024-7-27 11:58
這是單片機(jī)作為核心的數(shù)顯溫度顯示電路,有沒有不采用單片機(jī),使用數(shù)字集成電路構(gòu)成的




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