单片机看门狗的原理和作用(单片机片内和片外的区别)

单片机里面什么是看门狗?如何实现系统程序的监控?

看门狗其实是一个特别的定时器

看门狗的英文是Watch Dog Timer。其实就是单片机内置的一个定时器,如果定时器溢出,可以让单片机复位重启,可以避免程序跑飞或者进入死循环后单片机没法正常工作。

单片机看门狗(Watch Dog Timer)工作原理

单片机看门狗(Watch Dog Timer)功能打开后,计时器会开始计时,如果计时值超过设定的最大值后,单片机就会产生内部复位,单片机重新初始化,程序重新运行。

我们要在程序循环中对看门狗(Watch Dog Timer)计时器进行清零。程序正常运行时,每个循环都会执行看门狗(Watch Dog Timer)计时器清零指令,计时器是不会溢出的。只有程序跑飞或者进入死循环后,没有办法执行我们设定的看门狗清零的指令才会溢出,导至单片机复位。

当然我们需要合理的设置看门狗(Watch Dog Timer)溢出时间,也要合理的放置看门狗清零指令。才可以让看门狗(Watch Dog Timer)起作用。

欢迎关注@电子产品设计方案,一起享受分享与学习的乐趣!关注我,成为朋友,一起交流一起学习

记得点赞和评论哦!非常感谢!

51单片机片内片外都是指什么?

51单片机的`片内‘是指芯片内部的结构,例如片内看门狗,就是说这个看门狗电路被集成到了单片机芯片内部;而`片外‘则是指芯片外部结构或设备,例如说片外存储器,就是指存储器芯片是单片机外挂的。

之所以特意强调片内和片外,是因为片内片外的操作方式不一样,片内结构是通过寄存器操作,而片外通常是通过总线操作。

初学者求STC89C51RC单片机内部看门狗怎么启用,求汇编程序。C语言不要,看不懂,谢谢

  • 求用汇编启用内部看门狗的程序,最好带详细说明,谢谢!
  • 去下载一个STC—ISP软件,里面有例程

单片机看门狗喂狗是在底层系统程序里实现 的吗?

  • 我们用户要不要操作使用看门狗指令啥的?还是系统程序自动喂狗?我们在主程序里写了死循环while(1),那么程序看门狗如何复位?
  • 看门狗应该在死循环里面while(1)喂狗,看门狗的意义是隔一定的时间,检测有没有喂狗信息,如果没有,就复位。当程序需要死循环时,必须喂狗。当然,你也可以选择关闭看门狗。看门口只是单片机的一个模块,硬件集成,由你自己软件控制的。

单片机硬件与软件看门狗在哪里设置?

  • 我们在编写单片机程序时,主程序一般都写在while(1)里写着,那么这个总是不停的死循环,这个单片机看门狗不会报错吗?while(1)已经进入死循环了,应该是不允许的啊?
  • 如果你不喂狗的话当然会引起看门狗复位了,你说的死循环实际上是cpu不停的在处理任务而已。

刚学430单片机,用msp430g2553写的看门狗定时器怎么定时器中断产生的时间不固定

  • P1.0输出为一个led灯,灯亮灭频率变化,不固定,另外怎么怎么不用清除定时器中断标志也可以一直产生中断,为什么,求大神指教!下面是程序:#include msp430g2553.hvoid init_io();int main( void ){ Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; WDTCTL=WDT_ADLY_1_9; IE1 |=WDTIE; _EINT(); init_io(); while(1);}void init_io(){ P1SEL=0; P1DIR=BIT0; P1OUT&=!BIT0;}#pragma vector=WDT_VECTOR__interrupt void wtd_timer(void){ WDTCTL=WDTCNTCL; P1OUT ^=BIT0;}
  • 需要代写吗

为您推荐