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