89S51看門狗功能的使用方法如下:
在程序初始化中向看門狗寄存器(WDTRST地址是0A6H)中先寫入01EH,再寫入0E1H。即可激
活看門狗。
Org0000
Ljmpbegin
Begin:
Mov0A6H,#01EH;先送1E
Mov0A6H,#0E1H;后送E1
;在程序初始化中激活看門狗。
……
……
For:
……
Mov0A6H,#01EH;先送1E
Mov0A6H,#0E1H;后送E1
;喂狗指令
……
Ljmpfor
在C語言中要增加一個聲明語句。
在AT89X51.h聲明文件中增加一行sfrWDTRST=0xA6;
Main()
{
WDTRST=0x1E;
WDTRST=0xE1;//初始化看門狗。
While(1)
{
WDTRST=0x1E;
WDTRST=0xE1;//喂狗指令
}
}
注意事項:
1.89S51的看門狗必須由程序激活后才開始工作。所以必須保證CPU有可靠的上電復(fù)位。
否則看門狗也無法工作。
2.看門狗使用的是CPU的晶振。在晶振停振的時候看門狗也無效。
3.89S51只有14位計數(shù)器。在16383個機器周期內(nèi)必須至少喂狗一次。而且這個時間是固
定的,無法更改。當晶振為12M時每16個毫秒需喂狗一次。
還可利用定時器把看門狗的喂狗時間延長幾秒至幾分鐘。
一般情況下還是使用專門的看門狗芯片.