基于DS18DB20的多功能溫度測(cè)量?jī)x
1 硬件電路設(shè)計(jì)
1. 1 溫度傳感器
采用DA LLAS 公司的溫度傳感器DS18B20 作為溫度采集器件,DS18B20 的內(nèi)部結(jié)構(gòu)主要由64 位ROM、溫度靈敏元件、內(nèi)部存儲(chǔ)器和配置寄存器4 部分組成,如圖1 所示。
( 1) 64 位ROM。它的內(nèi)容是64 位序列號(hào),它可以被看作是該DS18B20 的地址序列碼,其作用是使每個(gè)DS18B20 都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20 的目的。
( 2) 溫度靈敏元件。它完成對(duì)溫度的測(cè)量,測(cè)量后的結(jié)果存儲(chǔ)在2 個(gè)8 B 的溫度寄存器中。
( 3) 內(nèi)部存儲(chǔ)器。內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2 PROM,后者存放高溫度和低溫度觸發(fā)器TH、TL 以及配置寄存器。
圖1 DS18B20 的內(nèi)部結(jié)構(gòu)
DS18B20 具有以下特點(diǎn):
( 1) 獨(dú)特的單線接口方式,與單片機(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. 5 V 無(wú)需備用電源;( 6) DS18B20 有TO 92、SOIC 及CSP 封裝,本測(cè)量?jī)x選用DS18B20 的外形及引腳排列如圖2 所示,其中VDD 為外接供電電源輸入端,GND 為公共地,DQ為數(shù)字信號(hào)輸出端。
圖2 DS18B20 的外形及引腳排列
基于以上特點(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ù)字顯示,最高位是符號(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 、電阻R 13、S B 共同構(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)主程序流程。
評(píng)論