電磁流量計設計程序研究與探討 八十二
電磁流量計一般來說看門狗定時器的硬件電路為一獨立于CPU之外的單穩(wěn)部件,可用單穩(wěn)電路構(gòu)成,也可用自帶脈沖源的計數(shù)器構(gòu)成。CPU正常工作時每隔一段時間就輸出一個脈沖,將單穩(wěn)態(tài)系統(tǒng)觸發(fā)到暫穩(wěn)態(tài)系統(tǒng)。當CPU陷入死循環(huán)后,再也不去觸發(fā)單穩(wěn)態(tài)系統(tǒng)了,單穩(wěn)態(tài)系統(tǒng)就可順利返回穩(wěn)態(tài)。利用它返回穩(wěn)態(tài)時輸出的信號作為復位信號,就可以使CPU退出死循環(huán)。
程序進入while循環(huán)后,設置看門狗定時間隔為1s,同時計數(shù)值清零,然后執(zhí)行特定功能的程序主體,如此反復執(zhí)行。如果特定功能程序主體部分的執(zhí)行.時間加上這段時間所執(zhí)行的所有中斷處理時間之和小于設定的看門狗定時間隔1s,那么程序總是正常進行的;如果系統(tǒng)受到干擾,程序跑飛或陷入死循環(huán),這時執(zhí)行不至UWDTCTL=WDY ARST_1000;從而計數(shù)器沒有被清零,當計數(shù)器溢出時WDTIFG置位,產(chǎn)生系統(tǒng)PUC信號復位,這樣就脫離了死循環(huán)狀態(tài)。
由于系統(tǒng)的PUC信號不會將WDTIFG位清零(POR信號將WDTIFG位清零),所以可以在復位時通過檢測wDTIFG是否置位來判斷復位產(chǎn)生源:若WDTIFG為置位狀態(tài),則為看門狗溢出復位或看門狗訪問出錯復位;若WDTIFG為復位狀態(tài),則為非看門狗復位。
電磁流量計