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