80s52 watchdog sofeware 程序
3星 · 超过75%的资源 需积分: 0 149 浏览量
更新于2009-06-13
收藏 14KB DOC 举报
80s52 Watchdog 软件程序详解
80s52 是一款基于8051微控制器系列的微处理器,具有丰富的内置功能,其中包括看门狗定时器(Watchdog Timer)。看门狗定时器是一种硬件机制,用于监控程序的运行状态,防止程序因为异常或死循环而失效。在80s52中,看门狗定时器通过特定的寄存器设置来激活和管理。
在80s52中,看门狗定时器的激活通常涉及向WDTRST(Watchdog Timer Reset)寄存器写入特定的值。根据提供的程序片段,激活看门狗的步骤包括:
1. 初始化阶段:
- 向WDTRST寄存器(地址为0A6H)写入01EH。
- 然后,再次向同一寄存器写入0E1H。这两个值是按照一定的顺序写入的,它们组合在一起构成了激活看门狗所需的序列。
示例汇编代码如下:
```assembly
ORG 0000H
LJMP begin
Begin:
MOV 0A6H,#01EH ; 先送1E
MOV 0A6H,#0E1H ; 后送E1
; 初始化中激活看门狗
```
2. 在C语言中,为了访问WDTRST寄存器,需要在头文件AT89X51.h中声明:
```c
#include "AT89X51.h"
...
void main() {
WDTRST = 0x1E; // 初始化看门狗
WDTRST = 0xE1;
while (1) {
WDTRST = 0x1E; // 喂狗指令
WDTRST = 0xE1;
}
}
```
在C语言代码中,我们同样遵循了激活和喂狗的顺序。
3. 关于看门狗定时器的注意事项:
- 必须在程序初始化时激活看门狗,这通常在上电复位后立即进行,确保CPU正常工作。
- 看门狗定时器依赖于微控制器的晶振。如果晶振停止工作,看门狗也将失效。
- 80s52的看门狗定时器具有14位计数器,这意味着在16383个机器周期内必须至少执行一次喂狗操作。对于12MHz的晶振,这意味着每16毫秒喂狗一次。
- 通过配合定时器,可以扩展喂狗间隔,从而将喂狗时间延长到几秒甚至几分钟。
80s52的看门狗功能为系统提供了一种安全机制,能够确保程序即使在异常情况下也能恢复正常运行。在设计嵌入式系统时,正确使用看门狗定时器是保障系统稳定性和可靠性的关键步骤之一。
focean
- 粉丝: 0
- 资源: 1
最新资源
- MATLAB【面板】车辆检测.zip
- MATLAB【面板】车牌出入库计费系统.zip
- MATLAB【面板】车道线检测定位.zip
- MATLAB【面板】车牌识别.zip
- 微电网,下垂控制(三相交流) 传统阻感型下垂控制输出有功 无功 频率波形
- MATLAB【面板】车牌号码出入库管理.zip
- MATLAB【面板】车牌识别设计.zip
- MATLAB【面板】车牌识别GUI实现.zip
- MATLAB【面板】车牌识别GUI界面.zip
- MATLAB【面板】答题卡识别GUI.zip
- MATLAB【面板】虫害检测.zip
- MATLAB【面板】答题卡自动识别系统.zip
- MATLAB【面板】答题卡识别系统.zip
- MATLAB【面板】打印纸缺陷检测GUI设计.zip
- MATLAB【面板】道路桥梁裂缝检测.zip
- 八木天线计算器,如果您想制作天线,这个计算器非常好用