實(shí)現(xiàn)對(duì)多路參數(shù)變化的監(jiān)測(cè)控制系統(tǒng)的設(shè)計(jì)
硬件電路如圖1所示,分成數(shù)據(jù)采集、按鍵控制和顯示輸出三大部分。C8051FXXX系列的8路模擬量采集通道,通過(guò)選擇不同功能的傳感器或電量轉(zhuǎn)換裝置(如電流、電壓互感器、集成溫度傳感器等),完成對(duì)被測(cè)目標(biāo)系統(tǒng)多路參數(shù)的數(shù)據(jù)采集。工作時(shí),系統(tǒng)不斷將各通道采集來(lái)的數(shù)據(jù)與用戶事先設(shè)定的上/下限極值進(jìn)行比較;系統(tǒng)執(zhí)行機(jī)構(gòu)根據(jù)比較結(jié)果,確定是否越限而作出相應(yīng)的具體操作。系統(tǒng)顯示部分為5位LED顯示,低4位用來(lái)顯示用戶所選定通道的模擬信號(hào)大小或上/下限極值設(shè)置 數(shù)據(jù),最高位LED4為通道數(shù)字(0~7)顯示位。 P0.0~P0.7為各通道越限處理輸出,分別控制相應(yīng)的執(zhí)行機(jī)構(gòu)。
2.1 按鍵控制功能
按鍵控制部分是整個(gè)系統(tǒng)最復(fù)雜、最能體現(xiàn)設(shè)計(jì)思想的一部分。為了方便地選擇通道及顯示設(shè)置數(shù)據(jù),以盡量少的按鍵完成盡可能多的功能,實(shí)現(xiàn)較好的人機(jī)界面和軟、硬件資源的有機(jī)結(jié)合,設(shè)置了選擇通道的“切換”鍵S1、進(jìn)行ADC窗口檢測(cè)器上/下限極值設(shè)定的“設(shè)置”鍵S5、改變LED顯示數(shù)據(jù)的“+”、 “-”鍵S3、S4,并要求每按一次使顯示值加(減)1。如果連續(xù)按鍵超過(guò)一定時(shí)間(如2s),則顯示值將很快地遞增或遞減。用戶設(shè)置完畢,按下“存儲(chǔ)” 鍵S2,可將所設(shè)數(shù)據(jù)保存在非易失性數(shù)據(jù)存儲(chǔ)器Flash中,避免由于斷電而需重新設(shè)置數(shù)據(jù)的麻煩。通過(guò)軟件設(shè)計(jì),完成數(shù)據(jù)的自我備份與保護(hù),不需要另置備用電池,簡(jiǎn)化了硬件結(jié)構(gòu)。
2.2 ADC的工作方式及窗口檢測(cè)器
C8051F000片內(nèi)ADC子系統(tǒng)內(nèi)除集成了1個(gè)多通道模擬輸入選擇器(AMUX)、可編程增益放大器(PGA)和1個(gè)100Ksps、12位分辨率的逐次逼近型ADC外,還集成了跟蹤保持電路和可編程窗口檢測(cè)器。它們完全由CIP-51通過(guò)特殊功能寄存器控制。
① ADC0CN寄存器。控制轉(zhuǎn)換啟動(dòng)方式和結(jié)果數(shù)據(jù)存放方式,設(shè)置ADC轉(zhuǎn)換結(jié)束和窗口檢測(cè)器中斷標(biāo)志等。A/D轉(zhuǎn)換允許用軟件事件、硬件信號(hào)觸發(fā)轉(zhuǎn)換或進(jìn)行連續(xù)轉(zhuǎn)換。每次轉(zhuǎn)換完成后產(chǎn)生一個(gè)中斷,或者用軟件查詢來(lái)判斷轉(zhuǎn)換是否結(jié)束,完成后數(shù)據(jù)字被鎖存在指定的寄存器中。
② AMXOSL、AMXOCF寄存器。ADC通道選擇。當(dāng)AMXOCF=00H時(shí),AMXOSL的00H~07H分別表示選擇AIN0~AIN7八個(gè)模擬輸入通道。
③ ADC0GTH ADC0GTL寄存器。該兩個(gè)存儲(chǔ)單元為ADC可編程窗口檢測(cè)器,為供用戶設(shè)定上限的12位數(shù)據(jù)寄存器。ADC0GTH為高四位,ADC0GTL為低八位。
④ ADC0LTH ADC0LTL寄存器。ADC可編程窗口檢測(cè)器,為供用戶設(shè)定下限的12位數(shù)據(jù)寄存器。
3 軟件設(shè)計(jì)
為便于升級(jí)和維護(hù),軟件設(shè)計(jì)采用積木式模塊化處理,各功能模塊既相互聯(lián)系,又自成一體。其基本設(shè)計(jì)思想是:利用定時(shí)/計(jì)數(shù)器T3的溢出,定時(shí)地啟動(dòng) ADC轉(zhuǎn)換和窗口比較器中斷。通過(guò)中斷處理,將相應(yīng)通道的12位轉(zhuǎn)換數(shù)據(jù)與由用戶設(shè)定的上/下限極值作為越限條件進(jìn)行比較,產(chǎn)生新的中斷輸出,驅(qū)使系統(tǒng)執(zhí)行機(jī)構(gòu)進(jìn)行相應(yīng)的調(diào)整,從而達(dá)到數(shù)據(jù)被控制在某一范圍內(nèi)的目的。
主程序由初始化、顯示、定時(shí)比較及按鍵處理等軟件功能模塊組成,圖2為主程序流程框圖。