摘 要: 設(shè)計實現(xiàn)了一種多用智能溫度測量儀,。采用傳感器為DALLAS 公司的單總線數(shù)字式溫度傳感器DS18B20 及單片機(jī)為8051,通過單片機(jī)對傳感器采集到的數(shù)字信號進(jìn)行計算處理,,實現(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)注,。多功能溫度測量儀就是一個典型的例子,運(yùn)用單片機(jī)技術(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) 獨特的單線接口方式,,與單片機(jī)連接時僅需要一條口線;( 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è)計更靈活、方便,,價格更便宜,,體積更小。
1. 2 硬件電路設(shè)計
系統(tǒng)硬件電路如3 所示,。
圖3 系統(tǒng)硬件電路圖
包括信號采集,、系統(tǒng)控制、數(shù)字顯示,、高溫報警四個部分,。傳感器DS18B20 為信號采集器件所采集到的溫度信號,通過內(nèi)部處理由傳感器的DQ 端送到單片機(jī)P3. 2 端口,,經(jīng)單片機(jī)的計算處理后,,由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)用和維護(hù)系統(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ù)的雙向傳輸,,而單片機(jī)硬件上不支持單總線協(xié)議,因此必須采用軟件方法來模擬單總線的協(xié)議是序來完成對DS18B20 芯片的訪問,。
由于DS18B20 是在一根I/ O 線上讀寫數(shù)據(jù),,因此對讀寫的數(shù)據(jù)位有嚴(yán)格的時序要求,它有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性,。該協(xié)議定義了幾種信號的時序: 初始化時序,、讀時序、寫時序,。所有時序都是將單片機(jī)作為主設(shè)備,,DS18B20 作為從設(shè)備,,而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動啟動寫時序開始,如果要求DS18B20 回送數(shù)據(jù),,在進(jìn)行寫命令后,,主機(jī)需啟動讀時序完成數(shù)據(jù)接收。
2. 2 軟件設(shè)計
創(chuàng)新點在溫度顯示模塊引入“顯存”的概念,,用“顯存”直接映射到顯示子程序,,便于程序的移植,更便于以后的組建多點的溫度檢測網(wǎng)絡(luò),,或嵌于其他監(jiān)測系統(tǒng),。
程序片段如下:
2. 3 主程序流程圖
主程序流程如圖4 所示。
圖4 主程序流程圖
3 實物運(yùn)行與測試
測試方法: 用水銀溫度計和溫度測量儀同時對同一空氣環(huán)境,、水,、人體進(jìn)行測量,詳細(xì)記錄每次測量數(shù)據(jù),,并進(jìn)行數(shù)據(jù)對比,。測試結(jié)果如表1 所示,結(jié)果顯示誤差僅± 0. 2 ℃,。
表1 實物運(yùn)行測試對照表
4 結(jié) 語
運(yùn)用溫度傳感器DS18B20 和單片機(jī)8051 等設(shè)計并制作的溫度測量儀,,用較低的成本實現(xiàn)了溫度的測量與顯示。該測量儀采用的元器件價格低廉又容易獲得,,具有硬件結(jié)構(gòu)簡單,、響應(yīng)快、顯示直觀等優(yōu)點,,并且元器件DS18B20 單總線結(jié)構(gòu)具有很強(qiáng)的擴(kuò)展性. 還可以組建多點的溫度檢測網(wǎng)絡(luò)該方案設(shè)計溫度監(jiān)測系統(tǒng),,應(yīng)用前景廣泛。