首页 理论教育 AVR单片机开发与实例:看门狗定时器

AVR单片机开发与实例:看门狗定时器

时间:2023-10-17 理论教育 版权反馈
【摘要】:看门狗定时器由独立的1MHz片内振荡器驱动,这是VCC=5V时的典型值。通过设置看门狗定时器的预分频器可以调节看门狗复位的时间间隔。此外,禁止看门狗定时器或发生复位时定时器也被复位。看门狗定时器结构简图如图2-17所示。为了防止无意之间禁止看门狗定时器,在看门狗禁用后必须跟一个特定的修改序列。图2-17 看门狗定时器看门狗定时器控制寄存器包含的控制位如下所示。

AVR单片机开发与实例:看门狗定时器

看门狗定时器独立的1MHz片内振荡器驱动,这是VCC=5V时的典型值。通过设置看门狗定时器的预分频器可以调节看门狗复位的时间间隔。看门狗复位指令WDR用来复位看门狗定时器。此外,禁止看门狗定时器或发生复位时定时器也被复位。复位时间有8个选项。如果没有及时复位定时器,一旦时间超过复位周期,ATmega16就复位,并执行复位向量指向的程序。看门狗定时器结构简图如图2-17所示。

为了防止无意之间禁止看门狗定时器,在看门狗禁用后必须跟一个特定的修改序列。

978-7-111-35161-0-Chapter02-44.jpg

图2-17 看门狗定时器

看门狗定时器控制寄存器(WDTCR)包含的控制位如下所示。

978-7-111-35161-0-Chapter02-45.jpg

●位[7∶5]——Res:保留位

ATmega16保留位,读操作返回值为零。

●位4——WDTOE:看门狗修改使能

清零WDE时必须置位WDTOE,否则不能禁止看门狗。一旦置位,硬件将在紧接的4个时钟周期之后将其清零。

●位3——WDE:使能看门狗

WDE为“1”时,看门狗使能,否则看门狗将被禁止。只有在WDTOE为“1”时WDE才能清零。以下为关闭看门狗的步骤:

1)在同一个指令内对WDTOE和WDE写“1”,即使WDE已经为“1”。(www.xing528.com)

2)在紧接的4个时钟周期之内对WDE写“0”。

●位[2∶0]——WDP[2∶0]:看门狗定时器预分频器2、1和0

WDP2、WDP1和WDP0决定看门狗定时器的预分频器,如表2-20所示。

表2-20 看门狗定时器预分频器选项

978-7-111-35161-0-Chapter02-46.jpg

(续)

978-7-111-35161-0-Chapter02-47.jpg

下面的例子分别用汇编和C语言实现了关闭WDT的操作。在此假定中断处于用户控制之下(比如禁止全局中断),因而在执行下面程序时中断不会发生。

汇编代码例程:

978-7-111-35161-0-Chapter02-48.jpg

C代码例程:

978-7-111-35161-0-Chapter02-49.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈