[信息与通信]3-AVR单片机的基本结构211年.ppt_第1页
[信息与通信]3-AVR单片机的基本结构211年.ppt_第2页
[信息与通信]3-AVR单片机的基本结构211年.ppt_第3页
[信息与通信]3-AVR单片机的基本结构211年.ppt_第4页
[信息与通信]3-AVR单片机的基本结构211年.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Part3 AVR单片机的基本结构 主讲人 柯礼北京师范大学珠海分校工程技术学院珠海出入境检验检疫局技术中心 AVR单片机的基本结构 AVRCPU内核 1 单片机基本组成 典型单片机的基本组成结构 MCU单元 MicroControllerUnit 包括CPU 时钟系统 复位 总线控制逻辑等电路功能 算术 逻辑 比较等运算和操作 结果和状态的信息交换 读 写动作 时钟和复位电路 实现上电复位 信号控制复位 片内时钟及功耗管理等 总线控制电路 产生各类控制信号 满足总线控制要求 其中内部总线控制用于实现片内各单元电路的协调操作和数据传输 外部总线控制用于外围扩展的操作管理 1 单片机基本组成 AVRCPU内核 ATmega16系统框图P30 AVR单片机的内核结构示意图P25 标准的ALU操作 从寄存器组取出两个操作数操作数被执行将结果写入目的寄存器 快速访问 一个时钟周期内完成一个完整的ALU操作 2 AVRCPU内核 由32个访问操作只需要一个时钟周期的8位通用工作寄存器组成了 快速访问寄存器组 快速访问 意味着在一个时钟周期内执行一个完整的ALU操作 完整的ALU操作 从寄存器组取出两个操作数操作数被执行将结果写入目的寄存器 其中6个寄存器可以合并成为3个16位的寄存器 用于对数据空间进行间接寻址 存放地址指针 以实现高效的地址计算 AVRCPU内核 AVRCPU由系统时钟clkCPU驱动 该时钟来自于选定的时钟源 芯片内部不对此时钟进行分频 上图描述了Harvard结构决定的并行取指和指令执行 以及可以进行快速访问的寄存器文件概念 是一个基本的流水线的概念 单时钟周期ALU操作在一个时钟周期里 ALU可以同时对两个寄存器操作数进行操作 同时将结果保存到目的寄存器中去 AVRCPU内核 状态寄存器包含了最近执行的算术指令的结果信息 这些信息可以用来改变程序流程以实现条件操作 所有ALU运算都将影响状态寄存器的内容 其I O空间地址为 3F 005F AVRCPU内核 3 状态寄存器 Bit7 I 全局中断使能 I置位时使能全局中断 单独的中断使能由其他独立的控制寄存器控制 如I清零 则不论单独中断标志置位与否 都不会产生中断 任意一个中断发生后I清零 而执行RETI指令后I恢复置位以使能中断 I也可通过SEI和CLI指令来置位和清零 AVRCPU内核 3 状态寄存器 Bit6 T 位拷贝存储 位拷贝指令BLD和BST利用T作为目的或源地址 BST把寄存器的某一位拷贝到T 而BLD把T拷贝到寄存器的某一位 Bit5 H 半进位标志 半进位标志H表示算术操作发生了半进位 此标志对于BCD运算非常有用 Bit4 S 符号位 S为负数标志N与2的补码溢出标志V的异或 在正常运算条件下 V 0 不溢出 S N 即运算最高位作为符号位是正确的 而当产生溢出时 V 1 此时N已不能正确知识运算结果的正负 但还是能正确的 对有符号数据 执行减法或比较操作后 S标志能表明两个数的大小 AVRCPU内核 3 状态寄存器 Bit5 H 半进位对BCD运算的调整举例 AVRCPU内核 3 状态寄存器 Bit3 V 2的补码溢出标志 支持2的补码运算 溢出表示运算结果超过了正数 或负数 所能表示范围 溢出时 运算结果最高位 N 取反才是真正的结果符号 Bit2 N 负数标志 表明算术或逻辑操作结果为负 Bit1 Z 零标志 表明算术或逻辑操作结果为零 Bit0 C 进 借位标志 表明在CPU的运算和逻辑操作过程中有无发生进 借位 AVRCPU内核 4 通用寄存器 X寄存器 低字节X寄存器 高字节Y寄存器 低字节Y寄存器 高字节Z寄存器 低字节Z寄存器 高字节 AVRCPU内核 4 通用寄存器 R26 R31还构成3个16位地址指针寄存器X Y Z 一般情况不要用作它用 利用地址寄存器可实现地址指针的偏移 自动增量和减量等不同形式的间接寻址操作 AVRCPU内核 5 堆栈指针寄存器 堆栈是数据结构中所使用的专用名词 它由一块连续的SRAM空间和一个堆栈指针寄存器组成 主要用于快速 便捷地保存临时数据 局部变量和中断调用或子程序调用的返回地址 堆栈是一种特殊的线性数据结构 遵循后进先出 LIFO 的原则 堆栈指针实际上是堆栈顶部的地址 处在I O地址空间的 3E 005E 和 3D 005D 的两个8bit寄存器SPH SPL构成了16bit的SP AVR单片机复位后 SPH 00 SPL 00 因此 用户程序必须首先对堆栈指针寄存器进行初始化设置 AVRCPU内核 5 堆栈指针寄存器 AVR的堆栈是向下增长的 即新数据进入堆栈时栈顶指针的数据将减小 51单片机为向上增长的 因此 通常初始化时将SP的指针设在SRAM的最高处 对ATmega16而言 堆栈指针必须指向高于 0060的SRAM地址空间 一般设置在最高地址上 即 045F处 AVR单片机的基本结构 ROM 掉电后信息不会丢失 用于存放固定程序 数据表等 RAM 掉电后信息全部丢失 用于存放中间结果等 FLASH 集成度高 制造成本低 具有SRAM读写的灵活性和较快的访问速度 又具有ROM在掉电后信息不易丢失的特点 1 存储器分类 AVR单片机的存储器 AVR单片机的存储器 分为程序存储器和数据存储器Harvard体系结构 分开的指令和数据总线 空间指令和数据空间完全分开 分别通过专用的总线与CPU交换 可实现对程序和数据的同时访问 ATmega16片内集成了16KB的Flash程序存储器 1KB的RAM数据存储器和512字节的EEPROM数据存储器 2 AVR片内存储器 这3个存储器空间互相独立 物理结构也不同 2 AVR片内存储器 AVR单片机的存储器 AVR的指令为16bit 32bit 程序存储器以16位为一个存储单元 AVR单片机包括1 256KB的Flash程序存储器 其结构为 512 128K 16bit ATmega16为8K 16bit ATmega8为4K 16bit 数据读取时 以字为单位 擦除 写入时以页为单位 Flash程序存储器 ATmega16的程序计数器为13位 ATmega8的为12bit 2正好满足了对片内8K字 16KB 的Flash程序存储器空间直接寻址的需要 因此不能 不支持 在外部扩展更多的程序存储器 1FFF 000 2 AVR片内存储器 AVR单片机的存储器 以8位为一个存储单元 编址方式采用与工作寄存器组 I O寄存器和SRAM统一寻址的方式 SRAM数据存储器 5种寻址方式 直接寻址 带偏 移量的间接寻址 间接寻址 带预减量的间接寻址和带后增量的间接寻址 R26到R31为间接寻址的指针寄存器 2 AVR片内存储器 AVR单片机的存储器 直接寻址范围可达整个数据区 带偏移量的间接寻址模式能够寻址到寄存器Y和Z给定的基址附近的63个地址在自动预减和后加的间接寻址模式中 寄存器X Y和Z自动增加或减少 由上述32个寄存器文件 64个I O存储器以及1024字节的内部数据SRAM 构成了1120个数据存储器 关于AVR指令的寻址方式见教材P60 P64 ATmega16单片机不支持外部SRAM扩展 SRAM数据存储器 2 AVR片内存储器 AVR单片机的存储器 SRAM数据存储器 2 AVR片内存储器 AVR单片机的存储器 ATmega16 512字节 地址范围为 0000 01FF 作为一个独立的数据空间而存在 可以按字节读写 至少10万次擦写周期 其访问有地址寄存器 数据寄存器和控制寄存器决定 可用于存放一些需要掉电保护且比较固定的系统参数 表格等 EEPROM数据存储器 AVR单片机的基本结构 AVR单片机的资源 1 AVR单片机功能描述 ALU支持寄存器之间 立即数与寄存器间的算术和逻辑运算功能 以及单一的寄存器操作 使用条件转移 无条件转移和调用指令 可以直接访问全部Flash程序存储器空间 AVR的程序存储单元为16位 少数32位的指令需占据2个程序存储器单元程序存储器 引导程序段 Bootprogramsection 应用程序段 Applicationprogramsection 有相应的读写保护 响应中断服务和程序调用时 用于存储PC中返回地址的堆栈空间将占用数据存储器中一段连续的地址 堆栈的大小仅受SRAM和系统程序对SRAM使用量的限制 复位后或中断 调用前应初始化堆栈指针寄存器 SP 16bit 中断控制由中断控制寄存器和状态寄存器中的全局中断使能位组成 中断向量 入口地址 表位于Flash程序存储器的最前面 越靠前 中断地址越小 其优先级越高 64个I O寄存器对应外围功能的控制和数据寄存器地址 如定时器 计数器 A D转换器等 可I O寄存器访问指令直接访问 也可将其映射为通用工作寄存器组后使用存储器访问指令进行访问 映射地址为 020 05F 1 AVR单片机功能描述 AVR单片机的资源 2 ATmega16的资源 RISC结构的AVR内核 130条指令 大多数为单周期指令32 8的通用 工作 寄存器 外设控制寄存器工作在16MHz时具有16MIPS的性能片内集成硬件乘法器 执行速度为2个时钟周期 16K字节的在线可编程Flash 擦除次数为10000次 支持在线编程 In SystemProgramming 1K字节的片内SRAM512字节的在线可编程EEPROM可编程的程序加密位 程序和数据存储器 AVR单片机的资源 2 ATmega16的资源 ATmega16的外围资源 AVR单片机的资源 带预分频器 具有比较 PWM功能的定时器 计数器 2个8位 1个16位 1个具有独立振荡器的异步实时时钟 RTC 4个PWM通道8通道10位ADC1个I2C的串行口1个可编程的串行USART接口1个主 从收 发的SPI同步串行接口带片内RC振荡器的可编程看门狗定时器WDT片内模拟比较器 2 ATmega16的资源 ATmega16的其他特点 AVR单片机的资源 上电复位和可编程的欠电压检测电路内部和外部的中断源20个6种休眠模式 空闲模式 Idle ADC噪声抑制模式 省电模式 掉电模式 待命模式和外部待命模式32个可编程的I O引脚 Mega8为23个 推挽式输出 输入时可设定内上拉工作电压 2 7V 5 5V ATmega8 16L 4 5V 5 5V ATmega8 16 薄四方扁平封装 3 封装和引脚 ATmega8的封装和引脚 AVR单片机的资源 3 封装和引脚 ATmega8的封装和引脚 AVR单片机的资源 MLF贴片形式 3 封装和引脚 ATmega8的封装和引脚 AVR单片机的资源 3 封装和引脚 ATmega8的封装和引脚 AVR单片机的资源 ATmega8的封装和引脚 3 封装和引脚 AVR单片机的资源 ATmega8的封装和引脚 3 封装和引脚 AVR单片机的资源 ATm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论