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