原创 89S51看门狗功能的使用方法

2007-5-24 18:33 3375 4 5 分类: MCU/ 嵌入式

在ATMEL的89S51系列的89S51与89C51功能相同。指令兼容。HEX程序无需任何转换可以
直接使用。89S51只比89C51增加了一个看门狗功能。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语言中要增加一个声明语句。
在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个毫秒需喂狗一次。
以上程序我已调试通过。还利用定时器把看门狗的喂狗时间延长几秒至几分钟。 





文章评论1条评论)

登录后参与讨论

用户214206 2007-6-13 09:37

 

相关推荐阅读
用户77878 2008-03-18 16:15
决定高薪的细节守则
每天晚上8点到10点之间,你在做什么基本决定着你是薪水见涨,还是薪水见降。8点到10点之间,是在有目的性阅读,还是为明天的事情做准备,甚至在充电专业或研习第二专长?不管是哪一样,都有可能迈向成功,一个...
用户77878 2008-03-18 15:48
待机与休眠的区别
在使用笔记本的时候可能很多人都会注意到两个功能——待机与休眠,但这两者之间究竟有什么区别呢?什么情况下选择待机、什么情况下选择休眠我想很多人都没认真思考过,大部分都是随便选一个。实际上他们之间的区别...
用户77878 2008-03-10 19:07
多晶硅产能大战 四川力量将催生国际级巨头
  各地多晶硅项目大规模建设带来的结果是,目前9成以上国内多晶硅需从国外进口的现状将从此改变。行业预计,不到10年,中国将成全球最大多晶硅生产国。那么,高价多晶硅又将持续到何时?四川将在全球新能源格局...
用户77878 2008-03-10 14:57
硕士研究方向确定
    硕士研究生的学习已经开始了一个学期,上学期老板给确定的方向是高速永磁电机变频器的设计制作,这学期听说由于合作方的原因,变频器的研究估计无法延续下去,于是乎决定改课题。幸好在清华研究生的第一学期...
用户77878 2007-10-20 22:34
基于AT89C51单片机设计的简易智能机器人
随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、 看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这...
用户77878 2007-10-20 22:00
写给那些习电子技术的新人
attitude+practice+root+time(我们简称APRT吧)学习方法(写给那些习电子技术的新人)! attitude、root、practic、time意思就不用说了吧?看到这里也许你...
我要评论
1
4
关闭 站长推荐上一条 /2 下一条