51单片机看门狗定时器配置

测试环境

单片机型号:STC8G1K08-38I-TSSOP20,其他型号请自行测试;

IDE:KEIL C51;

寄存器配置及主要代码

手册中关于看门狗的寄存器描述如下:

启动看门狗,需将B5位EN_WDT置1即可,IDL_WDT位根据实际需要设置,然后需要设置溢出时间,方法如下图:

例如,笔者使用的是内部22.1184MHz晶振,则使用64分频即WDT_PS[2:0]=101(十进制为5),看门狗的溢出时间为:

12×32768×2^(5+1)/22118400s=1.138s;在程序运行过程中,每隔小于该时间间隔,调用一次重置看门狗函数WDT_Reset即可(俗称"喂狗");

c 复制代码
/*******************************************************************************
  * 函数名:WDT_Init
  * 功  能:看门狗初始化
  * 参  数:无
  * 返回值:无
  * 说  明:主频22.1184Mhz,溢出时间约1.138s
*******************************************************************************/
void WDT_Init(void)
{
	WDT_CONTR = 0x25;//0b00100101
}
/*******************************************************************************
  * 函数名:WDT_Reset 
  * 功  能:看门狗复位
  * 参  数:无
  * 返回值:无
  * 说  明:喂狗
*******************************************************************************/
void WDT_Reset(void)
{
	WDT_CONTR |= 0x35;//0b00110101
}
相关推荐
Leiditech__1 小时前
汽车氛围灯400V浪涌防护方案之SD3002P4-3的应用实践
嵌入式硬件·汽车·硬件工程·emc·mosfet
不不不丶1 小时前
STM32——RTC实时时钟
stm32·嵌入式硬件·实时音视频
森焱森2 小时前
单片机FreeRTOSTickless低功耗模式应用示例
c语言·网络·单片机·算法·架构
damo王3 小时前
STM32 的编程方式总结
stm32·单片机·嵌入式硬件
板栗焖小鸡4 小时前
Odrive0.5.1-FOC电机控制 arm_cos_f32.cpp arm_sin_f32.cpp代码实现(二)
arm开发·单片机·嵌入式硬件
板栗焖小鸡4 小时前
Odrive0.5.1-FOC电机控制 arm_cos_f32.cpp arm_sin_f32.cpp代码实现(一)
arm开发·单片机·嵌入式硬件
买辣椒用券4 小时前
STM32 vs ESP32:如何选择最适合你的单片机?
stm32·单片机·嵌入式硬件
LS_learner6 小时前
Python和MicroPython的解释器区别
嵌入式硬件
cen难取名6 小时前
嵌入式开发之51单片机入门(一)与LED灯的故事
单片机·嵌入式硬件·51单片机
soulermax7 小时前
华为数字芯片机考2025合集3已校正
嵌入式硬件·华为·fpga开发