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