|
看门狗是为了解决单片机程序运行时可能进入混乱或死循环面设置的,AT89S51/52单片机的看门狗它是由一个14bit的计数器和看门狗复位WDTRST构成,在单片机外部复位时,看门狗默认为关闭状态,有打开看门狗,必须按顺序将01EH和0E1H写入到WDTRST寄存器(SRF寄存器中,地址为0A6H),单启动了看门狗,它会随晶振在每个机器周期计数,这时除硬件复位或看门狗溢出复位外没有其它的方法关闭看门狗,当看门狗溢出,将会使单片机的复位脚RST引脚输出高电平的复位脉冲使单片机复位。
在C语言中要增加一个声明语句。 在AT89X51.h声明文件中增加一行 sfr WDTRST = 0xA6; 在程序中加入初始化看门狗及喂狗指令,如下:
main()
{
WDTRST=0x1E;
WDTRST=0xE1;//初始化看门狗。
While (1)
{
WDTRST=0x1E;
WDTRST=0xE1;//喂狗指令
}
}
|
|