单片机中的看门狗是什么东西,有什么作用
看门狗(WDT)是一个定时器。看门狗是用来防止万一单片机程序出错造成重大损失的。防错的原理很简单,它在硬件上就是一个定时器,当它溢出的时候就会让单片机强制复位使程序重新开始执行。正常的情况下是不能让它溢出的,所以在程序上每隔一段时间要给他置一次值(俗称喂狗),只要程序中正常给它喂他就不会溢出。一旦程序跑飞了,有干扰或者进入死循环之类的情况时,不能正常执行程序了,那么就永远执行不到喂狗的指令了,但此时定时器是硬件控制的,仍然会走,所以溢出了,单片机就复位了。一般安全性要求比较高的,系统跑飞了会造成重大事故的都会加一个“狗”保安全。通常,看门狗的溢出时间越短越灵敏,跑飞之后复位的时间越短,也就越安全,但是,喂狗的操作也要更频繁。扩展资料:看门狗工作原理:使用时,WDT将递增直到溢出或“超时”。 除非处于休眠或空闲模式,否则WDT超时将强制器件复位。 为避免WDT超时复位,用户必须使用PWRSAV或CLRWDT指令定期清除看门狗定时器。 如果WDT在休眠或空闲模式下超时。器件将唤醒并从执行PWRSAV指令的位置继续执行代码。 在以上两种情况下,WDTO位(RCON )将被置1,表明器件复位或唤醒事件是由WDT超时引起的。 如果WDT将CPU从睡眠或空闲模式唤醒,则还将置位“睡眠”状态位(RCON )或“空闲”状态位(RCON ),表明该设备先前已上电。 保存模式。在正常操作期间,WDT超时将产生设备复位。 当设备处于睡眠状态时,WDT超时将唤醒设备以继续正常操作(称为WDT唤醒)。 清零WDTE设置位可以永久关闭WDT。 后分频器分配完全由软件控制,也就是说,可以在程序执行期间随时更改它。为避免不可预测的器件复位,当从Timer0预分频器分配更改为WDT后分频器分配时,必须执行以下指令序列。 即使禁止了WDT,也必须执行该指令序列。参考资料来源:百度百科-看门狗定时器
看门狗(监控软体)详细资料大全
看门狗就是定期的查看晶片内部的情况,一旦发生错误就向晶片发出重启信号的电路。看门狗命令在程式的中断中拥有最高的优先权。防止程式跑飞。也可以防止程式线上运行时候出现死循环。 基本介绍 软体名称 :看门狗 软体平台 :51 系列单片机 类别 :监控软体 功能 :定时 简介,系列,概述,锐聚,凌阳61,AVR,注意事项,运用,设计思路, 简介 软体看门狗技术的原理和这差不多,只不过是用软体的方法实现,我们还是以51系列来讲,我们知道在51单片机中有两个定时器,我们就可以用这两个定时器来对主程式的运行进行监控。我们可以对T0设定一定的定时时间,当产生定时中断的时候对一个变数进行赋值,而这个变数在主程式运行的开始已经有了一个初值,在这里我们要设定的定时值要小于主程式的运行时间,这样在主程式的尾部对变数的值进行判断,如果值发生了预期的变化,就说明T0中断正常,如果没有发生变化则使程式复位。对于T1我们用来监控主程式的运行,我们给T1设定一定的定时时间,在主程式中对其进行复位,如果不能在一定的时间里对其进行复位,T1 的定时中断就会使单片机复位。在这里T1的定时时间要设的大于主程式的运行时间,给主程式留有一定的的余量。而T1的中断正常与否我们再由T0定时中断子程式来监视。这样就够成了一个循环,T0监视T1,T1监视主程式,主程式又来监视T0,从而保证系统的稳定运行。 系列 概述 51 系列单片机有专门的看门狗定时器,对系统频率进行分频计数,定时器溢出时,将引起复位。看门狗可设定溢出率,也可单独用来作为定时器使用。 锐聚 锐聚地磅看门狗是采用特定的频率模组,在企业称重,衡器检查,计量防护等领域有不可代替的作用。 地磅防作弊器 是一种对地磅防止作弊的一种防作弊仪器,它在有效工作范围内对地磅无线遥控信号进行捕获,分析和处理,对作弊信号进行禁止,实时监测,记录和数据锁定,帮助企业免受不法侵害,也叫 地磅看门狗 。 凌阳61 凌阳61的看门狗比较单一,一个是时间单一、第二是功能在实际的使用中只需在循环当中加入清狗的指令就OK了。 AVR AVR系列中,avr-libc 提供三个API 支持对器件内部Watchdog 的操作,它们分别是: wdt_reset() Watchdog 复位 wdt_enable(timeout) Watchdog 启用wdt_disable() Watchdog 禁止 C8051Fxxx单片机内部也有一个21位的使用系统时钟的定时器,该定时器检测对其控制暂存器的两次特定写操作的时间间隔。如果这个时间间隔超过了编程的极限值,将产生一个WDT复位。 注意事项 大多数51 系列单片机都有看门狗,当看门狗没有被定时清零时,将引起复位。这可防止程式跑飞。也可以防止程式线上运行时候出现死循环。设计者必须清楚看门狗的溢出时间以决定在合适的时候,清看门狗。清看门狗也不能太过频繁否则会造成资源浪费,程式正常运行时,软体每隔一定的时间(小于定时器的溢出周期)给定时器置数,即可预防溢出中断而引起的误复位。 运用 看门狗是恢复系统的正常运行及有效的监视管理器(具有锁定光碟机,锁定任何指定程式的作用,可用在家庭中防止小孩无节制地玩游戏、上网、看录像)等具有很好的套用价值. 设计思路 系统软体"看门狗"的设计思路: 1.看门狗定时器T0的设定。在初始化程式块中设定T0的工作方式,并开启中断和计数功能。系统Fosc=12 MHz,T0为16位计数器,最大计数值为(2的16次方)-1=65 535,T0输入计数频率是.Fosc/12,溢出周期为(65 535+1)/1=65 536(μs)。 2.计算主控程式循环一次的耗时。考虑系统各功能模组及其循环次数,本系统主控制程式的运行时间约为16.6 ms。系统设定"看门狗"定时器T0定时30 ms(T0的初值为65 536-30 000=35 536)。主控程式的每次循环都将刷新T0的初值。如程式进入"死循环"而T0的初值在30 ms内未被刷新,这时"看门狗"定时器T0将溢出并申请中断。 3.设计T0溢出所对应的中断服务程式。此子程式只须一条指令,即在T0对应的中断向量地址(000BH)写入"无条件转移"命令,把计算机拖回整个程式的第一行,对单片机重新进行初始化并获得正确的执行顺序。