您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶(hù)?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>驅(qū)動(dòng)程序>

AT89S51看門(mén)狗的技術(shù)應(yīng)用

大?。?/span>1 人氣: 2010-02-08 需要積分:0
{$username}的空間

用戶(hù)級(jí)別:注冊(cè)會(huì)員

貢獻(xiàn)文章:

貢獻(xiàn)資料:

AT89S51看門(mén)狗的技術(shù)應(yīng)用

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

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶(hù)評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?