新型數(shù)字溫度傳感器DS18B20組成的溫度巡檢系統(tǒng)
1 概 述 隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實現(xiàn),能夠獨立工作的溫度檢測和顯示系統(tǒng)已經(jīng)應(yīng) 用于諸多領(lǐng)域。傳統(tǒng)的溫度檢測以熱敏電阻為溫度敏感元件,熱敏電阻成本低,但需要后續(xù)信號處理電路,而且 熱敏電阻的可靠性相對較差,測量溫度的準確度低,檢測系統(tǒng)的精度差[1]。我們選用了美國DALLAS公司最新推出 的DS18B20數(shù)字式溫度傳感器,DS18B20是DS1820的更新產(chǎn)品,它與傳統(tǒng)的熱敏電阻溫度傳感器不同,它能夠直接 讀出被測溫度并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式,可以分別在93.75ms和750ms內(nèi) 將溫度值轉(zhuǎn)化9位和12位的數(shù)字量。因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高。 2 AT89C2051單片機 本文選用的單片機為AT89C2051,它是一個只有20引腳的體積小、價格便宜的Flash ROM型單片 機。提供以下標準功能:一個8位CPU、2KB的閃爍存儲器、128字節(jié)RAM、15根I/O線、兩個16位定時器、一個全雙 工串行口、5個中斷源,還有片內(nèi)振蕩電路和時鐘電路及一個精密模擬比較器。具有與MCS-51完全兼容的指令系 統(tǒng),因而系統(tǒng)硬件設(shè)計簡單,軟件設(shè)計也十分方便[2]。 3 DS18B20溫度傳感器的特點 ·單線接口,只有一根信號線與CPU連接 ·傳送串行數(shù)據(jù),不需要外部元件 ·不需要備份電源、可用數(shù)據(jù)線供電 ·溫度測量范圍從-50oC~125oC,-10oC~85oC時測量精度為±0.5oC ·通過編程可實現(xiàn)9~12位的數(shù)字值讀數(shù)方式, ·在93.75ms和750ms內(nèi)將溫度值轉(zhuǎn)化9位和12位的數(shù)字量 ·用戶可自設(shè)定非易失性的報警上下限值 ·報警搜索命令可以識別哪片DS18B20溫度超限 4 DS18B20溫度傳感器的存儲器 DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦 除的E2RAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。暫存存儲器包含了8個連續(xù)字節(jié),前兩個字節(jié)是 測得的溫度信息,第一個字節(jié)的內(nèi)容是溫度的低八位,第二個字節(jié)是溫度的高八位。第三個和第四個字節(jié)是TH、 TL的易失性拷貝,第五個字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個字節(jié)的內(nèi)容在每一次上電復(fù)位時被刷新。第 六、七、八個字節(jié)用于內(nèi)部計算。第九個字節(jié)是冗余檢驗字節(jié)。 暫存存儲器的前兩個子節(jié)代表的數(shù)據(jù)格式是: 溫度低位字節(jié)(A) 溫度高位字節(jié)(B) 溫度算法:①SSSSS=11111b,D=-1;SSSSS=00000b,D=1 最小分辨率為0.0625oC:② 當D=1時,溫度值 ③ 當D=- 1時,溫度值 結(jié)構(gòu)寄存器的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。該字節(jié)各位的意義如下: MSB LSB TM R1 R0 1 1 1 1 1 低五位一直都是1 ,TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設(shè) 置為0,用戶不要去改動。R1和R0用來設(shè)置分辨率,如下表所示:(DS18B20出廠時被設(shè)置為12位) 表1 分辨率設(shè)置表 R1 R0 分辨率 溫度******轉(zhuǎn)換時間 0 0 9位 93.75ms 0 1 10位 187.5ms 1 0 11位 375ms 1 1 12位 750ms 5數(shù)碼顯示 利用AT89C2051串行口的移位寄存器工作方式,通過外接美國MAXIM公司推出的MAX7219串行LED顯示驅(qū) 動器,避免了CPU直接定時對LED服務(wù),使CPU讓出更多的時間去處理被控制對象。MAX7219是串行輸入共陰極顯示 驅(qū)動器,每片可驅(qū)動8個LED數(shù)碼管。用戶只需對片內(nèi)的位和控制寄存器編程,即可選擇譯碼方式、LED個數(shù)、顯示 亮度和關(guān)閉等一些功能[3]。 6 硬件電路 系統(tǒng)硬件結(jié)構(gòu)圖如圖1所示: 7系統(tǒng)軟件概述 由于DS18B20的分辨率可以通過編程進行選擇,使得DS18B20比DS1820在分辨率提高的前提下,整體 表現(xiàn)出一致性很好。 系統(tǒng)的主程序用C51編寫,主要是C51調(diào)用匯編語言,完成對DS18B20的調(diào)用、中斷管理、測量溫度值的計算及溫度 值的顯示等功能。顯示程序?qū)崿F(xiàn)定時對各路溫度值的巡檢和顯示,并且在一個通道上允許修正中斷,以實現(xiàn)根據(jù) 溫度標稱值修正傳感器的目的。使用者只需打開電源就可以從觀察屏上看到關(guān)心的溫度變化情況并且很方便紀錄 數(shù)據(jù)。 |