打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
*STC89C5X看门狗的使用
看门狗:
​​    就是一个计数器,由于位数有限计数器能够装的数值是有限的(比如8位的最多装256个数、16位的最多装65536个数),从开启“看门狗”那刻起,它就开始不停的数机器周期,数一个机器周期就计数器加1,加到计数器盛不下了(术语叫溢出)就产生一个复位信号,重启系统。
​    所以,在看门狗计数器还没有溢出之前就要在程序中清零这个计数器,使它不会产生复位信号,俗称喂
​在什么地方喂狗比较好:
​    首先,定时器喂狗,这本身就是错误的习惯,一个良好的嵌入式设计,是绝对不会出现定时器喂狗的。定时器是中断,那么就会发生定时器正常但程序跑飞的情况。那看门狗就起不到应有的作用了。
​    在"主程序喂狗论"中,最"强有的理论依据"就是---"程序跑飞了可是中断不一定会死" (中断一般都有自己固定不变的中断向量地址,这样即使主程序飞,中断也能正确地跳入自己的轨道继续运行.)
​    可如果只在主程序喂狗,由于中断被无意关断,那么主程序实际就只干傻喂狗功能,这种不工作也不死的。
​    所以建议:最好的办法是主程序和中断相结合的方法喂狗,这个需要根据实际程序中断的特点编写相应的喂狗功能(参考方法:在主循环内判中断进入标志(或中断进入次数)再喂狗.)如果你没什么把握的话,还是建议只在主程序喂狗。
​    main线程就算卡死,中断可一样会定期进入,一样会正常喂狗,但却没有起到看门狗本该有的作用,最好是在中断中置位标记变量,main的while循环中读到这个标记变量置位后才能喂狗,然后清零标记变量,不要在中断中直接喂狗。
​    既然,喂狗程序不能放在watchdogtimer的定时中断中,应该放在哪儿呢。首先,来一个知识的正向迁移,watchdog timer的定时中断执行的机制是所有中断都遵循的机制,这个中断的中断处理函数中喂狗不能达到目的,当然其他定时中断处理函数中也是一样的道理。正确的喂狗程序需要放入main函数的主循环中,喂狗的时间间隔需要考虑主循环所有可能分支耗时最大的那个。也即,watchdog timer的溢出时间大于所有分支的最大耗时,喂狗时间间隔小于所有分支的最大耗时。
STC89C5X系列的看门狗:
STC89C5X系列单片机由于采用了“预分频技术”
​​它的溢出时间是=(N*Prescale*32768)/晶振频率
其中:
​N:是单片机的时钟周期。STC89C5X系列单片机提供6时钟周期和12时钟周期两种时钟周期,可以在烧写程序时修改。
Prescale:是预分频数,通过设置【看门狗控制寄存器】可以设置为2、4、8、16、32、64、128、256。
晶振频率就是系统选用的晶振。
所以如果选择12MHz晶振,使用传统的12时钟周期
​它最小的溢出时间是
​                (12*2*32768)/(12*106)=65.536ms
​最大溢出时间是
​                (12*256*32768)/(12*106)≈8.38s
​如果选择256分频,也就是说只要在8.38秒之内喂一次狗就可以了。
下面是关于STC89C5XX-51单片机看门狗的描述
​WDT_CONTR 位置0xE1
​各位的意义如下:
76543210
[-][-][EN_WDT][CLR_WDT][IDLE_WDT][PS2][PS1][PS0]
5:EN_WDT:
​看门狗允许位,置1启动看门狗,看门狗不能自动启动,需要设置该位后启动,一旦启动不能关闭(只能系统重新上电和看门狗复位可以关闭)。
4:CLR_WDT:
​看门狗计数器清零位,置1清零看门狗计数器,当计数器开始重新计数,硬件清零该位。
​3:IDLE_WDT:
​单片机IDLE模式看门狗允许位,当IDLE_WDT=1时,单片机在IDLE模式(空闲模式)依然启用看门狗。
210:PS2~PS0:
​看门狗定时器预分频器,下表中Prescale表示预分频数
PS2PS1PS0Prescale
0002
0014
0108
01116
10032
10164
110128
111256
​参考文章:
360图书馆《STC89C5X单片机“看门狗”原理、详解和演示程序STC89C5X单片机“看门狗”原理、详解和演示程序》
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
STC89C5X单片机“看门狗”原理、详解和演示程序
什么是看门狗(watchdog)
看门狗watchdog的理解
单片机看门狗用发
ST单片机:独立看门狗和窗口看门狗
【新提醒】pic单片机看门狗计时器是什么
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服