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
}
相关推荐
LCG元2 小时前
STM32项目实战:基于STM32F103的智能农业监控系统
stm32·单片机·嵌入式硬件
ACP广源盛139246256732 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
智者知已应修善业3 小时前
【51单片机2个按键控制流水灯运行与暂停】2023-9-6
c++·经验分享·笔记·算法·51单片机
一起搞IT吧3 小时前
Android性能系列专题理论之十:systrace/perfetto相关指标知识点细节含义总结
android·嵌入式硬件·智能手机·性能优化
Truffle7电子4 小时前
STM32CubeIDE/Programmer/Touch GFX 应用
stm32·单片机·嵌入式硬件
constant_LDX5 小时前
步进电机开发(一、硬件设计)
单片机·嵌入式硬件
北山有鸟5 小时前
修改源码法和插件法
嵌入式硬件·学习
richxu202510015 小时前
嵌入式学习之路->stm32篇->(14)通用定时器(上)
stm32·单片机·嵌入式硬件·学习
Deitymoon5 小时前
STM32——串口通信(USART)
单片机·嵌入式硬件
iCxhust5 小时前
微机原理实践教程(C语言篇)---A002流水灯
c语言·开发语言·单片机·嵌入式硬件·51单片机·课程设计·微机原理