51单片机设置看门狗电路,是为了在51单片机电路死机或程序跑飞的情况下对51单片机进行强制复位,从而重新开始正常运行。
原理:在51单片机正常工作时是不需要频繁复位的,这会干扰51单片机的正常工作。在程序中设置喂狗间隔时间,就是为了及时对计时器进行清零,以避免不必要的复位操作。当死机或程序跑飞的状态出现时,程序就运行不到计时器的清零操作,这种情况下看门狗电路才会产生复位信号输出,使51单片机从初始化开始重新运行,脱离死机或程序跑飞状态。
开机时,如果按下了 K1,即可启动T0。
T0定时中断,即可自动喂狗,程序即可正常执行while中的内容。
其中就有:
LED2=1;DelayMs(100);
LED2=0;DelayMs(100);
即:LED2就闪烁。
按下 K2,就关闭了 T0,停止了喂狗。
单片机系统,16ms 后,自动复位。
复位后,如果没有按下 K1,不能自动喂狗,就会频繁的自动复位。
频繁的复位,总是执行开始处的:
LED1=0;DelayMs(100);
LED1=1;DelayMs(100);
所以,就是按key2 LED1闪烁。
51单片机的看门狗复位函数是什么?
51单片机有不同厂商提供不同型号芯片,看门狗设计并非标准配置,所以看门狗的实现也不一致,这个没有统一的函数。
看门狗是为解决单片机程序运行进入混乱(跑飞)或死循环而设计,看门狗由一个计数器和看门狗(计数器)复位寄存器(组)构成。
原理是开机后,看门狗启动,随后在每一主循环中(看门狗计时周期)重置看门狗,则看门狗复位机制不触发;当程序死锁(跑飞),未在看门狗计时周期喂狗,则看门狗复位机制触发,单片机复位重启。
从上边可以看出,看门狗操作是对一组芯片寄存器的操作,不同芯片寄存器不同(因厂商而异),故这些代码须针对不同芯片而不同,这些操作合起来就是看门狗复位函数,故看门狗复位函数也是随芯片不同而各异(没有统一函数)。
声明: 我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本站部分文字与图片资源来自于网络,转载是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:daokedao3713@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
本站内容仅供参考,不作为诊断及医疗依据,如有医疗需求,请务必前往正规医院就诊
祝由网所有文章及资料均为作者提供或网友推荐收集整理而来,仅供爱好者学习和研究使用,版权归原作者所有。
如本站内容有侵犯您的合法权益,请和我们取得联系,我们将立即改正或删除。
Copyright © 2022-2023 祝由师网 版权所有
邮箱:daokedao3713@qq.com