




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十二章AVR看门狗及EEPROM 2007 06 26 AVR看门狗 引入看门狗的意义防止程序跑飞增强系统抗干扰能力 AVR看门狗 AVR看门狗 看门狗使用一个独立的定时器 时钟源为内置1Mhz独立振荡器当看门狗定时器定时溢出时 将产生1CLK宽度的复位脉冲定时间隔由看门狗预分频器调节程序执行时 定期复位看门狗定时器 以保证看门狗不产生复位脉冲程序跑飞时 由于在定时间隔内没有复位看门狗定时器的操作 当定时溢出时 系统复位 AVR看门狗 AVR看门狗 与看门狗相关的寄存器WDTCRWDTOE 看门狗修改使能清零WDE时必须置位WDTOE 否则不能禁止看门狗 一旦置位 硬件将在紧接的4个时钟周期之后将其清零 AVR看门狗 WDE 使能看门狗WDE为 1 时 看门狗使能 否则看门狗将被禁止 只有在WDTOE为 1 时WDE才能清零 以下为关闭看门狗的步骤 在同一个指令内对WDTOE和WDE写 1 即使WDE已经为 1 在紧接的4个时钟周期之内对WDE写 0 AVR看门狗 AVR看门狗 voidWDT off void WDT复位 WDR 置位WDTOE和WDE WDTCR 1 WDTOE 1 WDE 关闭WDT WDTCR 0 x00 AVR看门狗 在ICC中 macros h头文件中预定义了复位看门狗定时器的宏WDR Watchdoginitialize prescale 2048Kvoidwatchdog init void WDR thispreventsatimoutonenablingWDTCR 0 x0F WATCHDOGENABLED dontforgettoissueWDRs AVR内置EEPROM ATmega16内置512字节的EEPROM与EEPROM相关的寄存器EEPROM地址寄存器 EEARH和EEARLEEPROM数据寄存器 EEDREEPROM控制寄存器 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控制寄存器 EECREERIE 使能EEPROM准备好中断当EEWE清零时EEPROM准备好中断即可发生 AVR内置EEPROM EEPROM控制寄存器 EECREEMWE EEPROM主机写使能EEMWE决定了EEWE置位是否可以启动EEPROM写操作 当EEMWE为 1 时 在4个时钟周期内置位EEWE将把数据写入EEPROM的指定地址 若EEMWE为 0 则操作EEWE不起作用 EEMWE置位后4个周期 硬件对其清零 AVR内置EEPROM EEPROM控制寄存器 EECREEWE EEPROM写使能当EEPROM数据和地址设置好之后 需置位EEWE以便将数据写入EEPROM 写时序如下 第3步和第4步的次序并不重要 1 等待EEWE位变为零2 等待SPMCSR中的SPMEN位变为零3 将新的EEPROM地址写入EEAR 可选 4 将新的EEPROM数据写入EEDR 可选 5 对EECR寄存器的EEMWE写 1 同时清零EEWE6 在置位EEMWE的4个周期内 置位EEWE AVR内置EEPROM 注意 如果在步骤5和6之间发生了中断 写操作将失败 因为此时EEPROM写使能操作将超时 如果一个操作EEPROM的中断打断了另一个EEPROM操作 EEAR或EEDR寄存器可能被修改 引起EEPROM操作失败 建议此时关闭全局中断标志I 经过写访问时间之后 EEWE硬件清零 用户可以凭借这一位判断写时序是否已经完成 EEWE置位后 CPU要停止两个时钟周期才会运行下一条指令 AVR内置EEPROM EEPROM控制寄存器 EECREERE EEPROM读使能当EEPROM地址设置好之后 需置位EERE以便将数据读入EEAR EEPROM数据的读取只需要一条指令 且无需等待 读取EEPROM后CPU要停止4个时钟周期才可以执行下一条指令 用户在读取EEPROM时应该检测EEWE 如果一个写操作正在进行 就无法读取EEPROM 也无法改变寄存器EEAR AVR内置EEPROM voidEEPROM write unsignedintuiAddress unsignedcharucData 等待上一次写操作结束 while EECR AVR内置EEPROM unsignedcharEEPROM read unsignedintuiAddress 等待上一次写操作结束 while EECR AVR内置EEPROM 在ICC中 eeprom h头文件中预定义了内置EEPROM读写宏 EEPROM READ intlocation object 这个宏调用了EEPROMReadBytes函数从EEPROM指定位置读取数据送给数据对象 object 可以是任意程序变量包括结构和数组例如inti EEPROM Read 0 x1 i 读2个字节给iEEPROM WRITE intlocation object 这个宏调用了EEPROMWriteBytes函数将数据对象写入到EEPROM的指定位置 object 可以是任意程序变量包括结构和数组例如inti EEPROM WRITE 0 x1 i 写两个字节至0 x1 AVR内置EEPROM 在ICC中也可以直接使用以下内置函数unsignedcharEEPROMread intlocation 从EEPROM指定位置读取一个字节intEEPROMwrite intlocation unsignedcharbyte 写一个字节到EEPROM指定位置如果成功返回0voidEEPROMReadBytes intlocation void ptr intsize 从EEPROM指定位置处开始读取 size 个字节至由 ptr 指向的缓冲区voidEEPROMWriteBytes intlocation void ptr intsize 从EEPROM指定位置处开始写 size 个字节写的内容由 ptr 指向的缓冲区提供 ICC读写EEPROM内置函数原型 unsignedcharEEPROMread intlocation EEAR location EECR 0 x01 SetREADstrobereturn EEDR Returnbyte ICC读写EEPROM内置函数原型 intEEPROMwrite intlocation unsignedcharbyte unsignedcharoldSREG EEAR location EEDR byte oldSREG SREG SREG returnSuccess Couldbeexpandedsothat theroutinechecksthattheaddress iswithintherangeofthechip ICC中将变量分配至EEPROM中 pragmadata eepromintfoo 0 x1234 chartable 0 1 2 3 4 5 pragmadata data inti EEPROM READ int i等于0 x1234 ICC中将变量分配至EEPROM中 将变量分配到EEPROM区域 可以使用编译附注 pragmadata eeprom将产生扩展名为 eep的EEPROM初始化文件 内部EEPROM使用实例 定义变量到EEPROM pragmadata eepromSystemInfoSysData SysSetupTypeSetupEepData SmsFileTypeSmsEepFile 10 AlamRecTypeAlamEepRec 20 uint8SuperPassWordEep 16 uint8InputMenuInfoEep 8 20 uint8OutputMenuInfoEep 8 20 uint8SystemInit pragmadata data 内部EEPROM使用实例 定义RAM中的变量SystemInfosysdata GSMeHOMESystem
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025有关合同履行的具体规定
- 2025【餐饮业连锁经营】:区域代理合同B
- 2025年保密考试及答案
- 天津编导联考真题及答案
- 2025年pccm考试题及答案
- 水质溯源调查方案范本
- 德州不锈钢风管施工方案
- 丘陵地区旱改水施工方案
- 2025房产交易简化版合同
- 安庆楼顶发光字施工方案
- JT-T 495-2025 公路交通安全设施产品质量检验抽样方法
- 2025-2030中国铜软连接行业市场现状分析及竞争格局与投资发展研究报告
- 2024-2025学年山东省济南市高一上册第一次月考数学学情检测试题
- 2025年印刷行业趋势分析报告
- 劳动教育的跨学科融合
- 2025年中考英语高频词汇表
- 《钠离子电池简介》课件
- 十八项核心制度
- 《水的组成说课课案》课件
- 理疗课件教学课件
- 起重作业十不吊、八严禁
评论
0/150
提交评论