- 探究一種多用智能溫度測量儀的設(shè)計與實現(xiàn)
- 采用傳感器傳感器DS18B20 及單片機為8051
- 硬件電路設(shè)計
- 軟件設(shè)計
設(shè)計實現(xiàn)了一種多用智能溫度測量儀。采用傳感器為DALLAS 公司的單總線數(shù)字式溫度傳感器DS18B20 及單片機為8051,通過單片機對傳感器采集到的數(shù)字信號進行計算處理,實現(xiàn)溫度的測量、溫度數(shù)值的數(shù)字顯示及高溫報警等功能。提供了完整的硬件電路圖和軟件流程圖,并詳細(xì)介紹了軟件設(shè)計要點及創(chuàng)新點。經(jīng)實物測試實驗,該測量儀既能測量環(huán)境溫度,又可測量人體溫度,具備使用方便、響應(yīng)快、結(jié)果顯示直觀的特點。
溫度是科學(xué)技術(shù)中最基本的物理量之一,在工業(yè)生產(chǎn)中,溫度常是表征對象和過程狀態(tài)的最重要的參數(shù)之一,在醫(yī)學(xué)領(lǐng)域中,體溫也是我們最為關(guān)注的醫(yī)學(xué)參數(shù)。
隨著現(xiàn)代科技的發(fā)展,溫度測量在各個領(lǐng)域應(yīng)用越來越廣泛,同時溫度測量技術(shù)也被人們所異常關(guān)注。多功能溫度測量儀就是一個典型的例子,運用單片機技術(shù),向數(shù)字化,智能化方向發(fā)展。在此介紹一種多功能溫度測量儀,既可以測量環(huán)境溫度、又能測量人體溫度,達(dá)到快響應(yīng)、數(shù)字顯示溫度值,并且具有高溫報警的目的。
1 硬件電路設(shè)計
1. 1 溫度傳感器
采用DA LLAS 公司的溫度傳感器DS18B20 作為溫度采集器件,DS18B20 的內(nèi)部結(jié)構(gòu)主要由64 位ROM、溫度靈敏元件、內(nèi)部存儲器和配置寄存器4 部分組成,如圖1 所示。
( 1) 64 位ROM。它的內(nèi)容是64 位序列號,它可以被看作是該DS18B20 的地址序列碼,其作用是使每個DS18B20 都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20 的目的。
( 2) 溫度靈敏元件。它完成對溫度的測量,測量后的結(jié)果存儲在2 個8 b 的溫度寄存器中。
( 3) 內(nèi)部存儲器。內(nèi)部存儲器包括一個高速暫存RAM 和一個非易失性的可電擦除的E2 PROM,后者存放高溫度和低溫度觸發(fā)器TH、TL 以及配置寄存器。
圖1 DS18B20 的內(nèi)部結(jié)構(gòu)
DS18B20 具有以下特點:
( 1) 獨特的單線接口方式,與單片機連接時僅需要一條口線;( 2) 測溫范圍為- 55~ + 125℃,在- 10~ + 85℃范圍內(nèi)精度為±0. 5 ℃;( 3) 通過編程可實現(xiàn)9~ 12 位的數(shù)字讀數(shù)方式;( 4) 用戶可自設(shè)定非易失性的報警上下限值;( 5) 外圍電路簡單,使用時不需要外圍元件,可用數(shù)據(jù)總線供電,電壓范圍為3. 0 ~ 5. 5 V 無需備用電源;( 6) DS18B20 有TO 92、SOIC 及CSP 封裝,本測量儀選用DS18B20 的外形及引腳排列如圖2 所示,其中VDD 為外接供電電源輸入端,GND 為公共地,DQ為數(shù)字信號輸出端。
圖2 DS18B20 的外形及引腳排列
基于以上特點,采用DS18B2 使得硬件消耗更少,系統(tǒng)設(shè)計更靈活、方便,價格更便宜,體積更小。
[page]
1. 2 硬件電路設(shè)計
系統(tǒng)硬件電路如3 所示。
圖3 系統(tǒng)硬件電路圖
包括信號采集、系統(tǒng)控制、數(shù)字顯示、高溫報警四個部分。傳感器DS18B20 為信號采集器件所采集到的溫度信號,通過內(nèi)部處理由傳感器的DQ 端送到單片機P3. 2 端口,經(jīng)單片機的計算處理后,由P0 口和P1 口分別作為4 位共陽數(shù)碼管的段控信號和位控信號,共同完成對所測溫度值的數(shù)字顯示,最高位是符號顯示,如顯示負(fù)號“-”時,表示當(dāng)前溫度是負(fù)溫度,否則為正溫度;由P2. 0 端口控制蜂鳴器,當(dāng)測量的溫度超過“預(yù)設(shè)報警溫度”時,發(fā)出提示音報警; P2. 1~ P2. 3 端口來控制黃、綠、紅3 個發(fā)光二極管分別表示低溫、正常、高溫三種溫度狀態(tài)。石英晶體JT 和電容C2 ,C3 共同組成晶振電路; 電容C1 、電阻R 13、S B 共同構(gòu)成復(fù)位電路; 其中電阻R13為下拉電阻,SB 為手動復(fù)位按鈕。
2 軟件設(shè)計
為了便于子程序的調(diào)用和維護系統(tǒng),程序遵循標(biāo)準(zhǔn)化、模塊化的原則,主要完成包括讀DS18B20 溫度數(shù)據(jù)、數(shù)據(jù)的整理轉(zhuǎn)換、溫度顯示、報警等模塊的設(shè)計。由于程序任務(wù)相對較少,結(jié)構(gòu)相對簡單,本系統(tǒng)由主程序和多個子程序組成,采用順序性結(jié)構(gòu)主程序流程。
2. 1 軟件設(shè)計要點
由于DS18B20 采用的是單線總線協(xié)議方式,即在一條數(shù)據(jù)線上實現(xiàn)數(shù)據(jù)的雙向傳輸,而單片機硬件上不支持單總線協(xié)議,因此必須采用軟件方法來模擬單總線的協(xié)議是序來完成對DS18B20 芯片的訪問。
由于DS18B20 是在一根I/ O 線上讀寫數(shù)據(jù),因此對讀寫的數(shù)據(jù)位有嚴(yán)格的時序要求,它有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序: 初始化時序、讀時序、寫時序。所有時序都是將單片機作為主設(shè)備,DS18B20 作為從設(shè)備,而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求DS18B20 回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。
2. 2 軟件設(shè)計
創(chuàng)新點在溫度顯示模塊引入“顯存”的概念,用“顯存”直接映射到顯示子程序,便于程序的移植,更便于以后的組建多點的溫度檢測網(wǎng)絡(luò),或嵌于其他監(jiān)測系統(tǒng)。
程序片段如下:
[page]2. 3 主程序流程圖
主程序流程如圖4 所示。
圖4 主程序流程圖
3 實物運行與測試
測試方法: 用水銀溫度計和溫度測量儀同時對同一空氣環(huán)境、水、人體進行測量,詳細(xì)記錄每次測量數(shù)據(jù),并進行數(shù)據(jù)對比。測試結(jié)果如表1 所示,結(jié)果顯示誤差僅± 0. 2 ℃。
表1 實物運行測試對照表
4 結(jié) 語
運用溫度傳感器DS18B20 和單片機8051 等設(shè)計并制作的溫度測量儀,用較低的成本實現(xiàn)了溫度的測量與顯示。該測量儀采用的元器件價格低廉又容易獲得,具有硬件結(jié)構(gòu)簡單、響應(yīng)快、顯示直觀等優(yōu)點,并且元器件DS18B20 單總線結(jié)構(gòu)具有很強的擴展性. 還可以組建多點的溫度檢測網(wǎng)絡(luò)該方案設(shè)計溫度監(jiān)測系統(tǒng),應(yīng)用前景廣泛。