㈠ “STC8A8K64D4开发板”第2-7讲:看门狗定时器
学习目的了解看门狗定时器原理
STC8A8K64D4的看门狗功能较简单,使用时仅需配置看门狗控制寄存器“WDT_CONTR”。此寄存器负责设置看门狗功能,其分频系数决定了看门狗的溢出时间,计算公式为S。
以下是不同主频与分频系数对应的时间表,以12M和24M主频为例,说明不同分频系数下的看门狗溢出时间。
表1:主频和分频系数对应时间
配置看门狗应用步骤
配置看门狗时,只需调整“WDT_CONTR”寄存器即可。配置前需明确以下几点,配置完成后,将“EN_WDT”使能位设为1以启动看门狗。一旦程序运行异常,无法正常“喂狗”,看门狗将溢出并强制复位单片机,使其重新运行程序。
看门狗实验内容
设定看门狗超时时间为2.1秒。程序运行时,若2.1秒内未进行喂狗操作,系统将复位。在IDLE模式下,看门狗定时器不计数。为观察复位现象,程序启动后,LED D1闪烁4次,指示系统启动,之后初始化并启动看门狗。通过按动按键KEY1执行喂狗操作。若在2.1秒内连续喂狗,则系统不复位,反之则会复位重新启动,此时LED D1将继续闪烁4次。
代码编写
在“main.c”文件中使用了“wdt.c”文件中的函数,因此需引用头文件“wdt.h”。初始化代码清单包括配置看门狗溢出时间为2.1秒,初始化并启动看门狗。主函数中加入系统启动指示,便于观察系统复位。接着调用wdt_init()函数初始化并启动WDT,循环查询按键S3状态,当检测到按键S3按下时执行喂狗操作。
代码清单:引用头文件、初始化并启动看门狗、主函数
硬件连接
实验需连接LED指示灯和按键。使用跳线帽短接复用引脚的指示灯(D1和D2)和按键(KEY1)。图2显示了跳线帽短接方式。
图2:跳线帽短接
实验步骤
㈡ 求大神 stc15w4k48s461S4单片机,启动看门狗后,要怎么关闭看门狗
遇到一样的问题,上网找了好久没有这方面的权威答案,于是今天下午直接打电话到STC公司问技术人员,最后工程师给的答案是:STC单片机的看门狗一旦开启后就不能关闭!!!不能关闭!!!这是官方给的答案,只可以喂狗,但不能关闭哦!!!
㈢ 51单片机看门狗寄存器设置。
首先要看是什么单片机,不同的单片机的看门狗的溢出时间是不同的,但不会有这么长的单片机的。STC的单片机晶振是11.0592时,最长的溢出时间是9.1022秒,这就要求必须在溢出时间内喂一次,所以,是不可能设置成30秒的。不过,为什么要设置这长的时间呢,假设可以设置成这么长的时间,在实际应用假设单片机进入死机状态了,需要30多秒以后看门狗才能复位,这么长的时间,复位还有什么意义了,如果是单片机控制重要的设备,这么长的时间早就出现严重事故了,复位已经不起作用了。所以,实际应用中,喂狗时间最好要小于1秒,才能真正起到保护的作用。