—— —— —— 技术资料下载中心

>> PIC16C5X单片机应用与设计 \

第一章 PIC16C5X硬件结构
第七节 看门狗WDT
看门狗计时器（Watch Dog Timer）是一个片内自振式的RC振荡计时器，无需任何的外接元件。这意味着即使芯片OSC1/OSC2上振荡停止了（例如执行指令SLEEP后），WDT照样保持计时。WDT计时溢出将产生RESET。在PIC16C5X 芯片内有一个特殊的谓之"定义EPROM"（Configuration EPROM）的单元，其中的一个位是用于定义WDT的。你可以将其置"0"来抑制WDT使之永远不起作用。这将在第七章的烧写器介绍部分详细说明，请参阅。 1、WDT周期 WDT有一个基本的溢出周期18ms（无预分频器），如果你需要更长的WDT周期，可以把预分频器分配给WDT，最大分频比可达1:128，这时的WDT溢出周期约为2.5S。WDT溢出周期和环境温度、VDD等参数有关系，请参阅附录的图表。
"CLRWDT"和"SLEEP"指令将清除WDT计时器以及预分频器里已有的计数值（当预分频器分配给WDT时）。WDT一般用来防止系统失控或者说防止单片机程序运行"失控"。在正常情况下，WDT应在计满溢出前被CLRWDT指令清零，以防止产生RESET。如果程序由于某种干扰而失控，那么不能在WDT溢出前执行一条CLRWDT指令，就会使WDT溢出而产生RESET，使系统重新启动运行而不至失去控制。若WDT溢出产生RESET，则状态寄存器F3的"TO"位会被清零，用户程序可藉此判断复位是否由WDT溢时所造成。

2、WDT编程注意事项
如果使用WDT，一定要仔细在程序中的某些地方放一条"CLRWDT"指令，以保证在WDT在溢出前能被请零。否则会造成芯片不停地产生RESET，使系统无法正常工作。

第一节 第二节 第三节 第四节 第五节 第六节 第七节 第八节 第九节 第十节 第十一节 第十二节

[ 返回 ]