C8051F410看门狗的使用方法

8051F410看门狗的使用方法
一、 看门狗概念

  1. 看门狗产生复位的条件:
    通过 PCA 的模块 5 可以实现可编程看门狗定时器( WDT)功能。如果两次对 WDT 更新寄存器( PCA0CPH5)的写操作相隔的时间超过规定的极限, WDT 将产生一次复位。
  2. 使能/禁止WDT的软件实现方法:
    可以根据需要用软件配置(操作寄存器)来使能/禁止 WDT。
    当 PCA0MD 寄存器中的 WDTE 位被置 1 时,模块 5 被作为看门狗定时器( WDT)使用。WDTE = 1: PCA 模块 5 被用作看门狗定时器。
  3. 防止复位的方法:
    如果在 WDT 被使能时 PCA0CPH5 和 PCA0H 发生匹配,则系统将被复位。为了防止 WDT 复位,需要通过写 PCA0CPH5 来更新 WDT(写入值可以是任意值)。
    二、 看门狗定操作注意点
    a) 在系统复位后看门狗被使能。也就是一上电,系统默认是打开看门狗的。解析:这里要特别注意,一般项目中,全局变量一多的话,会导致启动文件初始化过程延长,结果就是程序重复重启,进入不了main函数,主程序执行不了,解决办法就是在启动文件里加入关闭看门狗的汇编语句。
    b) 在看门狗被使能时,对某些 PCA 寄存器的写操作受到限制。
    解析:这样的话,就需要在设置PCA 寄存器之前,先禁止看门狗功能,在设置完成以后,再使能看门狗功能。
    比如:
    PCA0MD &= ~0x40;
    PCA0L = 0x00;
    PCA0H = 0x00;
    PCA0CPL5 = 0xFF;
    PCA0MD |= 0x40;
    c) 在 WDT被使能的情况下,软件可以通过向 CCF5 标志( PCA0CN.2)写 1 来强制产生 WDT 复位。(做BootLoader的时候,可以使用此功能。)
    d) 当 WDT 被使能时,模块 5 被强制进入软件定时器方式。写 CR 位并不改变 PCA 计数器的状态;计数器将一直保持运行状态,直到 WDT 被禁止。如果 WDT 被使能,但用户软件没有使能 PCA 计数器,则读 PCA 运行控制( CR)位时将返回 0。(CR=0,禁止 PCA 计数器/定时器。)

三、 看门狗定时器,定时时间的计算方法。
a) 看门狗定时器的概念:
答:看门狗定时器时间一到,如果此刻没有喂狗动作的话,那系统就会复位,所以此定时器定时的值,是防止系统复位,两次喂狗之间的时间间隔。
b) 如何确定看门狗定时器的值。

  1. 先看看C8051F410手册,相关定时器的值,有哪些概念。手册中说,
    在WDT 被使能时,如果PCA0CPH5 和 PCA0H 发生匹配,则系统将被
    复位。因为PCA0H是计数器的高字节,PCA0CPH5是捕获模块的高字节。那可以这样理解,PCA0H是从0开始递增计数(一次+1),PCA0H的值一直增加到和PCA0CPH5的值一样的时候,就是定时器定时时间到了。

那下一步,如果我们要设置看门狗定时时长,就需要知道PCA0CPH5 和 PCA0H 的值。

PCA0

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值