歡迎光臨!1kic網(wǎng)專注于為電子元器件行業(yè)提供免費(fèi)及更實(shí)惠的芯片ic交易網(wǎng)站。
89S51看門狗功能的使用方法 〖文章轉(zhuǎn)載或出處〗≡中國(guó)電子技術(shù)信息網(wǎng)≡ 網(wǎng)址:www.EC66.com 89S51看門狗功能的使用方法 S51的狗大家都說不好,可還是有人用的,干嗎拿石頭砸我!呵呵...! 89S51看門狗功能的使用方法到1kic 在ATMEL的89S51系列的89S51與89C51功能相同。指令兼容。HEX程序無需任何轉(zhuǎn)換可以 直接使用。89S51只比89C51增加了一個(gè)看門狗功能。89S51的其它功能可以參見89C51的資料 。 看門狗具體使用方法如下: 在程序初始化中向看門狗寄存器(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語(yǔ)言中要增加一個(gè)聲明語(yǔ)句。 在AT89X51.h聲明文件中增加一行 sfr WDTRST = 0xA6; Main() { WDTRST=0x1E; WDTRST=0xE1;//初始化看門狗。 While (1) { WDTRST=0x1E; WDTRST=0xE1;//喂狗指令 } } 注意事項(xiàng): 1. 89S51的看門狗必須由程序激活后才開始工作。所以必須保證CPU有可靠的上電復(fù)位。 否則看門狗也無法工作。 2. 看門狗使用的是CPU的晶振。在晶振停振的時(shí)候看門狗也無效。 3. 89S51只有14位計(jì)數(shù)器。在16383個(gè)機(jī)器周期內(nèi)必須至少喂狗一次。而且這個(gè)時(shí)間是固 定的,無法更改。當(dāng)晶振為12M時(shí)每16個(gè)毫秒需喂狗一次。 以上程序我已調(diào)試通過。還利用定時(shí)器把看門狗的喂狗時(shí)間延長(zhǎng)幾秒至幾分鐘。