设为首页
加入收藏
联系站长
首页 | 文章中心 | 下载中心 | 本站商品 | 学习资料 | 
您现在的位置: 电子爱好者 >> 文章中心 >> 单片机应用 >> 正文 用户登录 新用户注册
[推荐]AT89S51的看门狗用法          【字体:
AT89S51的看门狗用法
作者:佚名    文章来源:本站原创    点击数:    更新时间:2005-5-7

起作用的时候是不是只要同时写O1EH和OE1H到特殊寄存器OA6H中就可以了呢?

 

这是89S51的看门狗用法,S52应该是一样的O:P>

 

看门狗具体使用方法如下:

 

在程序初始化中向看门狗寄存器(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个毫秒需喂狗一次。

 

以上程序已调试通过。还利用定时器把看门狗的喂狗时间延长几秒至几分钟。

文章录入:admin    责任编辑:admin 
  • 上一篇文章: 液晶1602的驱动程序(8PIN)

  • 下一篇文章: 红外测温仪工作原理及应用
  • 发表评论】【告诉好友】【打印此文】【关闭窗口
       最新热点    最新推荐    相关文章
    没有相关文章
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)  
    {$PopAnnouceWindow(400,440)}