基于DS18DB20的多功能溫度測量儀
2. 1 軟件設計要點
由于DS18B20 采用的是單線總線協(xié)議方式,即在一條數(shù)據(jù)線上實現(xiàn)數(shù)據(jù)的雙向傳輸,而單片機硬件上不支持單總線協(xié)議,因此必須采用軟件方法來模擬單總線的協(xié)議是序來完成對DS18B20 芯片的訪問。
由于DS18B20 是在一根I/ O 線上讀寫數(shù)據(jù),因此對讀寫的數(shù)據(jù)位有嚴格的時序要求,它有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序: 初始化時序、讀時序、寫時序。所有時序都是將單片機作為主設備,DS18B20 作為從設備,而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求DS18B20 回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。
2. 2 軟件設計
創(chuàng)新點在溫度顯示模塊引入“顯存”的概念,用“顯存”直接映射到顯示子程序,便于程序的移植,更便于以后的組建多點的溫度檢測網(wǎng)絡,或嵌于其他監(jiān)測系統(tǒng)。
程序片段如下:
2. 3 主程序流程圖
主程序流程如圖4 所示。
圖4 主程序流程圖
3 實物運行與測試
測試方法: 用水銀溫度計和溫度測量儀同時對同一空氣環(huán)境、水、人體進行測量,詳細記錄每次測量數(shù)據(jù),并進行數(shù)據(jù)對比。測試結果如表1 所示,結果顯示誤差僅± 0. 2 ℃。
表1 實物運行測試對照表
4 結 語
運用溫度傳感器DS18B20 和單片機8051 等設計并制作的溫度測量儀,用較低的成本實現(xiàn)了溫度的測量與顯示。該測量儀采用的元器件價格低廉又容易獲得,具有硬件結構簡單、響應快、顯示直觀等優(yōu)點,并且元器件DS18B20 單總線結構具有很強的擴展性. 還可以組建多點的溫度檢測網(wǎng)絡該方案設計溫度監(jiān)測系統(tǒng),應用前景廣泛。
評論