深圳市微雪电子有限公司

首页   |   产品中心   |   购买指南   |   支付方式   |   销售网点   |   联系我们
 


 
AVR 8-BIT MCU
 >> AVR 简介
 >> AVR 选型列表
 >> AVR Datasheets
 >> AVR 应用笔记
 >> AVR 软件平台
 >> AVR仿真器 编程器
 >> AVR开发板 评估板
 >> AVR测试座 编程座
 >> 通用测试座 编程座
 

 首页 >> AVR应用笔记 >> AVR单片机内核剖析 >> ATmega16 看门狗定时器
ATmega16 看门狗定时器

以下资料参考马曹老师的中文手册,由微雪电子整理并发布,转载请注明出处:www.waveshare.net,否则追究法律责任!

看门狗定时器由独立的1 Mhz 片内振荡器驱动。这是VCC = 5V 时的典型值。请参见特性数据以了解其他VCC 电平下的典型值。通过设置看门狗定时器的预分频器可以调节看门狗复位的时间间隔,如P41Table 17 所示。看门狗复位指令WDR 用来复位看门狗定时器。此外,禁止看门狗定时器或发生复位时定时器也被复位。复位时间有8 个选项。如果没有及时复位定时器,一旦时间超过复位周期, ATmega16 就复位,并执行复位向量指向的程序。具体的看门狗复位时序在P39 有说明。

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

看门狗定时器控制寄存器-WDTCR

? Bits 7..5 – Res: 保留位
ATmega16 保留位,读操作返回值为零。
? Bit 4 – WDTOE: 看门狗修改使能
清零WDE 时必须置位WDTOE,否则不能禁止看门狗。一旦置位,硬件将在紧接的4 个时钟周期之后将其清零。请参考有关WDE 的说明来禁止看门狗。
? Bit 3 – WDE: 使能看门狗
WDE为"1“ 时,看门狗使能,否则看门狗将被禁止。只有在WDTOE为"1“ 时WDE 才能清零。以下为关闭看门狗的步骤:
1. 在同一个指令内对WDTOE 和WDE 写"1“,即使WDE 已经为"1“
2. 在紧接的4 个时钟周期之内对WDE 写"0”
? Bits 2..0 – WDP2, WDP1, WDP0: 看门狗定时器预分频器2, 1 和 0
WDP2、WDP1 和WDP0 决定看门狗定时器的预分频器,如Table 17 所示。

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

汇编代码例程
WDT_off:
; WDT 复位
WDR
; 置位 WDTOE 和 WDE
in r16, WDTCR
ori r16, (1<<WDTOE)|(1<<WDE)
out WDTCR, r16
; 关闭WDT
ldi r16, (0<<WDE)
out WDTCR, r16
ret
C 代码例程
void WDT_off(void)
{
/* WDT 复位*/
_WDR();
/* 置位 WDTOE 和 WDE*/
WDTCR |= (1<<WDTOE) | (1<<WDE);
/* 关闭WDT */
WDTCR = 0x00;
}

相关AVR资料说明

可作为如下AVR的参考资料: ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny2313 ATtiny26 ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32 ATmega64 ATmega128 ATmega162 ATmega169 ATmega169P ATmega8515 ATmega8535

相关AVR型号资料

ATtiny13
ATtiny24
ATtiny44
ATtiny84
ATtiny26
ATtiny2313
ATmega48
ATmega88
ATmega168
ATmega8
ATmega16
ATmega32
ATmega64
ATmega128
ATmega162
ATmega169
ATmega8515
ATmega8535


 
 

网站地图   |   人才招聘   |   关于我们
       深圳市微雪电子有限公司版权所有