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