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