基于DS18DB20的多功能溫度測量儀
2. 1 軟件設計要點
由于DS18B20 采用的是單線總線協議方式,即在一條數據線上實現數據的雙向傳輸,而單片機硬件上不支持單總線協議,因此必須采用軟件方法來模擬單總線的協議是序來完成對DS18B20 芯片的訪問。
由于DS18B20 是在一根I/ O 線上讀寫數據,因此對讀寫的數據位有嚴格的時序要求,它有嚴格的通信協議來保證各位數據傳輸的正確性和完整性。該協議定義了幾種信號的時序: 初始化時序、讀時序、寫時序。所有時序都是將單片機作為主設備,DS18B20 作為從設備,而每一次命令和數據的傳輸都是從主機主動啟動寫時序開始,如果要求DS18B20 回送數據,在進行寫命令后,主機需啟動讀時序完成數據接收。
2. 2 軟件設計
創新點在溫度顯示模塊引入“顯存”的概念,用“顯存”直接映射到顯示子程序,便于程序的移植,更便于以后的組建多點的溫度檢測網絡,或嵌于其他監測系統。
程序片段如下:

2. 3 主程序流程圖
主程序流程如圖4 所示。

圖4 主程序流程圖
3 實物運行與測試
測試方法: 用水銀溫度計和溫度測量儀同時對同一空氣環境、水、人體進行測量,詳細記錄每次測量數據,并進行數據對比。測試結果如表1 所示,結果顯示誤差僅± 0. 2 ℃。
表1 實物運行測試對照表

4 結 語
運用溫度傳感器DS18B20 和單片機8051 等設計并制作的溫度測量儀,用較低的成本實現了溫度的測量與顯示。該測量儀采用的元器件價格低廉又容易獲得,具有硬件結構簡單、響應快、顯示直觀等優點,并且元器件DS18B20 單總線結構具有很強的擴展性. 還可以組建多點的溫度檢測網絡該方案設計溫度監測系統,應用前景廣泛。
評論