對PIC看門狗定時器WDT的理解

2013-09-10 11:50 來源:電子信息網(wǎng) 作者:和靜

pic單片機看門狗計時器(Watch Dog Timer)是一個片內自振式的RC振蕩計時器,無需任何的外接元件。這意味著即使芯片OSC1/OSC2上振蕩停止了(例如執(zhí)行指令SLEEP后),WDT照樣保持計時。WDT計時溢出將產生RESET。在PIC16C5X 芯片內有一個特殊的謂之"定義EPROM"(Configuration EPROM)的單元,其中的一個位是用于定義WDT的。你可以將其置"0"來抑制WDT使之永遠不起作用。

1、WDT周期

WDT有一個基本的溢出周期16ms(無預分頻器pic16F917),如果你需要更長的WDT周期,可以把預分頻器分配給WDT,最大分頻比可達1:128,這時的WDT溢出周期約為2.5S。pic16F917看門狗還提供了一個16位的預分頻器,使WTD的超時值提高到268s。WDT溢出周期和環(huán)境溫度、VDD等參數(shù)有關系,請參閱附錄的圖表。

"CLRWDT"和"SLEEP"指令將清除WDT計時器以及預分頻器里已有的計數(shù)值(當預分頻器分配給WDT時)。WDT一般用來防止系統(tǒng)失控或者說防止單片機程序運行"失控"。在正常情況下,WDT應在計滿溢出前被CLRWDT指令清零,以防止產生RESET。如果程序由于某種干擾而失控,那么不能在WDT溢出前執(zhí)行一條CLRWDT指令,就會使WDT溢出而產生RESET,使系統(tǒng)重新啟動運行而不至失去控制。若WDT溢出產生RESET,則狀態(tài)寄存器STATUS的"TO"位會被清零,用戶程序可藉此判斷復位是否由WDT溢時所造成。

2、pic單片機WDT編程注意事項

如果使用WDT,一定要仔細在程序中的某些地方放一條"CLRWDT"指令,以保證在WDT在溢出前能被請零。否則會造成芯片不停地產生RESET,使系統(tǒng)無法正常工作。

PIC WDT 看門狗

相關閱讀

暫無數(shù)據(jù)

一周熱門