單片機看門狗的描述
WDT_CONTR 位置0xE1; [-] [-] [EN_WDT] [CLR_WDT] [IDLE_WDT] [PS2] [PS1] [PS0]
本文引用地址:http://m.butianyuan.cn/article/201611/320675.htmEN_WDT: 看門狗允許位,置 1 啟動看門狗,看門狗不能自動啟動,需要設(shè)置該位后啟動,一旦啟動不能關(guān)閉(只能系統(tǒng)重新上電和看門狗復位可以關(guān)閉)
CLR_WDT: 看門狗計數(shù)器清零位,置1 清零看門狗計數(shù)器,當計數(shù)器開始重新計數(shù),硬件清零該位。
IDLE_WDT: 單片機IDLE 模式看門狗允許位,當IDLE_WDT=1時,單片機在 IDLE 模式(空閑模式)依然啟用看門狗
PS2~PS0: 看門狗定時器預分頻器,下表中 Prescale 表示預分頻數(shù)
PS2 PS1 PS0 Prescale
0 0 0 2
0 0 1 4
0 1 0 8
0 1 1 16
1 0 0 32
1 0 1 64
1 1 0 128
1 1 1 256
看門狗溢出時間:(N*Prescale*32768)/晶振頻率,其中 N 表示指令周期數(shù) N=12 表示 12 時鐘周期模式;N=6 表示6時鐘周期模式。如N=12,晶振頻率為12MHz,PS2~PS0為100時,溢出時間=(12*32*32768)/12=1048576us,差不多是1s。
例如:給WDT_CONTR寫入0×34,即是激活看門狗,同時預分頻數(shù)設(shè)為32。喂狗過程也是一樣的。
順便說一下ATMEL-51單片機的看門狗
下面是關(guān)于ATMEL-51單片機看門狗的描述
【看門狗計數(shù)器】(watchdog timer)是一個14位的計數(shù)器,它以機器周期(晶振頻率/12)增加,當計數(shù)值計滿(16383/0×3FFF)了就使單片機軟復位;當啟動了【看門狗計數(shù)器】之后,我們需要在它計數(shù)沒有滿之前復位計數(shù)器強制它不能夠溢出,這個過程稱作喂狗。
一般設(shè)置是給 WDTRST 先寫入0×1E 再寫入0xE1激活看門狗;喂狗過程也是一樣的,給 WDTRST 先寫入0×1E 再寫入0xE1。
評論