EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 wu68aq 于 2019-2-15 17:16 编辑 + Q- r1 a8 C6 l8 Q \. I4 D
* f+ |5 q* g( j8 G0 ESTC89单片机看门狗的使用及应用程序$ |, G3 z$ Z$ X/ h. c+ o: {2 J! e
. h& \' E o# G8 t! Z“看门狗”概念及其应用在由单片机构成的系统中,由于单片机的工作有可能会受到来自外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程序的正常运行被打断,由单片机控制的系统便无法继续工作,这样会造成整个系统陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”(watch dog)。 : q# A: f: [3 Y, }+ Y% j) s/ g5 b
加入看门狗电路的目的是使 单片机 可以在无人状态下实现连续工作, 其工作过程如下:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过单片机的程序控制,使它定时地往看门狗芯片的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,给看门狗引脚送电平的程序便不能被执行到,这时,看门狗电路就会由于得不到单片机送来的信号,便将它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,从而单片机将从程序存储器的起始位置重新开始执行程序,这样便实现了单片机的自动复位。, t6 P, J o% h' U, `; b
通常看门狗电路需要一个专门的看门狗芯片连接 单片机 来实现,这在我们的单片机教程网以前做过相关的电路介绍。不过这样会给电路设计带来复杂,STC单片机内部自带有看门狗,通过对相应特殊功能寄存器的设置就可实现看门狗的应用,STC89系列单片机内部有一个专门的看门狗定时器寄存器,Watch Dog Timer 寄存器,其相应功能见下个知识点。: w2 R+ `8 [2 Q2 k0 n- t8 m
看门狗定时器寄存器(WDT_CONTR)6 x, u: r! V3 @+ ^ u; B/ p. @
STC 单片机 看门狗定时器寄存器在特殊功能寄存器中的字节地址为E1H,不能位寻址, 该寄存器用来管理STC单片机的看门狗控制部分,包括启停看门狗、设置看门狗溢出时间等。单片机复位时该寄存器不一定全部被清0,在STC下载程序软件界面上可设置复位关看门狗或只有停电关看门狗的选择,大家根据需要可做出适合自己设计系统的选择。其各位的定义如表4.2.1所示。 & X& `6 a' q8 p+ J1 E
+ U, s$ R0 J8 ?/ P3 ~
, Z( T( r3 {" @
|