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
}
相关推荐
linweidong1 小时前
跨平台驱动开发:打造兼容多款MCU的硬核方案
驱动开发·单片机·嵌入式硬件·bsp·rtos·spi驱动·hal设计
易享电子2 小时前
基于单片机大棚浇水灌溉控制系统Proteus仿真(含全部资料)
单片机·嵌入式硬件·fpga开发·51单片机·proteus
星辰pid4 小时前
STM32基于can总线通信控制多个舵机/电机原理及代码
stm32·单片机·嵌入式硬件
武文斌774 小时前
项目学习总结:CAN总线、摄像头、STM32概述
linux·arm开发·stm32·单片机·嵌入式硬件·学习·c#
淘晶驰AK6 小时前
主流的 MCU 开发语言为什么是 C 而不是 C++?
c语言·开发语言·单片机
云山工作室12 小时前
2025年单片机毕业设计选题物联网计算机电气电子通信类
单片机·物联网·课程设计
Ching·14 小时前
STM32L4xx编译提示Keil MDK Warning: L6989W警告问题及其解决办法
stm32·单片机·嵌入式硬件
小莞尔14 小时前
【51单片机】【protues仿真】基于51单片机温度测量系统
c语言·单片机·嵌入式硬件·物联网·51单片机
晓风凌殇14 小时前
单片机按键检测与长短按识别实现
c语言·单片机
Zaki_gd16 小时前
GPIO 引脚速度(Speed)
单片机·嵌入式硬件