51手记之C8051F
时间:11-10
来源:互联网
点击:
/65536
3)看门狗定时器
通过PCA的模块4可以实现可编程看门狗定时器(WDT)功能。模块4高字节与PCA计数器的高字节比较;模块4低字节保持执行WDT更新时要使用的偏移值。在系统复位后看门狗被使能。在看门狗被使能时,对某些PCA寄存器的写操作受到限制。
如果在WDT被使能时PCA0CPH4和PCA0H发生匹配,则系统将被复位。为了防止WDT复位,需要通过写PCA0CPH4来更新WDT。在写PCA0CPH4时,PCA0H的值加上PCA0CPL4中保存的偏移值后被装入到PCA0CPH4. 当WDT被使能时:
a.PCA计数器被强制运行。
b.不允许写PCA0L和PCA0H。
c.PCA时钟源选择位(CPS2-CPS0)被冻结。
d.PCA等待控制位(CIDL)被冻结。
e.模块4被强制进入看门狗定时器方式。
f.对模块4方式寄存器(PCA0CPM4)的写操作被禁止。
看门狗定时器偏移值(PCA时钟数)=(256*PCA0CPL4)+(256-PCA0L)
配置WDT的步骤如下:
a.通过向WDTE位写‘0’来禁止WDT。
b.选择PCA时钟源(用CPS2-0位)。
c.向PCA0CPL4装入所希望的WDT更新偏移值。
d.配置PCA的空闲方式位(如果希望在CPU处于空闲方式时WDT停止工作,则应将CIDL位置‘1’)。
e.通过向WDTE位写‘1’来使能WDT。
f.(选项)通过将WDLCK位置‘1’来锁定WDT(防止在下一次系统复位前禁止WDT)。
WDT在任何一次系统复位之后都被设置为使能状态。PCA0计数器的缺省时钟为系统时钟的十二分频(SYSCLK/12)。当WDTE位被置1时,不能改变PCA0MD寄存器的值。若要改变PCA0MD的内容,必须先禁止看门狗定时器。
51手记C8051 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)