单片机看门狗工作原理
刚学习单片机的萌新都听说过单片机看门狗,但是对于其工作原理并不是很清楚,今天这篇文章将为大家介绍单片机看门狗工作原理,一起来了解一下吧!
一、单片机看门狗是什么
在由单片机组成的微型计算机系统中,单片机的工作经常受到来自外部电磁场的干扰,导致程序运行和飞行,并陷入一个死循环。程序的正常运行中断,由单片机控制的系统不能继续工作,导致整个系统停滞和不可预测的后果。所以,出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”(watchdog)。
二、单片机看门狗的应用
看门狗电路的应用,看门狗是恢复系统的正常运行及有效的监视管理器(具有锁定光驱,锁定任何指定程序的作用,可用在家庭中防止小孩无节制地玩游戏、上网、看录像)等具有很好的应用价值。
三、单片机看门狗工作原理
工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清理看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以,在使用有看门狗的芯片时要注意清理看门狗。
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在看门狗定时器定时时间到之前对其进行复位。如果出现死循环,或者说PC指针不能回来,那么定时时间到后就会使单片机复位。
软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,我们还是以51系列来讲,我们知道在51单片机中有两个定时器,我们就可以用这两个定时器来对主程序的运行进行监控。我们可以对T0设定一定的定时时间,当产生定时中断的时候对一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,在这里我们要设定的定时值要小于主程序的运行时间,这样在主程序的尾部对变量的值进行判断,如果值发生了预期的变化,就说明T0中断正常,如果没有发生变化则使程序复位。对于T1我们用来监控主程序的运行,我们给T1设定一定的定时时间,在主程序中对其进行复位,如果不能在一定的时间里对其进行复位,T1 的定时中断就会使单片机复位。在这里T1的定时时间要设的大于主程序的运行时间,给主程序留有一定的的裕量。而T1的中断正常与否我们再由T0定时中断子程序来监视。这样就够成了一个循环,T0监视T1,T1监视主程序,主程序又来监视T0,从而保证系统的稳定运行。
单片机看门狗工作原理相关推荐
- 【MCU】单片机看门狗工作原理
背景 在单片机运行中,可能会遇到电磁场等恶劣环境干扰失控,造成程序进入死循环,程序跑飞(死机)等意外故障,程序的正常运行被打断,系统无法继续运行,陷入停滞状态,发生不可预料的后果.此时可通过按下复位按 ...
- stm32看门狗工作原理
一.为什么需要看门狗? 在MCU微型计算机系统中,MCU运行程序很容易受到外界电磁场的干扰,从而造成程序运行错误甚至造成跑飞现象,从而陷入死循环,程序的正常运行被打乱,从而造成不可预料的严重后果,于是 ...
- STC15单片机-看门狗介绍
什么是看门狗 在工业控制/ 汽车电子/航空航天等需要高可靠性的系统中,为了防止"系统在异常情况下,受到干扰,MCU/CPU程序跑飞,导致系统长时间异常工作",通常是引进看门狗,如果 ...
- STC89系列单片机看门狗的使用及应用程序
转载:STC89系列单片机看门狗的使用及应用程序 "看门狗"概念及其应用在由单片机构成的系统中,由于单片机的工作有可能会受到来自外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程 ...
- 大佬给总结的单片机看门狗详解很有用
一.独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效. 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路 ...
- 单片机搭建环境烧录方法_单片机仿真器的工作原理解析
仿真器出现的原因 1.早期的单片机内部没有ROM,比如8031.8032,这种单片机只能外部扩展紫外擦除的EPROM存储器,就是芯片上带窗口的ROM.紫外擦除的ROM需要用紫外灯照射较长时间(10分钟 ...
- 单片机看门狗c语言,单片机看门狗程序
/*此程序实现单片机"看门狗"WDT的功能*/ #include"p18f458.h" unsignedlongi; /*系统初始化子程序*/ voidinit ...
- 单片机看门狗c语言,单片机看门狗程序 -解决方案-华强电子网
*此程序实现单片机"看门狗"WDT的功能*/ #include"p18f458.h" unsignedlongi; /*系统初始化子程序*/ voidiniti ...
- STC单片机看门狗验证程序
STC单片机看门狗验证程序 #include<reg52.h> #define uchar unsigned char #define uint unsigned int sfr WDT_ ...
最新文章
- [LCS]LCS2005服务器应用程序
- CRM and Saptest1 Fiori UI共存的一个典型例子
- gitee 从 拉取新分支到本地_Hexo博客详细教程(一)| 建立本地站点
- 百度地图批量转换 GPS坐标转百度地图坐标 问题
- 20个软件开发常用设计文档大全下载
- python 字典排序成绩_集体备课第四章 python基础与顺序结构
- Google Translation Via Python
- 手机扫描电脑二维码登录原理
- 在计算机中dos代表什么意思,dos是什么意思?怎么进DOS命令的方法
- 如何汉化eclipse
- 现场总线CAN和工业以太网EtherCAT详解
- 基本社会里模型的源码分析
- word安全模式解除方法!
- TOM 163VIP邮箱怎么登录?163.net邮箱登录界面是什么?
- XUI 熟练使用之(三) -----------启动页( SimpleGuideBanner的使用)
- 【无人机】【2013.06】自主式无人机在搜救中的应用
- 中国软件,从繁荣走向文明
- 迷宫寻宝(一) 搜索
- 量化交易入门(精华必读版)
- 尚硅谷 spring cloud 2020
热门文章
- B. Partial Replacement
- 乡村老师网络计算机培训日志,乡村年轻女教师 “教育日记”火爆网络
- Django 1.9 支持中文
- 数据库的创建及使用方法
- PersistenceContext.properties()
- R数据分析当中的化整为零(Split-Apply-Combine)策略
- [Android]listview图文混排
- 加密狗圣天诺LDK V7.5特性
- UDF开发手册 - UDF
- 解决小程序获取openid报错errcode:48001或者其他错误代码方案