0 引言
在工業(yè)生產(chǎn)及日常生活中,多點(diǎn)溫度檢測系統(tǒng)的應(yīng)用十分廣泛,例如消防電氣的非破壞性溫度檢測,電力設(shè)備的過熱故障預(yù)知檢測,空調(diào)系統(tǒng)的溫度檢測,各類運(yùn)輸工具組件的過熱檢測,醫(yī)療與診斷設(shè)備的溫度測試等。針對這一情況,本文設(shè)計(jì)了一種基于AT89C51、數(shù)字溫度傳感器DSl8820的多點(diǎn)溫度檢測系統(tǒng),該系統(tǒng)利用DSl8820單總線的特點(diǎn),可以方便地組建傳感器網(wǎng)絡(luò),從而實(shí)現(xiàn)多點(diǎn)溫度的測量。該系統(tǒng)設(shè)計(jì)靈活、抗干擾性好,可以在惡劣的工作環(huán)境中進(jìn)行溫度測量。
1 總體結(jié)構(gòu)
設(shè)計(jì)的多點(diǎn)溫度檢測系統(tǒng)如圖1所示。該系統(tǒng)主要由AT89C51單片微型計(jì)算機(jī)、鍵盤顯示電路、溫度顯示電路、看門狗電路、溫度測試電路、串口通信電路等組成。
2 硬件電路
2.1 溫度測試電路
溫度測試電路主要采用溫度芯片DSl8820,它是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,測溫范圍為-55~+125℃,測溫分辨率可達(dá) O.062 5℃,它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等特點(diǎn),特別適合于構(gòu)成多點(diǎn)溫度測控系統(tǒng)。其內(nèi)部結(jié)構(gòu)如圖2所示。
DSl8820有4個(gè)主要的數(shù)據(jù)部件:
(1)64位激光ROM。64位激光ROM從高位到低位依次為8位CRC、48位序列號和8位家族代碼(28H)組成;
(2)溫度靈敏元件;
(3)非易失性溫度報(bào)警觸發(fā)器TH和TL,可通過軟件寫入用戶報(bào)警上下限值;
(4)配置寄存器。配置寄存器為高速暫存存儲器中的第五個(gè)字節(jié)。DSl8820在0工作時(shí)按此寄存器中的分辨率將溫度轉(zhuǎn)換成相應(yīng)精度的數(shù)值,其各位定義如圖3所示。
圖3中:TM為測試模式標(biāo)志位,出廠時(shí)被寫入0,不能改變;R0,Rl為溫度計(jì)分辨率設(shè)置位,其對應(yīng)4種分辨率如表1所列,出廠時(shí)R0,R1置為缺省值:R0=1,R1=1(即12位分辨率),用戶可根據(jù)需要改寫配置寄存器以獲得合適的分辨率。
高速暫存存儲器由9個(gè)字節(jié)組成,其分配如圖4所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲器的第O和第1個(gè)字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式如圖4所示。對應(yīng)的溫度計(jì)算:當(dāng)符號位S=O時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng) S="1時(shí)",先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。
由于DSl8B20是單線數(shù)字溫度傳感器,因此它基本不需要外圍電路就可以與單片機(jī)直接以1根線相連,圖5為多個(gè)DSl8B20通過單總線與單片機(jī)相連的原理圖,圖中,DSl8B20采用外部電源供電方式。
2.2 鍵盤及顯示電路
該系統(tǒng)采用的是矩陣式鍵盤,共組成20個(gè)按鍵,主要包括10個(gè)數(shù)字鍵以及“上限”、“下限”、“確定”等功能鍵。當(dāng)有鍵按下時(shí),8279產(chǎn)生中斷信號送入單片機(jī),然后轉(zhuǎn)向相應(yīng)的功能程序。
顯示部分采用1片75451與5個(gè)LED數(shù)碼管相連來實(shí)現(xiàn)動(dòng)態(tài)顯示,工作狀況下,從左向右依次顯示為通道號、溫度的正負(fù)號、溫度值的十位、溫度值的個(gè)位以及溫度值的小數(shù)點(diǎn)后一位。
2.3 電源電路
因?yàn)閱纹瑱C(jī)工作電源為+5 V,且底層電路功耗很小,采用7805三端穩(wěn)壓片即可滿足要求。具體電路如圖6所示。
2.4 看門狗電路
考慮到底層電路板的工作環(huán)境相對惡劣,單片機(jī)會受到周圍環(huán)境的干擾,因而出現(xiàn)程序跑飛、死機(jī)等一些不可預(yù)知的不正常工作現(xiàn)象,工作人員也不可能到現(xiàn)場對單片機(jī)重起,本設(shè)計(jì)為單片機(jī)電路添加一個(gè)外部看門狗電路,定時(shí)查詢單片機(jī)的工作狀態(tài),一但發(fā)現(xiàn)異常即對單片機(jī)延時(shí)重起,以保證系統(tǒng)安全可靠的運(yùn)行。其電路如圖7所示。
3 軟件設(shè)計(jì)
系統(tǒng)的軟件采用模塊化方法進(jìn)行編程,主要由主程序、數(shù)碼管顯示程序、鍵盤掃描以及按鍵處理程序、溫度測試程序、中斷控制程序等組成。其中主程序完成系統(tǒng)初始化和對采集到的溫度進(jìn)行計(jì)算等;鍵盤掃描電路及按鍵處理程序?qū)崿F(xiàn)鍵盤的輸入按鍵的識別及相關(guān)處理;溫度測試程序主要完成由溫度芯片傳送數(shù)據(jù)的處理,并進(jìn)行判斷和顯示;數(shù)碼管顯示程序完成向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分;中斷控制程序則實(shí)現(xiàn)循環(huán)顯示功能。
系統(tǒng)程序流程圖如圖8所示。
4 結(jié)語
利用AT89C51單片機(jī)和DSl8B20數(shù)字溫度傳感器可以實(shí)現(xiàn)多點(diǎn)溫度的檢測與控制。系統(tǒng)具有信號數(shù)字化、硬件簡單化和抗干擾能力強(qiáng)等特點(diǎn),如果與相應(yīng)的可擴(kuò)展接口芯片相連,則可實(shí)現(xiàn)更多路溫度的測量與控制,以適應(yīng)工業(yè)生產(chǎn)的需要。