AT89C55WD怎样使用看门狗?

[复制链接]
 楼主| ccjchen 发表于 2008-5-28 08:41 | 显示全部楼层 |阅读模式
请问各位大哥大姐AT89C55WD看门狗是在什么时候使能,什么时候禁止呢?使能和复位WDT是不是都是往WDTRST写01EH和0E1就可以了阿?还有资料中说WDT有个13bit的计数器,我怎么没看到它的说明应该怎么用呢?过去从没用过看门狗,渴望各位大虾给指导一下!
ayb_ice 发表于 2008-5-28 16:10 | 显示全部楼层

DATASHEET

 楼主| ccjchen 发表于 2008-5-28 21:03 | 显示全部楼层

看过了,但是有点看不懂

能不能给我写几句参考一下阿
 楼主| ccjchen 发表于 2008-5-29 08:19 | 显示全部楼层

问一下

资料上说:为了激活WDT,必须向WDTRST寄存器依次写入0E1H 和0E1H。当WDT激活后,必须向WDTRST写入01EH和0E1H喂狗来避免WDT 溢出。当计数达到8191(1FFFH)时,13 位计数器将会溢出,这将会复位器件。晶振正常工作、WDT激活后,每一个机器周期WDT 都会增加。为了复位WDT,用户必须向 WDTRST 写入01EH 和0E1H。为了很好地使用WDT,应该在一定时间 内周期性写入那部分代码,以避免WDT复位。 
请问我应该怎么知道这个一定的时间在程序运行时是否到了呢?
dandywang 发表于 2008-5-29 08:37 | 显示全部楼层

datasheet上说的很详细

ayb_ice 发表于 2008-5-29 10:08 | 显示全部楼层

这么详细你都不懂

我们也不可能说的比这更详细了.
这只能说你没有狗的概念。
 楼主| ccjchen 发表于 2008-5-29 11:00 | 显示全部楼层

大家教训的是,不过既然您知道,给指导一下吧

我确实不懂,我是问在程序中我怎么测出这个时间是否到了,然后再作处理呢?也就是说应该怎样在一定时间 内周期性写入那部分代码,以避免WDT复位呢?

dld2 发表于 2008-5-29 11:13 | 显示全部楼层

一般不测,直接喂

没有必要保持喂狗的周期,只有一个最大值的限制。
 楼主| ccjchen 发表于 2008-5-30 10:31 | 显示全部楼层

没有必要保持喂狗的周期?

为什么?
何工 发表于 2008-5-30 14:57 | 显示全部楼层

狗未溢出前喂狗,

如果你的狗每2ms吠一次,你的程序循环体所花时间就不要超2ms,否则,程序循环体内就要有喂狗指令.
 楼主| ccjchen 发表于 2008-5-31 10:11 | 显示全部楼层

请教 何工

我现在还不知道怎样让狗每2ms吠一次,应该怎么设置呢?
另外循环体所花时间怎么测量呢?
fm0597 发表于 2011-8-13 16:27 | 显示全部楼层
sinbad_li 发表于 2012-6-26 14:10 | 显示全部楼层
就是设置WDT的周期,在这里周期内做个喂狗动作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

175

主题

446

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部