版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 用 ATmega16 替换 AT90S8535的中文指引 用 ATmega16 替 换 AT90S8535一特点 ATmega16 修正了AT90S8535 中的错误改变了一些寄存器和寄存器控制位的名称改进了定时/计数器及预分频器 改进了 ADC改进了 SPI 和 UART修改了写 EEPROM 的定时编程接口 熔丝设置 改进了振荡器和启动延时改进了看门狗定时器 其他注意事项 二 简介本应用笔记是为了帮助现有的AT90S8535 于生产工艺的改进 ATmega16 的电气特性和高 请查阅数据手册以获取更详细的说明 用户将现有的设计移植到AT mega16由AT90S8535 不同 其中包括工
2、作频率的提三 ATmega16 修正了AT90S8535 中的错误AT90S8535 勘误表中的下列各项不适用于 ATmega16 以获取更详细的说明 请参考AT90S8535 勘误表没有时钟时释放复位条件 ATmega16 有一个新的复位接口 在任何有效的时钟出现之前 任何超过最小脉冲宽度tRST 的外部复位脉冲都可以产生一个内部复位 自由运行模式中错误地改变通道 ATmega16 的 ADMUX 寄存器中的 MUXn 和 REFS1:0 位通过一个临时寄存器保存 CPU 可以随机访问这个临时寄存器 通道和参考电压选择只有转换完成之后进行 关于在自由运行模式中怎样修改这些寄存器的问题请参考
3、ATmega16 数据手册以获振荡器可能会失效 广州市天河双龙电子 http:/WWW.SL.COM.CN 用 ATmega16 替换 AT90S8535的中文指引 ATmega16 定时/计数器2 的32 kHz 晶体振荡器在4.0V 以上电压时也可以工作考 ATmega16 数据手册以获取更详细的说明 请参不正确的起动时间 AT90S8535 的 FSTRT 熔丝被 ATmega16 中的一个更灵活的系统代替 CKSEL3:0 和 SUT1:0 熔丝可以选择时钟源 频率范围和起动时间请参考 ATmega16 数据手册以获取更详细的说明 通过在高电压下加密位不能擦除 ATmega16 的加密
4、位可以在所有工作电压范围内清除 半进位标志的错误 ATmega16 中的半进位标志工作正常 写复位状态位的错误 ATmega16 中的 POR 和 XTRF 标志可以单独清除从休眠模式唤醒后在中断服务程序执行前执行部分指令 从省电模式唤醒后 ATmega16 把中断程序作为第一条指令执行 ATmega16 式时如果有中断发生芯片将被唤醒 芯片被挂起四个时钟周期 执行中断程序行SLEEP 后面的指令 处于休眠模然后重新执SPI 会发送错误的字节 在 ATmega16中 当工作在 SPI 主模式时 在上次发送完成的同一时钟边沿新的字节可以写到 SPI 数据寄存器 而不要等待上次发送完成后才能写下一
5、字节到 SPI 数据寄存器 写端口影响输出比较值 使用 OC1A 和 或 OC1B 时 写 PORTD I/O 地址不影响比较引脚的操作在电压低于3.4V 时的串行编程 只要芯片工作在ATmega16 数据手册中规定的电压和频率范围内 对电源电压或系统频率就没有任何限制 无全局中断使能时从省电模式唤醒 广州市天河双龙电子 http:/WWW.SL.COM.CN 用 ATmega16 替换 AT90S8535的中文指引 除非 Atmega16 中的全局中断使能 否则异步定时/计数器中断不会唤醒芯片 UART 接收被禁止时如果 RXD 为低电平则 UART 失去同步 UART 被 USART 代替
6、 USART 就没有这方面的问题 只有 USART 的接收允许位被置位 接收的开始下降边沿才是有效的 控制寄存器中在高电压下的电流消耗 请参考 ATmega16 数据手册以获取更详细的说明 I/O 引脚三态时的漏电流 请参考 ATmega16 数据手册以获取更详细的说明 四改变的寄存器和寄存控制位的名称 下列寄存器控制位已经改变名称 但功能和位置与 AT90S8535的一样表 1. 改变的寄存控制位名称 下列 I/O 寄存器已经改变名称 但功能和位置与AT90S8535 的一样:表 2. 被改变的寄存器的名称 广州市天河双龙电子 http:/WWW.SL.COM.CNRegister Name
7、 in AT90S8535Register Name in ATmega16CommentsGIMSKGICRMCUSRMCUCSRUBRRUBRRLUSRUCSRAUCRUCSRBADCSRADCSRABit Name in AT90S8535Bit Name in ATmega16I/Oregister (AT90S8535)CommentsPWMn(0)WGMn0TCCRn(A)“A” and “0” in 16-bit Timer onlyPWMn0WGMn1TCCRnACTCnWGMn2TCCRn(B)“B” in 16-bit Timer onlyWDTOEWDCEWDTCRSee
8、 Changes to Watchdog Timer on page 9CHR9UCSZ2UCRORDORUSR 用 ATmega16 替换 AT90S8535的中文指引 五 改进了定时/计数器及预分频器 有关改进和增加特性的更详细的说明 请查阅数据手册增加了下列特性 ATmega16 的预分频器可以被复位 PWM 模式下可以改变计数最大值 对定时/计数器1 快速 PWM 模式 增加了相位频率可调 PWM 模式和相位可调 PWM 模式 定时器0 扩充了 PWM 和输出比较功能 ATmega16 和 AT90S8535 的差别 大部分的改进是针对所有的定时器/计数器 有关描述写成下面的格式 小写
9、的 x代表输出通道( A 或 B 对应定时器/计数器1与定时器/计数器 0 和定时器/计数器 2无关)n代表定时器/计数器号 ( n = 0 或 1 或 2 )在 PWM 模式中 TCNT1 被清除 AT90S8535 有三种不同精度的 PWM ( 89 或 10 位 )尽管只有 89 或 10 位 被比较 但仍可能把超过规定精度的值写入 TCNT1 寄存器 因而 定时器/计数器在减小了的精度起作用之前要先完成计数至 0xFFFF即如果选择了 8 位精度 TCNT1 寄存器的值是 0x0100那么最大值 (0x00FF) 在只有在已计数到 0xFFF然后翻转再向下计数至 0x0000 时才起作
10、用 ATmega16 中已做了改进 TCNT1 中未用到的位被清零以避免不需要的向0xFFFF 的计数 ATmega16 的 TCNT1 寄存器不会超出选定的精度 ATmega16TCNT1 寄存器的最高位在时钟的第一个正边沿被清零8 位PWM: TCNT1H7:0 = 09 位 PWM: TCNT1H7:1 = 010 位 PWM: TCNT1H7:2 = 0AT90S8535TCNT1H 不被清零广州市天河双龙电子 http:/WWW.SL.COM.CN 用 ATmega16 替换 AT90S8535的中文指引 PWM 模式中 OCR1xH 被清零 PWM 模式中 OCR1xH 被清零与
11、TCNT1 清零有一些小的区别 如果选择了 89或 10 位 PWM 模式 AT90S8535 把 OCR1xH 的六个最高位清零 所以在 PWM 模式下 无论选择哪种PWM 模式 如果 0xFFFF 被写入 OCR1x 然后 OCR1x 再被读回 结果都是 0x03FFATmega16 的被清零的位的位数是由精度决定 ATmega16OCR1AH 和 OCR1BH 的最高位在计数到最大值时被清零 89PWM: OCR1xH7:0 = 0 PWM: OCR1xH7:1 = 0位位10 位 PWM: OCR1xH7:2 = 0AT90S8535无论选择的精度是多少 OCR1AH 和 OCR1BH
12、 的六个最高位被清零预分频 比较匹配时的定时/计数器清零比较匹配时清零和定时器/计数器内部计数之间的关系改变了AT90S8535 的比较匹配时的清零发生在内部计数与比较值第一次匹配时ATmega16 在内部计数与比较值最后一次匹配时把定时器/计数器清零 而图 1 和图 2 是图例说明示例: OCR1x = 0x02 (预分频器使能 8 分频)图 1.设置输出比较标志/引脚 AT90S8535(1)注释: 1. “ h” 表示该输出比较标志/引脚将被置 1图 2. 设置输出比较标志/引脚 ATmega16(1)注释: 1. “ h” 表示该输出比较标志/引脚将被置 1预分频使能的输出比较引脚/标
13、志设置适用于所有定时器/计数器 广州市天河双龙电子 http:/WWW.SL.COM.CNTCNTn0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1hPin/FlagTCNTn0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 0 0 0 0 0 0hhPin/Flag 用 ATmega16 替换 AT90S8535的中文指引 输出比较和定时器/计数器内部计数之间的关系改变了AT90S8535 的输出比较在内部
14、计数与比较值第一次匹配时设置输出比较引脚/标志ATmega16 的输出比较在内部计数与比较值最后一次匹配时设置输出比较引脚/标志 图 3 和图 4 是图例说明示例: OCR1x = 0x02 (预分频器使能 8 分频)图 3. 设置输出比较标志/引脚 AT90S8535(1)注释: 1. “ h” 表示该输出比较标志/引脚将被置 1图 4. 设置输出比较标志/引脚 ATmega16(1)注释: 1. “ h” 表示该输出比较标志/引脚将被置 1PWM 模式下写 OCR1x切换到正常模式 OCR1x 在最大值处被更新 读OCR1x按照数据手册中描述 写入到 OCR1x 的值在寄存器到达最大值时被
15、更新 所以在PWM 模式下写 OCR1x 时 数值先存储在临时缓冲中 当定时器/计数器计数到最大值时才由临时缓冲传输到真正的输出比较寄存器 如果临时缓冲被写后仍处于 PWM模式下 在真正的输出比较寄存器更新前读是不同的 OCR1xATmega16 和 AT90S8535ATmega16如果 OCR1x寄存器在更新前被读取读取的是 OCR1x 的实际值而不是临时缓冲AT90S8535如果 OCR1x 寄存器在更新前被读取读取的是临时缓冲而不是 OCR1x 的实际值例如 因为定时器/计数器不会计数到最大值 如果被读取的值是最后写入 OCR1x缓广州市天河双龙电子 http:/WWW.SL.COM.
16、CNTCNTn0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4hPin/FlagTCNTn0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4hPin/Flag 用 ATmega16 替换 AT90S8535的中文指引 冲 的 该值就不会锁存入 OCR1x 寄存器 因此 用于比较的值不必与被读取的值相等 注意 这仅适用于 16 位定时器/计数器 对于 8 位定时器/计数器, 两个芯片的临时
17、缓冲均被读取 记忆原来的 Ocnx 引脚电平 AT90S8535 中有两种在 PWM 模式下不更新 Ocnx 引脚的 COMnx1:0 设置(0b00和 0b01)其中 0b00 是非PWM 模式下的设置 假设定时器/计数器从更新 Ocnx 引脚的状态切换到不更新的状态 然后再返回到更新Ocnx 引脚的状态 要注意以下差别 ATmega16禁止输出比较模式前 Ocnx 引脚的电平是被记忆的 再次允许输出比较模式会使Ocnx 引脚从被禁止的状态重新工作 复位时所有输出比较引脚被初始化为零 AT90S8535对于非 PWM 模式下的定时器/计数器1当定时器/计数器未连接 Ocnx 引脚时如果有比较
18、匹配发生 再次使能的话该引脚会被复位为低电平 PWM内部寄存器 所以再次使能时 Ocnx 引脚的状态是不确定的 模式将更新 Ocnx引脚的六 ADC 的改进 ATmega16 ATmega16 ATmega16支持 10 位结果的左对齐和右对齐的 ADC 支持差分和放大测量 支持中断源自动触发起动 ADC 转换七 SPI 和USART 的改进SPI 和 USART 具有倍速模式 允许更高的通信速度AT90S8535中的 UART 被 ATmega16 中的USART 代替ATmega16 除了有两级接收寄存器作为 FIFO 外 它 的 USART 是兼容的 与 AT90S8535 的 UART
19、另一个微小的差别是 RXB8 的初始值不同 AT90S8535 的 UART 中 是 “ 1” ATmega16 的 USART 中 是 “ 0”广州市天河双龙电子 http:/WWW.SL.COM.CN 用 ATmega16 替换 AT90S8535的中文指引 八 写 EEPROM 定时的改进在 AT90S8535 中写 EEPROM 的时间取决于供电电压 通常为 2.5 ms VCC =5V4 ms VCC = 2.7VATmega16 中写 EEPROM 的时间为 8448 个校准过的RC 振荡器周期 (与系统时钟的时钟源和频率无关)假定校准过的 RC 振荡器为 1.0MHz则写时间的典
20、型值为 8.4 ms与 VCC 无 关 注意 改变 OSCCAL 寄存器的值会影响内部 RC 振荡器的频率因而影响写 EEPROM 的时间 九 编程接口ATmega16 的编程接口做了一些改进 特别是在系统编程 ISP接口 以便支持ATmega16 中所有增加的熔丝 而编程的时序没有改变 请查阅ATmega16 的数据手册并行编程算法有所改动 最大的改动是 PAGEL 定义到 PD7 引脚 BS2 定义到PA0 引脚 这些扩充是为了支持 Flash 的页模式编程 EEPROM 和 ATmega16 中新增的熔丝 注意 新增的熔丝和保密位熔丝也要求改变编程算法另外并行编程的时序也有所改动 更详细
21、的内容请查阅 ATmega16 的数据手册STK500 支持 ATmega16 在系统编程和并行编程两种模式的编程 十 熔丝设置ATmega16 比 AT90S8535 据手册 包含更多的熔丝 更详细的内容请查阅 ATmega16 的数十一振荡器和启动延时 ATmega16 比 AT90S8535提供更多的振荡器和启动延时选择 从掉电模式唤醒时ATmega16 利 用 CPU 率来确定延时时间 系统时钟频率来确定唤醒延时 AT90S8535 则从 WDT 振荡器频请查阅 Atmega16数据手册中 系统时钟和时钟选项 部分来找出合适的配置值广州市天河双龙电子 http:/WWW.SL.COM.CN 用 ATmega16 替换 AT90S8535的中文指引 在 ISP 编程模式中改变熔丝时要特别小心 因为 ISP 编程依赖于系统时钟了错误的振荡器配置就可能无法重新进入在系统编程模式 因为失去了系统时钟使用并行编程模式或外部有源时钟恢复 如果编程这时必须AT90S8535 使用石英晶振时有能力从 XTAL2 输出经过缓冲后的时钟信号而ATmega16 只有在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某化工厂应急响应标准
- 2026学年湖南省娄底市六年级数学期末自测模拟快速提分卷(详细参考解析)详细答案和解析
- 新课标初中音乐民歌大单元教学方案
- 企业资金配置优化方案
- 咖啡馆品牌价值与社交媒体传播效率研究-洞察与解读
- 代码克隆检测的可解释性增强方法-洞察与解读
- 水溶性肥料在提高作物产量中的作用机制-洞察与解读
- 区域文化与年轻消费群体的契合研究-洞察与解读
- 出口农产品对农业产业结构的影响-洞察与解读
- 新型文本语义理解方法研究-洞察与解读
- 2026年哈尔滨市萧红中学六年级下语文6月月考试题及答案0612
- 2026年高考真题-语文(全国二卷) 含解析
- 2026年湖南岳阳市初二学业水平地生会考真题试卷(含答案)
- 2026春人教版三年级下册语文全册看拼音写词语专项练习(可打印)
- 学堂在线 医学英语词汇进阶 期末考试答案
- 中国传统射箭课件
- 儿童肥胖营养管理课件
- Heroes-among-us英语教学课件
- 2025年安徽合肥市重点工程建设管理局招聘工作人员5人历年高频重点提升(共500题)附带答案详解
- 铸件外观标准
- 泄水阀井隐蔽检查验收记录
评论
0/150
提交评论