找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 14925|回復(fù): 0
收起左側(cè)

AT89S51/51單片機(jī)看門狗的c語言程序

[復(fù)制鏈接]
ID:76686 發(fā)表于 2015-4-11 19:40 | 顯示全部樓層 |閱讀模式
     看門狗是為了解決單片機(jī)程序運(yùn)行時(shí)可能進(jìn)入混亂或死循環(huán)面設(shè)置的,AT89S51/52單片機(jī)的看門狗它是由一個(gè)14bit的計(jì)數(shù)器和看門狗復(fù)位WDTRST構(gòu)成,在單片機(jī)外部復(fù)位時(shí),看門狗默認(rèn)為關(guān)閉狀態(tài),有打開看門狗,必須按順序?qū)?1EH和0E1H寫入到WDTRST寄存器(SRF寄存器中,地址為0A6H),單啟動(dòng)了看門狗,它會(huì)隨晶振在每個(gè)機(jī)器周期計(jì)數(shù),這時(shí)除硬件復(fù)位或看門狗溢出復(fù)位外沒有其它的方法關(guān)閉看門狗,當(dāng)看門狗溢出,將會(huì)使單片機(jī)的復(fù)位腳RST引腳輸出高電平的復(fù)位脈沖使單片機(jī)復(fù)位。


    在C語言中要增加一個(gè)聲明語句。 在AT89X51.h聲明文件中增加一行 sfr WDTRST = 0xA6; 在程序中加入初始化看門狗及喂狗指令,如下:
main()

{
    WDTRST=0x1E;
    WDTRST=0xE1;//初始化看門狗。
    While (1)
   {
      WDTRST=0x1E;
      WDTRST=0xE1;//喂狗指令
      }
}

回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表