89S51看門狗功能的使用方法
在ATMEL的89S51系列的89S51與89C51功能相同,指令兼容。HEX程序無(wú)需任何轉(zhuǎn)換可以直接使用。89S51只比89C51增加了一個(gè)看門狗功能。
向看門狗寄存器(WDTRST地址是0A6H)中先寫入01EH,再寫入0E1H,即可激活看門狗。
匯編程序如下:
Mov 0A6H,#01EH ;先送1E
Mov 0A6H,#0E1H ;后送E1
C51程序如下:
在AT89X51.h聲明文件中增加一行 sfr WDTRST = 0xA6來(lái)聲明看門狗寄存器。
Main()
{
WDTRST=0x1E; //先送1E
WDTRST=0xE1; //后送E1
喂狗指令與激活相同:
WDTRST=0x1E;
WDTRST=0xE1;
注意事項(xiàng):
1. 89S51的看門狗必須由程序激活后才開始工作。
2. 看門狗使用的是CPU的晶振。在晶振停振的時(shí)候看門狗也無(wú)效。
3. 89S51只有14位計(jì)數(shù)器。在16383個(gè)機(jī)器周期內(nèi)必須至少喂狗一次。而且這個(gè)時(shí)間是固定的,無(wú)法更改。當(dāng)晶振為12M時(shí)每16個(gè)毫秒需喂狗一次。