AT89S52的看门狗定时器

什么是看门狗定时器?如何工作?

WDT可以处理异常状态,防止程序混乱。它由一个13位的计数器和一个特殊功能寄存器组成(WDTSFR)。当我们向WDTSFR中依次写入01EH,0E1H后,每一个机器周期,计数器都会自加1.而且计数值达到8191时,计数器会溢出,此时WDT会产生一个复位电平,电平宽度为96个时钟周期。为了防止WDT溢出复位,我们必须在之前“喂狗”,“喂狗”是指向WDTSFR中依次写入01EH,0E1H。也就是,至少每隔8191个机器周期,给WDT喂一次食,否则它会认为程序异常了,立即溢出复位。另外,如果晶振停止工作,WDT也会停止。所以,掉电模式下,WDT是不工作的。我们目前只有两种方法离开掉电模式。第一种方式是“硬件复位”,即按下复位键来复位;第二种方式是“外部中断触发复位”,通过外部中断触发,让程序复位。这两种方法有明显的区别,第一种方式下,一旦按下复位键,需要立即喂狗,而第二种方式下,外部中断保持低电平直到晶振恢复稳定工作,而后,电平拉高,进入中断服务程序,此时我们才开始喂狗。在进入IDLE模式之前,SFR AUXR中的WDIDLE位可以来决定WDT是否继续计数(如果使能了)。当WDIDLE = 0时,在IDLE模式下,WDT继续计数。因此,为了防止在IDLE模式下,WDT复位AT89S52,用户应该总是,通过一个定时器周期性跳出IDLE模式,喂狗,然后重新进入IDLE模式。如果WDIDLE = 1,那么在IDLE模式下,WDT将会停止计数,跳出IDLE模式后,重新计数。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值