新唐51单片机看门狗配置流程

目录

前言

一、配置流程

二、代码编写

三、下载配置


前言

工程环境:MS51单片机、C语言编写、新唐ICP工具下载


一、配置流程

首先打开MS51单片机数据手册找到看门狗章节。即可看到配置看门狗的寄存器。

配置看门狗比较简单,寄存器只有这一个,解释如下。

要使能看门狗需要将WDTR置1,清除WDTF标志,清除WDTRF标志。这样即可简单使用看门狗。如果需要在低功耗的场景下使用看门狗,需要将WIDPD置1。如果需要对看门狗复位时间进行配置可以调整时钟分频。MS51的分频配置如下。

本例中将溢出时间设置为1.638S,即WDPS全置1。需要注意看门狗寄存器受TA保护,编辑前需要关闭TA保护。

二、代码编写

了解寄存器后就开启代码编写,初始化代码如下。

cpp 复制代码
void iwdg_init(void)
{
    //1.6S溢出 开启看门狗,低功耗模式运行
    EA = 0;
    TA=0xAA;TA=0x55;WDCON = 0x97;
    EA = 1;
}

然后在主循环中保证在溢出时间内定期喂狗即可。

cpp 复制代码
void iwdg_feed(void)
{
    //清零看门狗计数器
    EA=0;
    TA=0xAA;TA=0x55;WDCON|=0x40;
    EA=1;
}

while(1)
{
    //...

    
    iwdg_feed();
}

三、下载配置

编写好代码后发现看门狗没有在运行是怎么回事呢?查看用户手册可以看到这一段。

看门狗还有一个配置四选项,需要使能WDTEN才能使用看门狗,但是在代码中是无法访问这个寄存器的,这时候就需要下载新唐科技的ICP工具了。访问这个网站:

烧录工具 - Nuvoton

然后找到 ICP Programming Tool 下载

下载完成后将下载器连接芯片,选择你的芯片型号或者自动检测。

连上芯片后设定配置位。

选择开启看门狗,在空闲状态下持续工作,然后就能看到下面的配置值4变成了想要的选项。

最后勾选配置区然后将代码下进单片机中即可正常运行看门狗

相关推荐
BreezeJuvenile1 分钟前
基于C语言的SPSC环形缓冲区程序实现
c语言·环形缓冲区
SuperByteMaster18 分钟前
recursive mutex的使用场景和场景代码
c语言
WWJA王文举1 小时前
# STM32使用DMA后数据异常?可能不是DMA配置问题:从缓存、变量类型、时序到外设状态全面排查
stm32·嵌入式硬件·缓存
电化学仪器白超1 小时前
MV-CS200-10UC相机参数配置
python·单片机·嵌入式硬件·数码相机·自动化·ltspice
我和头发拼了1 小时前
STM32--9USART收发HEX数据包
stm32·单片机·嵌入式硬件
wuyk5551 小时前
7.AVL 树:第一个自平衡二叉搜索树
开发语言·stm32·单片机·算法
国科安芯2 小时前
星载网络化控制的总线脊梁:四路CANFD在分布式载荷管理中的架构优势
分布式·单片机·嵌入式硬件·架构·系统架构·canfd·低轨卫星星座
whaosoft-1432 小时前
嵌入式※~国产MCU替换STM
嵌入式硬件
caimouse2 小时前
ReactOS 窗口系统架构分析
服务器·c语言
caimouse2 小时前
ReactOS 图形系统分析(46):DC 工具 — dcutil.c
c语言·开发语言