STC89C52单片机入门-看门狗

整理:心伊月儿 时间:2025-06-03 阅读:10

为了防止“系统在异常情况下,受到干扰,MCU/CPU程序跑飞,导致系统长时间异常工作”通常是引进看门狗,如果MCU/CPU 不在规定的时间内按要求访问看门狗,就认为MCU/CPU处于异常状态,看门狗就会强迫MCU/CPU复位,使系统重新从头开始按规律执行用户程序。使单片机系统可靠性设计变得更方便/简洁

操作方法

1

WDT_CONTR: 看门狗(Watch-Dog-Timer)控制寄存器

2

Symbol符号 Function功能

3

看门狗定时器预分频值,如下表所示

4

设置定时器为50MS

5

看门狗寄存器设置WDT_CONTR=0x37;

也就是00110111

256分频 9.1022 S

6

设置定时器中断函数(1次进入是50ms)

而看门狗溢出是9.1022秒

那么这里累加165次

就是8.250秒清零1次看门狗(时间需要留一定的余量)

7

如果你的程序中有外部中断,或者其他中断时

一般应该把看门狗清零的定时器的优先级设置为最高优先级

也就是在主程序main里,while(1)上写入IP=2; IPH=2;

这样T0就是最高优先级

同类经验分享

站内热点

近期更新