ATmega的内部结构及接口特点概论.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文档。上传文档
查看更多
ATmega的内部结构及接口特点概论

;内容提要;1、高性能、低功耗的 8 位AVR? 微处理器 2、先进的RISC 结构(32R,Full static,16MPIS) 3、非易失性程序和数据存储器(16K,512B,1K,锁定位加密) 4、JTAG 接口(与IEEE 1149.1 标准兼容):编程Flash,EEPROM,Fuses Bits,Lock Bits。 5、外设特点:3TimerCounter,RTC,4PWM,8ADC,2USART,SPI,WDT,Anolog Comparator 6、特殊的处理器特点:Power-on Reset,BOD, Calibrated RC Oscillator, ex/in interrupt,6 sleep mode JTAG: Joint Test Action Group,联合测试行动小组;图2.1 ATmega16 的引脚;芯片封装;2.1.3 ATmega单片机内部结构方框图;1、VCC:数字电路的电源 2、GND:地 3、端口A(PA7..PA0) 端口A 为A/D 转换器的模拟输入端。为8 位双向 I/O 口,具有可编程的内部上拉电阻。其输出缓冲 器具有对称的驱动特性,可以输出和吸收大电流。 作为输入使用时,若内部上拉电阻使能,端口被外 部电路拉低时将输出电流。;; 4、端口B(PB7..PB0) 为8位双向I/O 口,具有可编程的内部上拉电阻。 作为输入使用时,若内部上拉电阻使能,端口被 外部电路拉低时将输出电流。 ;;;;6、 端口D(PD7..PD0) 为8位双向I/O 口,具有可编程的内部上拉电阻。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。 ;;; ;;图2.3 AVR 结构的方框图;8、堆栈指针位于I/O 空间,可以进行读写访问。 9、AVR有一个灵活的中断模块。控制寄存器位于 I/O空间。状态寄存器里有全局中断使能位。各个 中断的优先级与其在中断向量表的位置有关,中断 向量地址越低,优先级越高。 10、I/O 存储器空间包含64个可以直接寻址的地 址,作为CPU 外设的控制寄存器、SPI,以及其他 I/O 功能。;AVR的ALU 与32个通用工作寄存器直接相连。寄存器与寄存器之间、寄存器与立即数之间的ALU 运算只需要一个时钟周期。 ALU 操作分为3 类:算术、逻辑和位操作 乘法器:有符号数、无符号数及分数乘法; 状态寄存器包含了最近执行的算术指令的结果信息。这些信息可以用来改变程序流程以实现条件操作,如指令集所述,所有ALU 运算都将影响状态寄存器的内容。通过对状态字的分析,可知道操作数的大小等信息,从而省却了专门的比较指令。 在进入中??服务程序时状态寄存器不会自动保存,中断返回时也不会自动恢复。这些工作需要软件来处理,即状态字的入栈、出栈操作。;AVR状态寄存器 SREG 定义如下:;图2.4 为CPU 32个通用工作寄存器的结构;寄存器文件针对AVR 增强型 RISC 指令集做了优化。 为了获得需要的性能和灵活性,寄存器文件支持以 下的输入/ 输出方案: ? 输出一个 8 位操作数,输入一个 8 位结果 ? 输出两个 8 位位操作数,输入一个 8 位结果 ? 输出两个 8 位位操作数,输入一个 16 位结果 ? 输出一个 16 位位操作数,输入一个 16 位结果 如图2.4 所示,每个寄存器都有一个数据内存地址,将他们直接映射到用户数据空间的头32个地址,为寄存器访问提供了很大的灵活性。;寄存器R26~R31 除了用作通用寄存器外,还可以作为数据间接寻址用的地址指针。;2.2.6 堆栈指针; AVR CPU 由系统时钟clkCPU 驱动,此时钟直接来自选定的时钟源,芯片内部对此时钟不分频。 ; 图2.7 描述的是寄存器文件内部访问时序。在一个时钟周期里,ALU 可以同时对两个寄存器操作数进行操作,同时将结果保存到目的寄存器中。;2.2.8 中断与中断处理;; 例2.1 在写EEPROM 时使用下列代码来防止中断发生以避免对EEPROM 内容的可能破坏。 char cSREG; cSREG = SREG; /*保存SREG*/ /*禁止中断*/ _CLI(); EECR |= (1EEMWE); /*启动EEPROM 写操作*/ EECR |= (1EEWE); SREG = cSREG; /*恢复SREG(I位)*/;例2.2 使用SEI 指令使能中断时,紧跟其后的第一条指令在执行任何中断之前一定会首先得到执行。 _SEI(); /*置位全局中断使能标志*/ _SLEEP(); /*进入休眠模式,等待中断发生*/ /*注意:在执行任何被挂起的中断之前MCU将首先进入休眠模式*/;;

文档评论(0)

骨干 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档