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

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

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

4 結 語(yǔ)
運用溫度傳感器DS18B20 和單片機8051 等設計并制作的溫度測量?jì)x,用較低的成本實(shí)現了溫度的測量與顯示。該測量?jì)x采用的元器件價(jià)格低廉又容易獲得,具有硬件結構簡(jiǎn)單、響應快、顯示直觀(guān)等優(yōu)點(diǎn),并且元器件DS18B20 單總線(xiàn)結構具有很強的擴展性. 還可以組建多點(diǎn)的溫度檢測網(wǎng)絡(luò )該方案設計溫度監測系統,應用前景廣泛。
評論