色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 89S51的看門狗用法

          89S51的看門狗用法

          作者: 時間:2011-03-14 來源:網絡 收藏
          起作用的時候是不是只要同時寫O1EH和OE1H到特殊寄存器OA6H中就可以了呢?
          這是89S51的看門狗用法,S52應該是一樣的
          看門狗具體使用方法如下:
          在程序初始化中向看門狗寄存器(WDTRST地址是0A6H)中先寫入01EH,再寫入0E1H。即可激
          活看門狗。
          Org 0000 
          Ljmp begin
          Begin:
          Mov 0A6H,#01EH ;先送1E
          Mov 0A6H,#0E1H ;后送E1
          ;在程序初始化中激活看門狗。
          ……
          ……
          For:
          ……
          Mov 0A6H,#01EH ;先送1E
          Mov 0A6H,#0E1H ;后送E1
          ;喂狗指令
          ……
          Ljmp for
          C語言中要增加一個聲明語句。
          AT89X51.h聲明文件中增加一行 sfr WDTRST = 0xA6;
          Main()
          {
          WDTRST=0x1E;
          WDTRST=0xE1;//初始化看門狗。
          While (1)
          {
          WDTRST=0x1E;
          WDTRST=0xE1;//喂狗指令
          }
          }
          注意事項:
          1. 89S51的看門狗必須由程序激活后才開始工作。所以必須保證CPU有可靠的上電復位。否則看門狗也無法工作。
          2. 看門狗使用的是CPU的晶振。在晶振停振的時候看門狗也無效。
          3. 89S51只有14位計數器。在16383個機器周期內必須至少喂狗一次。而且這個時間是固定的,無法更改。
          當晶振為12M時每16個毫秒需喂狗一次。
          以上程序已調試通過。還利用定時器把看門狗的喂狗時間延長幾秒至幾分鐘。


          評論


          相關推薦

          技術專區(qū)

          關閉