本文目录一览

1,关于单片机内部看门狗的问题

单片机内部看门狗的使用,就是对看门狗寄存器初始化,即启动看门狗,在主循环程序中不停的刷新看门狗,俗称喂狗。一般都有一个看门狗专用寄存器,因不同单片机,寄存器不同,启动方法和刷新也稍有不同。查看一下技术手册,都有说明,也有例程。
首先,看门狗的目的是在单片机程序跑飞以后使系统复位重新正常工作,设定看门狗的目的不是要你去触发看门狗,如果是这样那你的单片机不就一直在复位吗?那还怎么工作?其次,如果你要检测看门狗是否能让系统复位,建议用延时加加led灯观察。看你的提问好像设置了看门狗以后目的就是为了触发看门狗一样,这是不对的~

关于单片机内部看门狗的问题

2,单片机看门狗是什么

在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗" 看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段不进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位.

单片机看门狗是什么

3,单片机中的看门狗是什么东西

看门狗实际上是一计数器,在程序运行中,你得抽空去清看门狗,不能让计数器计满.一但程序在干扰下跑飞了,没去清看门狗,看门狗数值计满后,就会发出一清0脉冲,是程序从0地址开始运行.
看门狗定时器吧!在单片机运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在使用有看门狗的芯片时要注意清看门狗。
程序员要在程序中不断喂狗(就是给狗计时器一个预装载值,使计时器重新开始计数),当程序跑飞时,这个预装载值就到不了了,狗计时器就会计时到,然后会复位整个单片机 ,达到稳定性能。
就是个计时器,看着单片机程序,程序员要在程序中不断喂狗(使计时器重新开始计数),否则,看门狗计时器计时到了就会复位整个单片机
为了防止程序跑飞,程序卡死后单片机可以用看门狗来产生中断 进行复位!.回答完毕.

单片机中的看门狗是什么东西

4,51单片机中的看门狗计时器是什么

看门狗是用来防止万一单片机程序出错造成重大损失的。防错的原理很简单,它在硬件上就是一个定时器,当它溢出的时候就会让单片机强制复位使程序重新开始执行。正常的情况下是不能让它溢出的,所以在程序上每隔一段时间要给他置一次值(俗称喂狗),只要程序中正常给它喂他就不会溢出。一旦程序跑飞了,有干扰或者进入死循环之类的情况时,不能正常执行程序了,那么就永远执行不到喂狗的指令了,但此时定时器是硬件控制的,仍然会走,所以溢出了,单片机就复位了。一般安全性要求比较高的,系统跑飞了会造成重大事故的都会加一个“狗”保安全。通常,看门狗的溢出时间越短越灵敏,跑飞之后复位的时间越短,也就越安全,但是,你喂狗的操作也要更频繁。
是一个计时器,CPU要定时给它清零的脉冲,如果在设定的时间内没有给它脉冲,它就会产生一个信号去把CPU复位。
比如说下面是一个时钟溢出中断函数dog: JMP _MAIN中断内容是一个无条件转移指令_MAIN就是程序的代码的起始段这个函数目的是为了单片机出现死机现象会自动重启动在正常工作情况下为了不让单片机跳入此函数,需要在每个循环周期开始为计数器开始值重置LOOP:;把计数器值重置 …… JMP LOOP这个就是51单片机的自身看门狗还可以做一个51单片机对上位机的看门狗,道理一样,在上位机中定时发一个数据给单片机,单片机一直查询这个数据是否收到,若在一段时间内没有收到该数据,就对上位机进行上电复位,相当于按下电源Reset键这个是51单片机对上位机的看门狗
去单片机论坛找吧 如果在网上找人帮写的话 很难 潜水的大侠都喜欢写有挑战的 4位显示 先把两个前两个数 后两个数分别 分别放到两个地方(如30h,31h) 每0.1s (31h)的数加一 ,当(31h)到99的时候,归0 并将 (30h)加1 然后将30h 31h的数进行分离查表显示 分别开4个数码管 分时动态显示 start stop 设置标志位就可以了 在程序中进行判断就是了

5,avr单片机中看门狗WDT都有哪些做用

圣大侠,你也对AVR有兴趣啊! 我来说两句 看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就回给出一个复位信号到MCU,是MCU复位. 防止MCU死机. 看门狗的作用就是防止程序发生死循环,或者说程序跑飞。 想知道在AVR中看门狗的程序怎么写吗?直接找我吧!
AVR里面的看门狗可以说是有两个作用的,一个呢就是防止单片机受到干扰致使程序跑飞,当程序跑飞了直到看门狗溢出还没有跑回来就会置位一个中断标志,AVR里面的看门狗可以通过设置让看门狗溢出的时候是产生一个中断,或复位,或者先产生一个中断完成中断服务程序后再复位。这样的好处是当程序跑飞时我们可以做一个处理,保护现场的那些有用变量。当单片机复位后还可以通过访问内部寄存器查询单片机上一次是因为什么原因复位的,因而又可以作不同的处理。另外一个就是大家所说的计时作用的,其实AVR单片机看门狗定时的话不太好用,因为只有固定溢出时间,虽然有几个选值但还是不太好用的。
首先要知道看门狗是为了防止程序跑飞的。你可以把看门狗理解为一个定时器,使用看门狗功能时这个定时器的值会一直增加,溢出后会产生中断,这个中断是个特殊的中断,一旦产生就会使程序复位,我们为了保证程序的正常运行就不能让这个中断产生,也就是不能让定时器溢出,所以你在正常运行的程序中需要在溢出前把定时器寄存器的值清零,你需要一遍一遍的清零,听起来比较麻烦,其实就是在程序运行期间调用一个喂狗指令,这个指令执行就是把看门狗定时器清零了。当程序跑飞的时候,也就是单片机不按照你写的指令执行了,当然也就不会执行喂狗指令,看门狗定时器就会溢出,然后单片机就复位了。就好像一个看门狗把跑飞的程序叼回起点,很形象的反映了他的功能。
防止程序跑飞,或者是睡眠唤起(节能)。等等,,,
任何单片机的看门狗功能基本都是:在程序运行异常(最简单的表现是死机)的时候强制复位cpu
单片机中的看门狗作用都差不多,是一个计数器,一般给看门狗一个大数,程序开始运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。

6,单片机的看门狗怎么用

首先 ,你要知道什么是看门狗? 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(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)哪个地方都可以啊,如果大于,看下哪个地方停顿时间长就放哪*********************************************************************/
看门狗计时器开始倒数在倒数为0之前及时喂狗,即重置看门狗计时器,若否,进行软件复位这是俺的理解而已
看门狗分为芯片内 和芯片外两种原理 等一段时间没喂狗 则导致单片机复位芯片外的喂狗方式 一般是一个引脚电平变化芯片内喂狗 一般是想寄存器随便写个数据
首先,你要知道什么是看门狗?在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(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)哪个地方都可以啊,如果大于,看下哪个地方停顿时间长就放哪*********************************************************************/
看门狗是在单片机受到外界干扰而不能正常工作的时候自动触发复位,应用到看门狗的单片机,程序中必定会有保存数据的过程,因此不必要担心数据丢失。具体的还希望lz看下关于看门狗的详细资料。

文章TAG:单片机  看门狗  关于  内部  单片机看门狗  
下一篇