当前位置: 首页 > 工具软件 > WDT > 使用案例 >

【单片机】2.9 看门狗定时器(WDT)功能简介

吉玉宸
2023-12-01
  • 单片机应用系统受到干扰可能会引起程序“跑飞”或“死循环”,会使系统失控。如果操作人员在场,可按人工复位按钮,强制系统复位。但操作人员不可能一直监视着系统,即使监视着系统,也往往是在引起不良后果之后才进行人工复位。能不能不要人来监视,使系统摆脱失控状态,重新从0000H地址处执行程序呢?这时可采用“看门狗”技术。
  • “看门狗”技术就是使用一个**“看门狗”定时器来对系统时钟不断计数,监视程序的运行。当看门狗启动运行后,为防止看门狗定时器的不必要溢出而引起单片机的非正常的复位,应定期地把看门狗清0**,以保证看门狗不溢出。
  • “看门狗”部件,包含1个14位看门狗定时器和看门狗复位寄存器(表2-4中的特殊功能寄存器WDTRST,地址A6H)。开启看门狗定时器后,14位定时器会自动对系统时钟12分频后的信号计数,即每16384(2^14)个机器周期溢出一次,并产生一个高电平复位信号,使单片机复位。采用12MHz的系统时钟时,则每16384µs产生一个复位信号。(时钟频率为12MHz,则时钟周期为1/12。时钟12分频后,即(1/12)*12 = 1us,即一个机器周期为1us)
  • 当由于干扰,使单片机程序“跑飞”或陷入“死循环”时,单片机也就不能正常运行程序来定时地把看门狗定时器清0,看门狗定时器计满溢出时,将在AT89S52的RST引脚上输出一个正脉冲(宽度为98个时钟周期),使单片机复位,在系统的复位入口0000H处重新开始执行主程序,从而使程序摆脱 “跑飞”或“死循环”状态,让单片机归复于正常的工作状态。
  • 看门狗的启动清0的方法是一样的。实际应用中,用户只要向寄存器WDTRST(地址为A6H)先写入1EH接着写入E1H,看门狗定时器便启动计数。为防止看门狗定时器启动后产生不必要的溢出,在执行程序的过程中,应在16384µs(时钟为12MHz时)内不断地复位清“0” 看门狗。
  • 有关看门狗定时器的具体使用,请见第14.8节。
 类似资料: