单片机的看门狗怎么用
看门狗(WDT)是一个定时器。看门狗是用来防止万一单片机程序出错造成重大损失的。防错的原理很简单,它在硬件上就是一个定时器,当它溢出的时候就会让单片机强制复位使程序重新开始执行。
正常的情况下是不能让它溢出的,所以在程序上每隔一段时间要给他置一次值(俗称喂狗),只要程序中正常给它喂他就不会溢出。
一旦程序跑飞了,有干扰或者进入死循环之类的情况时,不能正常执行程序了,那么就永远执行不到喂狗的指令了,但此时定时器是硬件控制的,仍然会走,所以溢出了,单片机就复位了。
一般安全性要求比较高的,系统跑飞了会造成重大事故的都会加一个“狗”保安全。
通常,看门狗的溢出时间越短越灵敏,跑飞之后复位的时间越短,也就越安全,但是,喂狗的操作也要更频繁。
扩展资料:
看门狗工作原理:
使用时,WDT将递增直到溢出或“超时”。 除非处于休眠或空闲模式,否则WDT超时将强制器件复位。 为避免WDT超时复位,用户必须使用PWRSAV或CLRWDT指令定期清除看门狗定时器。 如果WDT在休眠或空闲模式下超时。
器件将唤醒并从执行PWRSAV指令的位置继续执行代码。 在以上两种情况下,WDTO位(RCON )将被置1,表明器件复位或唤醒事件是由WDT超时引起的。
如果WDT将CPU从睡眠或空闲模式唤醒,则还将置位“睡眠”状态位(RCON )或“空闲”状态位(RCON ),表明该设备先前已上电。 保存模式。
在正常操作期间,WDT超时将产生设备复位。 当设备处于睡眠状态时,WDT超时将唤醒设备以继续正常操作(称为WDT唤醒)。 清零WDTE设置位可以永久关闭WDT。 后分频器分配完全由软件控制,也就是说,可以在程序执行期间随时更改它。
为避免不可预测的器件复位,当从Timer0预分频器分配更改为WDT后分频器分配时,必须执行以下指令序列。 即使禁止了WDT,也必须执行该指令序列。
参考资料来源:百度百科-看门狗定时器
带复位输入及溢出信号的计数器电路都可充当看门狗。
1、复位输入作为喂狗信号的输入。溢出信号(也可用译码器自行构建)作为复位信号输出。
2、复位信号输出与单片机的复位引脚相连,注意复位电平,例如,单片机是高电平复位,看门狗复位输出是低电平,那么,需要加一个反相器,或者选择电平匹配的看门狗。
3、复位输入信号与单片机的任意一个IO相连,单片机程序中每隔一段时间输出一个复位信号,时间间隔需小于看门狗计数器的溢出周期。
4、某些单片机内部就有看门狗,并且提供专用的喂狗指令。这种情况下,只需要在程序中初始化看门狗,然后,定时执行一次喂狗指令即可。
在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(watchdog)。
其次,看门狗的工作原理是什么?
在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在使用有看门狗的芯片时要注意清看门狗(俗称喂狗)。
下面这段程序是我成功调试过了的,看门狗寄存器的各位的具体的意义,你可以自己去看下单片机的PDF文档,里面有详细的介绍...................
#include <reg52.h> 52系列单片机头文件
#define uchar unsigned char
#define uint unsigned int
sfr WDT_CONTR=0xe1;/*看门狗寄存器声明*/
sbit led1=P1^0; /*接发光二极管*/
void delayms(uint xms) /*延时函数*/
{
uint i,j;
for(i=xms;i>0;i--) /*i=xms即延时约xms毫秒 */
for(j=110;j>0;j--);
}
void main()
{
WDT_CONTR=0x35;
led1=0;
delayms(500);
led1=1;
while(1)
{
delayms(1000);
// WDT_CONTR=0x35;/*喂狗,如果这句话不加的话单片机就 会一直复位,看到的现象是发光二极管闪烁,加上这句的话,发光二极管一直亮着,所以在实际工程应用的时候通常要在程序里面调用比较频繁的函数内部写上这句话*/
}
}
/*******************************************************************
喂狗的技巧:如果一个大循环少于看门狗益处时间,
放在while(1)哪个地方都可以啊,如果大于,看下
哪个地方停顿时间长就放哪
*********************************************************************/
首先,你要知道什么是看门狗?在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(watchdog)。其次,看门狗的工作原理是什么?在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在使用有看门狗的芯片时要注意清看门狗(俗称喂狗)。下面这段程序是我成功调试过了的,看门狗寄存器的各位的具体的意义,你可以自己去看下单片机的PDF文档,里面有详细的介绍.#include52系列单片机头文件#defineucharunsignedchar#defineuintunsignedintsfrWDT_CONTR=0xe1;/*看门狗寄存器声明*/sbitled1=P1^0;/*接发光二极管*/voiddelayms(uintxms)/*延时函数*/{uinti,j;for(i=xms;i>0;i--)/*i=xms即延时约xms毫秒*/for(j=110;j>0;j--);}voidmain(){WDT_CONTR=0x35;led1=0;delayms(500);led1=1;while(1){delayms(1000);//WDT_CONTR=0x35;/*喂狗,如果这句话不加的话单片机就会一直复位,看到的现象是发光二极管闪烁,加上这句的话,发光二极管一直亮着,所以在实际工程应用的时候通常要在程序里面调用比较频繁的函数内部写上这句话*/}}/*******************************************************************喂狗的技巧:如果一个大循环少于看门狗益处时间,放在while(1)哪个地方都可以啊,如果大于,看下哪个地方停顿时间长就放哪*********************************************************************/
看门狗计时器开始倒数
在倒数为0之前及时喂狗,即重置看门狗计时器,若否,进行软件复位
这是俺的理解而已
看门狗分为芯片内 和芯片外两种
原理 等一段时间没喂狗 则导致单片机复位
芯片外的喂狗方式 一般是一个引脚电平变化
芯片内喂狗 一般是想寄存器随便写个数据
带复位输入及溢出信号的计数器电路都可充当看门狗。
1、复位输入作为喂狗信号的输入。溢出信号(也可用译码器自行构建)作为复位信号输出。
2、复位信号输出与单片机的复位引脚相连,注意复位电平,例如,单片机是高电平复位,看门狗复位输出是低电平,那么,需要加一个反相器,或者选择电平匹配的看门狗。
3、复位输入信号与单片机的任意一个IO相连,单片机程序中每隔一段时间输出一个复位信号,时间间隔需小于看门狗计数器的溢出周期。
4、某些单片机内部就有看门狗,并且提供专用的喂狗指令。这种情况下,只需要在程序中初始化看门狗,然后,定时执行一次喂狗指令即可。
PIC单片机死机后怎样使用片内看门狗使单片机复位
在主程序一开始就喂狗,把看门狗打开,设定值即可
苹果手机怎么玩看门狗2
1、击右上角的“返回”符号,能够切换天气,版本中总共有三种天气,夜晚、黄昏雨天和晴天。2、可以去地图中白色旋转柱子作死,各种作死方式挑战,地上的血迹也非常逼真。3、在地图的旁边,有一个无人机标志,点击标志能够切换到无人机视角,可以控制无人机在地图上空飞行,也能够穿越地板,进入地下飞行...
得力考勤机看门狗什么功能
1、设备监控与检测:得力考勤机看门狗会持续监控考勤机的运行情况和状态,它能够检测设备的运行异常、死机、系统崩溃问题,并通过机制进行反馈和应对。2、自动恢复与重启:当得力考勤机检测到设备出现异常状况时,看门狗会自动触发重启机制以恢复设备的正常运行,有助于及时解决一些暂时的故障,确保考勤机能够持...
最近在用PIC单片机,有没有一种情况,在使用了看门狗的情况下单片机仍然死 ...
②你得验证,是否真的开启看门狗。可以通过软件陷阱设置死循环,等待 看门狗复位。③如果验证成功,就得考虑是否看门狗的时钟源停止了。比如外部晶振停振荡、系统休眠不复位等 ④检查软件,系统死机的地方,是否存在 喂狗 行为。
为什么有的单片机设备有看门狗可还是经常死机 (
“死机”只是一个表象而已。如果你的程序跑到一个预料之外的循环、并且这个循环还能喂狗,那么看起来就像是“死机”。说白了,尔等程序的健壮性不够……
TX代表啥
其次STC公司的单片机内部资源比起ATMEL公司的单片机来要丰富的多,它内部有1280字节的SRAM、8-64K字节的内部程序存储器、2-8K字节的ISP引导码、除P0-P3口外还多P4口(PLCC封装)、片内自带AD(AD系列),片内自带EEPROM、片机自带看门狗、双数据指针等。目前STC公司的单片机在国内市场上的占有率与日俱...
购买了看门狗快递安检机,使用前需要注意哪些点
1、超过6个月没有使用的设备请不要开机!必须先由专业技术人员对X射线发生器进行重新起动,否则可能导致X射线发生器损坏!2、操作通道式的X射线安全检查设备之前,您应当了解有关适用的放射防护规定!3、如果其他人要操作您的通道式的X射线安全检查设备,必须确保他是合格的操作员,了解所有安全指示、法律...
PIC单片机死机后,使用内部看门狗使单片机复位 怎么操作 详细点 谢谢...
烧写程序是选上开门狗开就行了,程序里要根据看门狗的分频来进行喂狗。
工控机的看门狗的作用是什么?
防止未经授权的人操作修改,也是为了保护正版的应用程序不被盗版使用。就是说这个软件智能在这个机器上使用。北京中航神州重庆分公司小靳愿意为您提供服务。
格来云游戏看门狗2怎么联机
格来云游戏中的《看门狗2》是无法联机的,想要联机的话,只能在电脑上实现。看门狗2是由育碧公司开发的一款第三人称射击角色扮演游戏,游戏登陆PC、PlayStation4和XboxOne平台,在2016年11月份发行。游戏是所有哺乳类动物,特别是灵长类动物学习生存的第一步。它是一种基于物质需求满足之上的,在一些特定...
银珠介宁: 单片机在运行的时候,有可能受到外界的电磁干扰或本身供电电源的突变干扰,使得单片的程序没按正常时序运行,行内话叫程序跑飞了. 程序跑飞的时候很危险的,比如说控制锅炉温度的单片机,在高温和现场复杂的电磁环境中程序跑飞了,...
平顶山市17042703734: 单片机的看门狗怎么用 - ?
银珠介宁: 首先 ,你要知道什么是看门狗? 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷...
平顶山市17042703734: 关于单片机内部看门狗的问题? - ?
银珠介宁: 单片机内部看门狗的使用,就是对看门狗寄存器初始化,即启动看门狗,在主循环程序中不停的刷新看门狗,俗称喂狗.一般都有一个看门狗专用寄存器,因不同单片机,寄存器不同,启动方法和刷新也稍有不同.查看一下技术手册,都有说明,也有例程.
平顶山市17042703734: 单片机中的看门狗是什么东西? - ?
银珠介宁: 看门狗实际上是一计数器,在程序运行中,你得抽空去清看门狗,不能让计数器计满.一但程序在干扰下跑飞了,没去清看门狗,看门狗数值计满后,就会发出一清0脉冲,是程序从0地址开始运行.
平顶山市17042703734: 单片机硬件与软件看门狗在哪里设置? - ?
银珠介宁: 你好,看门狗可以说就是一个计数器,当计数达到你设定的值的时候单片机会产生一次复位,是为了防止程序跑飞或者陷入死循环用的,只要你在到达设定值之前把看门狗数值清零,也就是喂狗,就不会出现复位的情况了,像你说的可以在while(1)死循环里边加上看门狗复位的语句,不过要确保单片机执行一遍while里的语句的时间不能超过看门狗的设定值,否则就要在其他地方加入看门狗复位的语句,防止看门狗超时导致单片机复位. 具体看门狗怎么设定,怎么喂狗,不同的单片机一般是不一样的,你可以查查你用的单片机的资料或者到网上查查相关的程序自己研究研究.
平顶山市17042703734: 请教STC12C5A60S2单片机看门狗如何使用 - ?
银珠介宁: 初始化时候开启关门狗,设定看门狗定时器分频时间 然后在看门狗溢出时间前将看门狗重新计数即可.这就要求程序设计者了解程序执行耗时.如按照手册来启动看门狗,设置32分频.在12.0000MHz晶振下时间约1.0485S WTD_CONTR = 0X24;…程序语句(运行时间少于1.0485S)… WTD_CONTR = 0X24;…程序语句(运行时间少于1.0485S)… WTD_CONTR = 0X24;…
平顶山市17042703734: AVR单片机中看门狗(WDT)都有哪些作用? - ?
银珠介宁: 其实看门狗就是一个定时器,单片机里面有关于看门狗的设置. 其实看门狗就是一个防止程序跑飞的工具. 如果你设置了看门狗,在你程序开始跑,他就开始计时,如果一段时间内,你没有去清理标志位(看门狗设置了标志位),那就会自动系统复位.所以一般人叫清理标志位形象的为喂狗. 所以一般编程中还有一个概念就是“禁止看门狗”,就是说不要看门狗的功能了,就禁止掉 c51中看门狗的设置时在寄存器PCA0MD中
平顶山市17042703734: 看门狗在单片机里边什么地位?为什么我的《单片机教程》教材里边没有具体讲到看门狗? - ?
银珠介宁: 正确使用的前提下,看门狗在单片机程序里,处于防止程序死循环造成程序死锁的独特地位,是十分必要的单片机程序抗干扰措施.你的《单片机教程》教材里边没有具体讲到看门狗,也许是作者疏忽,也许是版本太老(早期单片机没有看门狗),也许是不在教学大纲范围内.你已经知道了,就学学怎么使用,多学一点对自己有好处.
平顶山市17042703734: 初学者求STC89C51RC单片机内部看门狗怎么启用,求汇编程序.C语言不要,看不懂,谢谢 - ?
银珠介宁: 在单片机程序初始化是写入 MOV 0A6H,#1EH MOV 0A6H,#0E1H ;启动看门狗 在单片机总要运行的程序段中写入 MOV 0A6H,#1EH MOV 0A6H,#0E1H ;喂狗 也就是:每隔一段时间执行以上两句(喂狗),不然,狗会饿的