第十二章AVR看门狗及EEPROM.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 第十二章 AVR看门狗及EEPROM 2007、06、26 第一页,共三十一页。 AVR 看门狗 引入看门狗的意义 防止程序跑飞 增强系统抗干扰能力 第二页,共三十一页。 AVR 看门狗 第三页,共三十一页。 AVR 看门狗 看门狗使用一个独立的定时器,时钟源为内置1Mhz独立振荡器 当看门狗定时器定时溢出时,将产生1CLK宽度的复位脉冲 定时间隔由看门狗预分频器调节 程序执行时,定期复位看门狗定时器,以保证看门狗不产生复位脉冲 程序跑飞时,由于在定时间隔内没有复位看门狗定时器的操作,当定时溢出时,系统复位。 第四页,共三十一页。 AVR 看门狗 第五页,共三十一页。 AVR 看门狗 与看门狗相关的寄存器 WDTCR WDTOE: 看门狗修改使能 清零WDE 时必须置位WDTOE,否则不能禁止看门狗。一旦置位,硬件将在紧接的4 个时钟周期之后将其清零。 第六页,共三十一页。 AVR 看门狗 WDE: 使能看门狗 WDE为“1“ 时,看门狗使能,否则看门狗将被禁止。只有在WDTOE为”1“ 时WDE 才能清零。 以下为关闭看门狗的步骤: 在同一个指令内对WDTOE 和WDE 写1“,即使WDE 已经为1“ 在紧接的4 个时钟周期之内对WDE 写0” 第七页,共三十一页。 AVR 看门狗 第八页,共三十一页。 AVR 看门狗 void WDT_off(void) { /* WDT 复位*/ _WDR(); /* 置位 WDTOE 和 WDE*/ WDTCR |= (1WDTOE) | (1WDE); /* 关闭WDT */ WDTCR = 0x00; } 第九页,共三十一页。 AVR 看门狗 在ICC中,macros.h头文件中预定义了复位看门狗定时器的宏 WDR() //Watchdog initialize // prescale: 2048K void watchdog_init(void) { WDR(); //this prevents a timout on enabling WDTCR = 0x0F; //WATCHDOG ENABLED - dont forget to issue WDRs } 第十页,共三十一页。 AVR 内置EEPROM ATmega16 内置512字节的EEPROM 与EEPROM相关的寄存器 EEPROM 地址寄存器- EEARH和EEARL EEPROM 数据寄存器 - EEDR EEPROM 控制寄存器- EECR 第十一页,共三十一页。 AVR 内置EEPROM EEPROM 地址寄存器- EEARH和EEARL 指定了512字节的EEPROM空间。EEPROM地址是线性的,从0 到511。 EEAR 的初始值没有定义。在访问EEPROM 之前必须为其赋予正确的数据。 第十二页,共三十一页。 AVR 内置EEPROM EEPROM 数据寄存器 - EEDR 对于EEPROM 写操作, EEDR 是需要写到EEAR 单元的数据; 对于读操作, EEDR 是从地址EEAR 读取的数据。 第十三页,共三十一页。 AVR 内置EEPROM EEPROM 控制寄存器- EECR EERIE: 使能EEPROM 准备好中断 当EEWE 清零时EEPROM 准备好中断即可发生。 第十四页,共三十一页。 AVR 内置EEPROM EEPROM 控制寄存器- EECR EEMWE: EEPROM 主机写使能 EEMWE决定了EEWE置位是否可以启动EEPROM写操作。 当EEMWE为“1”时,在4个时钟周期内置位EEWE 将把数据写入EEPROM 的指定地址; 若EEMWE 为“0“,则操作EEWE 不起作用。 EEMWE 置位后4 个周期,硬件对其清零。 第十五页,共三十一页。 AVR 内置EEPROM EEPROM 控制寄存器- EECR EEWE: EEPROM 写使能 当EEPROM 数据和地址设置好之后,需置位EEWE以便将数据写入EEPROM。 写时序如下( 第3 步和第4 步的次序并不重要): 1. 等待EEWE 位变为零 2. 等待SPMCSR 中的SPMEN 位变为零 3. 将新的EEPROM 地址写入EEAR( 可选) 4. 将新的EEPROM 数据写入EEDR( 可选) 5. 对EECR 寄存器的EEMWE 写1,同时清零EEWE 6. 在置位EEMWE 的4 个周期内,置位EEWE 第十六页,共三十一页。 AVR 内置EEPROM 注意: 如果在步骤5 和6 之间发生了中断,写操作将失败。因为此时EEPROM 写使能操作将超时。 如果一个操作EEPROM的中断打断了另一个EEPROM操作,EEAR 或EEDR寄存

文档评论(0)

虾虾教育 + 关注
官方认证
文档贡献者

有问题请私信!谢谢啦 资料均为网络收集与整理,收费仅为整理费用,如有侵权,请私信,立马删除

版权声明书
用户编号:8012026075000021
认证主体重庆皮皮猪科技有限公司
IP属地重庆
统一社会信用代码/组织机构代码
91500113MA61PRPQ02

1亿VIP精品文档

相关文档