产品概述

51单片机 看门狗 单片机的看门狗是如何工作的?

小编 2024-10-10 产品概述 23 0

单片机的看门狗是如何工作的?

单片机的程序在运行过程中,为了增加系统的可靠性,防止芯片受到外界干扰而程序跑飞等系统异常,我们引入看门狗功能,Watch Dog Timer,简称为WDT。如图1.

图1 看门狗监控单片机的程序

它本质上是一个递增定时器,它的工作原理很简单,当程序开始运行时,看门狗定时器的值从零开始向上递增,当到达预设值时,就会强制单片机复位,使系统程序从头开始运行。如图2.

图2 看门狗本质上是一个定时器

那么我们如何使用它呢?我们的代码中,当看门狗定时器的值即将溢出时将其清零,使它重新从零开始计数,那么只要程序正常运行,看门狗就不会强制单片机复位。这样就实现了看门狗对程序的监控功能。如图3.

图3 清零看懵定时器

上述方法实现的是软件看门狗功能,当然,我们也可以搭建硬件看门狗电路,同样实现超时强制单片机复位的功能。他的思路就是不断的给一个电容充电,在电容从满电状态放电至阈值电压前再次充电,就能保证电路不输出复位信号。从而实现硬件看门狗功能。如图4.

图4 不断给电容充电

图5为电路原理图,它由两个与非门外加阻容器件串联而成。

图5 硬件看门狗电路

当我们给第1引脚一个低电平,也就是喂狗的时候,A与非门输出高电平,此时电容C两端开始充电。同时,与非门B的两个输入端电平为高,那么输出端第4引脚就为低电平,不产生复位动作。如图6.

图6 不产生复位信号

喂狗操作完毕之后,第1引脚为高电平,那么,A与非门输出低电平,此时电容C开始放电,当电容C的电量低于阈值时,第五,六引脚电平为低,则第4引脚输出高电平,产生复位。如图7。图8为产生复位时的时序图。

图7 产生复位信号

图8 复位时序

我们需要操作的是在电容C放电至阈值的时间段内给第1引脚一个低电平,也就是喂狗操作,保证第4引脚持续输出低电平,这样就实现了看门狗对电路的监控功能。如图9.

图9 正常情况下不产生复位的时序图

看过来!单片机的看门狗功能

大家好,今天给大家介绍单片机的看门狗功能,文章末尾附有本毕业设计的论文和源码的获取方式,可进群免费领取。

学习嵌入式一定要对单片机有一个好的掌握,我们入门嵌入式刚开始也是以单片机开始,当然这也只是最基础的,如果想要更深一步了解嵌入式,这里小编给大家一个资料的共享加微信领取资料,接下来我们来了解一下单片机的看门狗攻能。

单片机的程序在运行过程中为了增加系统的可靠性,防止芯片受到外界干扰而程序跑飞等系统异常,于是我们就引入了看门狗的功能Watch Dog Timer简称WDT,它的本质上功能是递增定时器,它的工作原理很简单,当程序开始运行的时候,看门狗定时器的值,从零开始向上递增,

当到达预设值时,就会强制单片机复位,使系统程序从头开始运行,那么我们如何使用它呢?我们的代码中当看门狗定时器的值即将溢出时将其清零,

如果他重新从0开始计数,那么只要程序正常运行,看门狗就不会让单片机强制复位,这样就实现了看门狗对程序的监控功能。

上述方法实现的是软件看门狗功能,当然我们也可以搭建一个硬件的看门狗电路,

同样实现超时强制单片机复位的功能,它的思路就是不断给一个电容充电,在电容从满电状态放电至阈值电压前再次充电,就能保证电路不输出复位信号,从而实现硬件看门狗功能。

这是电路原理图,

它由两个与非门外加阻容器件串联而成,当我们给第1引脚一个低电平,也就是喂狗操作的时候,A与非门输出高电平,此时电容C的两端开始充电,

同时与非门B的两个输入端为高电平,那么输出端第4引脚就为低电平,不产生复位动作,喂狗操作完毕后之后会怎么样呢?持续关注小编哦!下一篇会详细讲解。

完整项目工程可进群免费领取!!!

嵌入式物联网的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心,我为大家整理了一份150多G的学习资源,基本上涵盖了嵌入式物联网学习的所有内容。点击下方链接,0元领取学习资源,让你的学习之路更加顺畅!记得点赞、关注、收藏、转发哦!

点击这里找小助理0元领取:扫码进群领资料

相关问答

AT89S 51单片机看门狗 怎样设置?

AT89S51看门狗:要启用WDT功能,需要一次将0x1e,0xe1放入WDTRST寄存器,此寄存器的位置是0xa6。启用WDT之后不可停用,但是可以复位WDT,让它重新计时;复位的方...

单片机 程序里 看门狗 程序重要吗?

重要。看门狗(WDT)是一个定时器。看门狗是用来防止万一单片机程序出错造成重大损失的。防错的原理很简单,它在硬件上就是一个定时器,当它溢出的时候就会让单片...

STC 单片机 如何禁止 看门狗 ?

上电时只要不给看门狗初始化,就不会启动看门狗,启动看门狗后就不能关闭。上电时只要不给看门狗初始化,就不会启动看门狗,启动看门狗后就不能关闭。

pic18F 单片机看门狗 溢出时间如何设定?

第一:看门狗需要设置一下时间,就是多长时间复位一次,在没有喂狗的前提下。默认是不复位,可以设其它几种时间,用编程器进行设置。这也算编程的一种方式。第...

AT89S 51单片机 内部集成哪些外围功能部件?

程定时...3、32个外部双向输入/输出(I/O)口;4、2个中断优先级、2层中断嵌套中断;5、5个中断源;6、2个16位可编程定时器/计数器;7、2个全双工串行通信口;...

电源稳定供电,控制卫浴 单片机 工作几个小时会偶发重启,什么回事?

题目的描述:单片机产品在工作的时候,上电后是正常工作的,但是工作了几个小时后,偶尔会出现单片机重启的现象。从描述可以判断出,电路在大多数的时间里工作是...

单片机 电路中,为什么需要复位电路?

复位的主要作用是把单片机内部的特殊功能寄存器置于初始状态,使单片机硬件、软件从一个确定的、唯一的起点开始工作。开机时称为上电复位,工作中异常时可以手...

单片机 程序死机跑飞可能有哪些原因?

程序跑飞并不是程序设计有问题,而是单片机在运行中会受到各种电磁干扰,使程序执行出错。这是不可避免的,只是概率是多少而已。首先要选择合适的单片机,再精...

单片机 ,STM32程序有没有必要加 看门狗 ?

1、个人认为没有必要,除了死循环外,想越界,内存泄露等等问题,STM32会进入异常函数,可以添加复位代码来复位单片机2、如果相加,还是按需添加3、加的方式最好...

单片机 常见故障及处理?

一些单片机常见问题的解决办法工作和生活中会遇到许许多多的问题,可能让你一时陷于其中,但是总有解决的办法。随时记下遇到的问题,并做好总结,一方面有助于积...

猜你喜欢