|
看門狗是為了解決單片機程序運行時可能進入混亂或死循環面設置的,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;//喂狗指令
}
}
|
|