隨著現(xiàn)代科技的發(fā)展,溫度測(cè)量在各個(gè)領(lǐng)域應(yīng)用越來(lái)越廣泛,同時(shí)溫度測(cè)量技術(shù)也被人們所異常關(guān)注。多功能溫度測(cè)量?jī)x就是一個(gè)典型的例子,運(yùn)用單片機(jī)技術(shù),向數(shù)字化,智能化方向發(fā)展。在此介紹一種多功能溫度測(cè)量?jī)x,既可以測(cè)量環(huán)境溫度、又能測(cè)量人體溫度,達(dá)到快響應(yīng)、數(shù)字顯示溫度值,并且具有高溫報(bào)警的目的。
1、硬件電路設(shè)計(jì)
1.1溫度傳感器
采用DALLAS公司的溫度傳感器DS18B20作為溫度采集器件,DS18B20的內(nèi)部結(jié)構(gòu)主要由64位ROM、溫度靈敏元件、內(nèi)部存儲(chǔ)器和配置寄存器4部分組成,如圖1所示。
?。?)64位ROM。它的內(nèi)容是64位序列號(hào),它可以被看作是該DS18B20的地址序列碼,其作用是使每個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。
(2)溫度靈敏元件。它完成對(duì)溫度的測(cè)量,測(cè)量后的結(jié)果存儲(chǔ)在2個(gè)8b的溫度寄存器中。
(3)內(nèi)部存儲(chǔ)器。內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2PROM,后者存放高溫度和低溫度觸發(fā)器TH、TL以及配置寄存器。
圖1DS18B20的內(nèi)部結(jié)構(gòu)
DS18B20具有以下特點(diǎn):
(1)*的單線接口方式,與單片機(jī)連接時(shí)僅需要一條口線;(2)測(cè)溫范圍為-55~+125℃,在-10~+85℃范圍內(nèi)精度為±0.5℃;(3)通過(guò)編程可實(shí)現(xiàn)9~12位的數(shù)字讀數(shù)方式;(4)用戶可自設(shè)定非易失性的報(bào)警上下限值;(5)外圍電路簡(jiǎn)單,使用時(shí)不需要外圍元件,可用數(shù)據(jù)總線供電,電壓范圍為3.0~5.5V無(wú)需備用電源;(6)DS18B20有TO92、SOIC及CSP封裝,本測(cè)量?jī)x選用DS18B20的外形及引腳排列如圖2所示,其中VDD為外接供電電源輸入端,GND為公共地,DQ為數(shù)字信號(hào)輸出端。
圖2DS18B20的外形及引腳排列
基于以上特點(diǎn),采用DS18B2使得硬件消耗更少,系統(tǒng)設(shè)計(jì)更靈活、方便,價(jià)格更便宜,體積更小。
1.2硬件電路設(shè)計(jì)
系統(tǒng)硬件電路如3所示。
圖3系統(tǒng)硬件電路圖
包括信號(hào)采集、系統(tǒng)控制、數(shù)字顯示、高溫報(bào)警四個(gè)部分。傳感器DS18B20為信號(hào)采集器件所采集到的溫度信號(hào),通過(guò)內(nèi)部處理由傳感器的DQ端送到單片機(jī)P3.2端口,經(jīng)單片機(jī)的計(jì)算處理后,由P0口和P1口分別作為4位共陽(yáng)數(shù)碼管的段控信號(hào)和位控信號(hào),共同完成對(duì)所測(cè)溫度值的數(shù)字顯示,zui高位是符號(hào)顯示,如顯示負(fù)號(hào)“-”時(shí),表示當(dāng)前溫度是負(fù)溫度,否則為正溫度;由P2.0端口控制蜂鳴器,當(dāng)測(cè)量的溫度超過(guò)“預(yù)設(shè)報(bào)警溫度”時(shí),發(fā)出提示音報(bào)警;P2.1~P2.3端口來(lái)控制黃、綠、紅3個(gè)發(fā)光二極管分別表示低溫、正常、高溫三種溫度狀態(tài)。石英晶體JT和電容C2,C3共同組成晶振電路;電容C1、電阻R13、SB共同構(gòu)成復(fù)位電路;其中電阻R13為下拉電阻,SB為手動(dòng)復(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ù)相對(duì)較少,結(jié)構(gòu)相對(duì)簡(jiǎn)單,本系統(tǒng)由主程序和多個(gè)子程序組成,采用順序性結(jié)構(gòu)主程序流程。
2.1軟件設(shè)計(jì)要點(diǎn)
由于DS18B20采用的是單線總線協(xié)議方式,即在一條數(shù)據(jù)線上實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而單片機(jī)硬件上不支持單總線協(xié)議,因此必須采用軟件方法來(lái)模擬單總線的協(xié)議是序來(lái)完成對(duì)DS18B20芯片的訪問(wèn)。
由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此對(duì)讀寫的數(shù)據(jù)位有嚴(yán)格的時(shí)序要求,它有嚴(yán)格的通信協(xié)議來(lái)保證各位數(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ǔ)
運(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)用前景廣泛。