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