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

测试环境

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

IDE:KEIL C51;

寄存器配置及主要代码

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

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

例如,笔者使用的是内部22.1184MHz晶振,则使用64分频即WDT_PS2: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
}
相关推荐
Zwawa2 小时前
C语言函数指针与宏实战:从回调、表驱动菜单到X-Macro,讲透嵌入式代码解耦
c语言·单片机·嵌入式
shimly1234563 小时前
(done) 嵌入式硬件电路图 (2) 熟悉常用元器件
嵌入式硬件
安妮细水长流8 小时前
ad7124
c语言·单片机
花月mmc11 小时前
【FPGA】神经网络内容简介预告
嵌入式硬件·深度学习·神经网络·fpga开发
en.en..11 小时前
STM32 HAL 库 | 核心知识点整理
单片机·嵌入式硬件
无敌贵点大王11 小时前
从寄存器层面重学STM32(9)——DMA理论
stm32·单片机·嵌入式硬件
希和202712 小时前
51 单片机入门笔记:江科大课程代码逐行讲解(按键控制 LED 流水灯)
笔记·单片机·mongodb
希和202712 小时前
51 单片机按键控制 LED:江科大课程代码小白笔记
笔记·单片机·嵌入式硬件
希和202712 小时前
51 单片机 LED 流水灯:从直接法到循环法(江科大课程笔记)
笔记·单片机·mongodb
Zwawa1 天前
用两个按键做一个OLED菜单:先把选择和执行分开
c语言·单片机·嵌入式