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