在工業(yè)使用現(xiàn)場(chǎng),往往會(huì)由于供電電源、空間電磁干擾或其他原因引起強(qiáng)烈的干擾噪聲,這些干擾作用于數(shù)字元器件時(shí),極易容易使其產(chǎn)生誤動(dòng)作,引起單片機(jī)發(fā)生“程序飛跑”或陷入死循環(huán)事故,使儀器“死機(jī)”。
為了檢測(cè)程序狀態(tài),采用程序監(jiān)視技術(shù),即看門狗技術(shù),使得程序可以脫離死循環(huán)狀態(tài)。
在正常操作期間,一次看門狗定時(shí)器(WDT)定時(shí)時(shí)間到,將產(chǎn)生一次器件復(fù)位,如果通過編寫程序使WDT定時(shí)時(shí)間稍大于程序執(zhí)行一個(gè)周期所用的時(shí)間,并且在程序執(zhí)行過程中有對(duì)WDT清零的指令,使計(jì)數(shù)器重新計(jì)數(shù),則程序正常運(yùn)行時(shí),就會(huì)在WDT定時(shí)時(shí)間到之前對(duì)WDT清零,不會(huì)產(chǎn)生WDT的溢出。如果由于干擾信號(hào)使程序跑飛,則不會(huì)在WDT定時(shí)時(shí)間到之前執(zhí)行WDT清零指令,WDT就會(huì)產(chǎn)生溢出,從而產(chǎn)生系統(tǒng)復(fù)位,單片機(jī)需要重新開始運(yùn)行程序,這樣程序就可以又回到正常的工作狀態(tài)。
看門狗定時(shí)器也可做為內(nèi)部定時(shí)器使用。
WDT定時(shí)器:

(1)WDTCNT :16位增計(jì)數(shù)器;
(2)WDTCTL:控制寄存器
WDTPW(15-8)--------看門狗定時(shí)器訪問口令:讀取時(shí)總為 69H,寫時(shí)應(yīng)該為5AH;
WDTHOLD(7)---------看門狗暫停位:0時(shí),正常工作;1時(shí)暫停;
WDTNMIES(6)--------NMI邊沿選擇位:WDTNMI為1時(shí)選擇NMI中斷沿,0時(shí),上升沿觸發(fā)NMI中斷;1時(shí),下降沿觸發(fā)NMI中斷;
WDTNMI(5)----------RST/NMI引腳功能選擇位:0時(shí),為復(fù)位RST引腳;1時(shí),為NMI中斷輸入引腳;
WDTTMSEL(4)--------工作模式選擇位:0時(shí),看門狗模式;1時(shí),定時(shí)器模式;
WDTCNTCL(3)--------計(jì)數(shù)器清零控制位:0時(shí),無作用;1時(shí),計(jì)數(shù)器WDTCNT清零;
WDTSSEL(2)---------計(jì)數(shù)器時(shí)鐘源選擇位:0時(shí),SMCLK;1時(shí),ACLK;
WDTISx(1、0)-------定時(shí)間隔選擇位:
0時(shí),時(shí)間間隔=32768/看門狗時(shí)鐘源頻率
1時(shí),時(shí)間間隔=8192/看門狗時(shí)鐘源頻率
2時(shí),時(shí)間間隔=512/看門狗時(shí)鐘源頻率
3時(shí),時(shí)間間隔=64/看門狗時(shí)鐘源頻率(單位:秒)
愛華網(wǎng)



