渦街流量計智能技術(shù)的應(yīng)用與原理 二十
第四章智能壓電式渦街流量計的軟件研制
§4.1軟件系統(tǒng)結(jié)構(gòu)總述
在研制智能壓電式渦街流量計時,確定了流量計工作在三種工作狀態(tài):運行狀態(tài)、設(shè)定狀態(tài)、通訊狀態(tài)。根據(jù)主程序盡量簡短的原則,作者采用在主程序中設(shè)置五個需要定時工作的任務(wù)入口: ①HART通訊超時錯誤;②HART通訊突發(fā)間隔計時;③渦街流量脈沖計數(shù);④工況條件下溫度壓力的采樣;⑤渦街瞬時累積流量的顯示。通過使用定時器TMRO,并利用軟件中斷技術(shù),實現(xiàn)關(guān)于HART通訊的超時錯誤、突發(fā)間隔計時這兩個中斷;通過使用外來2Hz中斷(從PICl6C76的INT/BO腳引入),并利用軟件中斷技術(shù),實現(xiàn)關(guān)于脈沖計數(shù)、溫度壓力的采樣及流量的顯示這三個中斷。
HART通訊時允許兩個字符之間的最大傳送時間間隔為9.167ms。用于突發(fā)模式的突發(fā)間隔為75ms。TMRO是一個8位可循環(huán)溢出的定時器/計數(shù)器,將它設(shè)置為定時方式,置初值為66H,根據(jù)1.8432MHz的主頻,則定時器TMRO每隔lms中斷一次。這樣只要給寄存器TIMEREG0、TIMEREGl分別賦不同的初值,并在HART通訊時啟動TMRO,使其在由TMRO引發(fā)的時鐘中斷中每次減l,到了預(yù)定時間寄存器值將減至0,此時則分別置FLAG相應(yīng)標(biāo)志位(FLAG為軟中斷標(biāo)志
寄存器,FLAG.0表示此寄存器的第0位,如該位為l表示所代表的事件應(yīng)進(jìn)入相應(yīng)軟中斷處理程序),中斷返回,再在主程序中查詢標(biāo)志位就可轉(zhuǎn)入各自須調(diào)用的子程序。
由于渦街流量脈沖計數(shù)程序中斷級別最高且要求精確計時,故對它實行INT硬件中斷(INT/BO腳)并對其它中斷予以屏蔽。同時TMRl被設(shè)置為16位計數(shù)方式用以對脈沖計數(shù)。PICt6C76的INT/BO腳接外來晶振2Hz(32kHz晶振經(jīng)4060的14位分頻),為了得到1S、3s和5s的定時片,在此程序開始處將已預(yù)置初值的TIMEREG2、TIMEREG3、TIMEREG4各減l,到了預(yù)定時間寄存器值將減至0,此時置標(biāo)志位。脈沖計數(shù)時間間隔為ls,溫度壓力的采樣時間間隔設(shè)為3秒,
瞬時累積流量的輪顯時間間隔設(shè)為5秒。1S到時在主程序中查到FLAG.2標(biāo)識為L便調(diào)用脈沖計數(shù)子程序,通過脈沖計數(shù)子程序讀取TMRl的16位計數(shù)值,并計算瞬時累積流量,輸出D/A信號。其它中斷還包括鍵盤中斷、SCI中斷和OCD中斷。
為了防止程序由于某種干擾而失控,我們安排了看門狗計時器(Watch DogTimer)。它是一個片內(nèi)自振式的Rc振蕩計時器。它的溢出將產(chǎn)生復(fù)位作用。WOT的基本溢出周期是18ms,我們將它的預(yù)分頻倍數(shù)設(shè)為1:128,這時的WDT溢出周期為2.5s,并在主程序中放置幾條“CLRWDT”指令。這樣如果程序失控,就不能在WDT溢出前執(zhí)行清WDT寄存器指令從而溢出產(chǎn)生復(fù)位。
系統(tǒng)先經(jīng)過初始化程序處理,初始化程序由1/O輸入輸出口初始化、寄存器值初始化、緩沖區(qū)初始化、參數(shù)值的EEPROM讀取、中斷初始化等幾部分組成。然后進(jìn)入輪詢軟中斷標(biāo)志位的循環(huán)中,如查到某位為L則轉(zhuǎn)入與之相應(yīng)的軟件處理程序。期間系統(tǒng)自動響應(yīng)各種硬件中斷,如時間中斷、INT中斷、串行中斷、按鍵中斷等。各中斷的判斷和相應(yīng)操作。
詳情請瀏覽公司網(wǎng)站的產(chǎn)品中心 http://m.sol365.cn/ 渦街流量計