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
}
相关推荐
送外卖的工程师12 小时前
STM32智能家庭安防系统
stm32·单片机·嵌入式硬件
送外卖的工程师12 小时前
STM32智能消毒柜
stm32·单片机·嵌入式硬件
CodeFragment12 小时前
裸机开发速记:启动流程|GIC 中断|时钟系统|UART 通信
arm开发·单片机·嵌入式硬件
ebiobiz13 小时前
基于 GD32 Embedded Builder (GEB) 与 Nimmake 的 MCU 工程搭建指南
c++·python·单片机·嵌入式硬件·mcu
额额额对了14 小时前
SPI通信
linux·c语言·汇编·单片机·嵌入式硬件·arm
创界工坊工作室14 小时前
14-基于stm32的水肥一体化灌溉系统设计
stm32·单片机·嵌入式硬件
斑马13915 小时前
ARM学习笔记(八)——PWM与ADC
单片机·嵌入式硬件
恒锐丰科技林技术员16 小时前
EG2106 半桥 MOS/IGBT 驱动芯片解析与工程应用
经验分享·嵌入式硬件·硬件工程
威嵌神州16 小时前
P2020 性能怎么样?经典 PowerPC 架构的嵌入式控制优势解析
嵌入式硬件
M78佐菲17 小时前
ARM学习笔记(12)
linux·arm开发·笔记·嵌入式硬件·学习