看门狗定时器由独立的128 kHz片内振荡器驱动。通过设置看门狗定时器的预分频器可以调节看门狗复位的时间间隔,如 P44Table26 所示。看门狗复位指令 WDR 用来复位看门狗定时器。此外,禁止看门狗定时器或发生复位时它也被复位。复位时间有 10 个选项。如果没有及时复位定时器,一旦时间超过复位周期, ATmega88 就复位,并执行复位向量指向的程序。具体的看门狗复位时序在 P44Table26 有说明。
看门狗定时器还可用来产生中断。这在使用看门狗将系统从掉电状态唤醒是非常有用的。
为了防止无意之间禁止看门狗定时器或改变了复位时间,熔丝位 WDTON 为此提供了 2个不同的保护级别,如 Table 24.所示。请参见P47”改变看门狗定时器配置的时间序列” 。
看门狗定时器控制寄存器-WDTCSR
· Bits 7 – WDIF: 看门狗超时中断标志
当看门狗定时器超时且定时器作为中断使用时,该位置位。执行相应的中断处理程序时 WDIF 由硬件清零。也可通过对标志位写 "1” 对 WDIF 清零。当 SREG 寄存器中的 I 位与 WDIE 也置位时, MCU 执行看门狗超时中断。
· Bit 6 – WDIE: 看门狗超时中断使能
WDIE置"1”时WDE被清零,状态寄存器中的I位置位,看门狗超时中断使能。当看门狗定时器出现超时时执行相应的中断程序。
如果 WDE置位,当超时出现时, WDIE 由硬件自动清零。 这对使用中断时保证看门狗复 位的安全性非常有效。在 WDIE 位被清零后,下一个超时将引发系统复位。为避免看门狗 复位,在每次中断后必须对 WDIE置位。
· Bit 4 – WDCE: 看门狗修改使能
清零 WDE时必须置位 WDCE,否则不能禁止看门狗。一旦置位,硬件将在紧接的 4 个时 钟周期之后将其清零。请参考有关 WDE 的说明来禁止看门狗。修改预分频器也必须置位 WDCE,如 P47“改变看门狗定时器配置的时间序列”所示。
· Bit 3 – WDE: 使能看门狗
WDE为“1” 时,看门狗使能,否则看门狗将被禁止。只有在WDCE为“1”时WDE 才能清零。以下为关闭看门狗的步骤:
1. 在同一个指令内对WDCE 和WDE 写"1",即使WDE 已经为"1"。
2. 在紧接的4 个时钟周期之内对WDE 写"0"。这会禁用看门狗。
工作于安全级别 2 时,即使使用了上述的算法,也无法禁止看门狗定时器。参见 P47“改变看门狗定时器配置的时间序列”所示。
工作于安全级别 1 时, WDE 被 MCUSR 的 WDRF 功能所替换 ,请参见 P41”MCU 状态寄存器 – MCUSR” 中关于 WDRF 的说明。这意味着当 WDRF 置位时 WDE 同时置位。为清零 WDE,在使用上述过程禁用看门狗之前必须清零 WDRF。这一特性保证在出现故障时有多重复位,且在故障解决后可以安全地启动。
Note: 如果在应用中不需要使用看门狗定时器,则在器件初始化时应运行看门狗禁用程序。如果 看门狗被意外使能,如程序跑飞或出现 BOD,器件将会复位,且在结束复位时 WDRF 标 志位置位。这将自动激活看门狗,引发新的看门狗复位。为避免出现这种状况,在初始化 过程中应用程序应将 WDRF 标志位与 WDE控制位清零 。
· Bits 5,2..0 – WDP3..0:看门狗定时器预分频器 3, 2, 1, 与 0
当看门狗定时器使能时, WDP3..0 决定看门狗定时器的预分频器,如 Table26 所示。
下面的例子分别用汇编和 C 实现了关闭 WDT 的操作。在此假定中断处于用户控制之下 ( 比如已经禁止了x全局中断 ) ,因而在执行下面程序时中断不会发生。
汇编代码例程
WDT_off:
; MCUSR中的WDRF 清零
ldi r16, ( 0<< WDRF )
out MCUSR, r16 ; 置位WDCE 与 WDE
ldi r16, (1<< WDCE )|( 1<< WDE ) ; 关闭WDT
ldi r16, (0<< WDE )
out WDTCSR, r16
ret
C 代码例程
void WDT_off(void)
{
/*MCUSR 中的 WDRF清零*/
MCUSR = 0x00
/* 置位WDCE 与 WDE */
WDTCSR = (1<< WDCE) | (1<< WDE);
/* 关闭WDT */
WDTCSR = 0x00;
}
上一篇:ATmega88 中断向量
下一篇:ATmega88 基准电压使能信号和启动时间
推荐阅读最新更新时间:2024-11-10 11:17
推荐帖子
- 我来评论,太阳能光伏发电解决方案
- 太阳能发电是利用电池组件将太阳能直接转变为电能的装置。太阳能电池组件(Solarcells)是利用半导体材料的电子学特性实现P-V转换的固体装置,在广大的无电力网地区,该装置可以方便地实现为用户照明及生活供电,一些发达国家还可与区域电网并网实现互补。而国内主要研究生产适用于无电地区家庭照明用的小型太阳能发电系统。我来评论,太阳能光伏发电解决方案
- zhc787 ADI参考电路
- 我用TLV561x系列DA出现点问题
- 本帖最后由dontium于2015-1-2312:56编辑我用的一款芯片是tlv5618,。问题:输入电源为5v,参考电压为3v.据资料说明,TLV5618输出电压范围为参考电压的2倍,求解答:输出电压是否可以高出VCC。我用TLV561x系列DA出现点问题不可以回复楼主mdq123的帖子谢谢了解了回复板凳dontium的帖子
- mdq123 模拟与混合信号
- 【信号处理】介绍基于DSP和FPGA的专业级音频处理开发板资料
- 采用TMS320C5409和CycloneEP1C3T144C8FPGA、作为主处理器、协处理器。采用24bit高精度音频专用AD/DA转换芯片,特别适合应用于电台、录音室等专业级音频处理设备开发。该开发板是面向专业级音频开发而设计的硬件平台,主要集成了ALTERA的EP1C3,STC的MCU和cirrus公司的高保真度音频AD/DA,音频经AD/DA转换后的信噪比达到90dB,完全达到专业音频处理的水平。硬件资源:◆TMS320VC5409-100:32K字片内RAM,3个McB
- hangsky FPGA/CPLD
- 二手新塘NUC123SD4AN0
- 出售二手新塘NUC123开发板,40包邮。有点坏,有两个供电口,接仿真器的一端和不接仿真器的一端。接仿真器的一端是好的,不接仿真器的一端坏了,插上灯不亮。闲鱼链接:二手新塘NUC123SD4AN0
- chenbingjy 淘e淘
- 2009中国国际医疗电子技术大会进行中,网络直播带你到“第一现场”!
- 中国国际医疗电子技术大会CMET2009进行中,TI、ADI、Actel、Xilinx、风河等医疗电子市场多年的半导体行业领先厂商,Intel和Microsoft等知名企业将出席大会,现场介绍其在医疗电子行业的技术方案及未来愿景。而已经报名的观众更是涵盖了迈瑞、金科威、深圳科曼、深圳理邦、广东宝莱特、珠海福尼亚等国内主要的医疗电子设备厂商,以及如伟创力、比亚迪等医疗电子设备ODM/OEM厂商的管理人员和工程技术人员。为了满足不能到现场的专业人士的要求,www.elexcon.com将
- joney 医疗电子
- 【Follow me第二季第2期】Arduino 基本任务 和 基于ArduinoHA SHT40数据上传HA
- 项目演示视频【Followme第二季第2期】项目演示视频物料展示清单ArduinoUNOR4WiFiQwiic缆线-50mmSHT40温湿度传感器扩展板10K电阻*26PIN排针1.ArduinoUNOR4WiFi分析与介绍UNOR4WiFi采用了强大且非常稳健的瑞萨微控制器,该控制器也用于UNOR4Minima上。瑞萨的微控制器以其高性能和稳健性而闻名,包括其内置的外设。这些
- 尹小舟 DigiKey得捷技术专区
设计资源 培训 开发板 精华推荐
- 使用 Semtech 的 EZ5Z3L 的参考设计
- 使用 ROHM Semiconductor 的 BD49E36G-TR 的参考设计
- ASC0304A/JCJ5222四路镍氢电池充电器PCB
- LTC3624EDD-5 5V 输出电压、2A 同步降压型稳压器的典型应用,具有 800mA 突发钳位,fSW = 1MHz
- 带参考稳压器的 AZ431B PWM 转换器的典型应用
- ADP2384-EVALZ,用于 ADP2384 的评估板,20V,4A,同步降压 DC-DC 稳压器
- 使用 Microchip Technology 的 MIC23250-C4YMT 的参考设计
- LT1170HVIT 的典型应用,5A 驱动高压 NPN
- LT1952EGN-1 18V 至 72V 宽输入、高效率、12V/12A 输出、有源复位正激转换器的典型应用电路
- XPC563MKIT: 评估系统可支持恩智浦® MPC563xM