基于單總線數(shù)字溫度傳感器DS18B20的測溫系統(tǒng)設(shè)計
3.1 系統(tǒng)應(yīng)用層主程序設(shè)計
系統(tǒng)主程序主要完成系統(tǒng)初始化,調(diào)用讀取DS18B20溫度轉(zhuǎn)換值函數(shù),溫度符號、百位、十位、個位、十分位數(shù)據(jù)的提取,溫度數(shù)據(jù)顯示,溫度異常報警等工作,系統(tǒng)主程序流程如圖4所示,當(dāng)檢測到的溫度高于最大閾值或低于最小閾值時,分別采用紅燈、黃燈報警,溫度正常時綠燈點亮。本文引用地址:http://www.ex-cimer.com/article/159549.htm
3.2 DS18B20驅(qū)動層程序設(shè)計
DS18B20溫度轉(zhuǎn)換值采用12位分辨率,總線控制器接收到16位數(shù)據(jù)后保存在2個字節(jié)的存儲單元,高字節(jié)保存的值左移8位與低字節(jié)相加,便得DS18B20溫度轉(zhuǎn)換結(jié)果,讀取溫度轉(zhuǎn)換值函數(shù)如下:
4 系統(tǒng)調(diào)試與運(yùn)行結(jié)果
在單片機(jī)開發(fā)環(huán)境Keil軟件中,選擇AT89C51單片機(jī)新建項目,采用C語言編寫系統(tǒng)程序,編譯生成目標(biāo)代碼HEX文件,并導(dǎo)入到Proteus ISIS硬件電路圖中單片機(jī)的Edit Component設(shè)置的Program File屬性中進(jìn)行仿真運(yùn)行,系統(tǒng)仿真實驗結(jié)果如圖5所示,數(shù)碼管左數(shù)第一位的“1”表示零上,第七位的“C”表示溫度單位攝氏度。
5 結(jié)語
以AT89C51單片機(jī)為核心處理器,在Proteus環(huán)境下完成了基于單總線數(shù)字溫度傳感器DS18B20的測溫系統(tǒng)的設(shè)計,并進(jìn)行了仿真。首先給出了DS18B20傳感器特性和控制命令及時序,設(shè)計了DS18B20的檢測電路,同時采用Keil軟件完成了系統(tǒng)主程序、DS18B20驅(qū)動程序的設(shè)計;最后進(jìn)行了系統(tǒng)Proteus仿真,降低了設(shè)計成本,提高了開發(fā)效率,并獲得了良好仿真實驗結(jié)果。
51單片機(jī)相關(guān)文章:51單片機(jī)教程
熱電偶相關(guān)文章:熱電偶原理
評論