![[工程科技]第04章 AT M16的内核组成结构.ppt_第1页](http://file.renrendoc.com/FileRoot1/2019-1/1/e5edf261-5dde-4088-a106-6a39b9beb2c3/e5edf261-5dde-4088-a106-6a39b9beb2c31.gif)
![[工程科技]第04章 AT M16的内核组成结构.ppt_第2页](http://file.renrendoc.com/FileRoot1/2019-1/1/e5edf261-5dde-4088-a106-6a39b9beb2c3/e5edf261-5dde-4088-a106-6a39b9beb2c32.gif)
![[工程科技]第04章 AT M16的内核组成结构.ppt_第3页](http://file.renrendoc.com/FileRoot1/2019-1/1/e5edf261-5dde-4088-a106-6a39b9beb2c3/e5edf261-5dde-4088-a106-6a39b9beb2c33.gif)
![[工程科技]第04章 AT M16的内核组成结构.ppt_第4页](http://file.renrendoc.com/FileRoot1/2019-1/1/e5edf261-5dde-4088-a106-6a39b9beb2c3/e5edf261-5dde-4088-a106-6a39b9beb2c34.gif)
![[工程科技]第04章 AT M16的内核组成结构.ppt_第5页](http://file.renrendoc.com/FileRoot1/2019-1/1/e5edf261-5dde-4088-a106-6a39b9beb2c3/e5edf261-5dde-4088-a106-6a39b9beb2c35.gif)
已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章M16单片机的主要特征及基本结构 4 1ATmega16的主要性能 1 先进的 高性能的的8位CPU内核结构 1 耗先进的RISC 精简指令集计算机 结构 2 高速度 低功耗的新8位中央处理器 2 非易失性程序和数据存储器 3 丰富的核外功能资源电路 完善的串 并 及JTAG 联合测试行动组 接口 4 电压范围宽 功率消耗低 时钟频率灵活 5 极高的性价比和适于高级语言开发 4 2M16的基本组成及引脚配置 ATmega16TQFP MLF引脚配置 ATmega16内部结构方框图 M16的引脚基本功能 1 1 VCC 数字电路电源 5V 2 GND 地 0V 3 端口A PA7 PA0 端口A为8位双向I O口 也是A D转换器的模拟输入端 具有可编程的内部上拉电阻 其输出缓冲器可以输出和吸收大电流 作为输入使用时 若内部上拉电阻使能 端口被外部电路拉低时将输出电流 M16的引脚功能 2 4 端口B PB7 PB0 为8位双向I O口 具有可编程的内部上拉电阻 作为输入使用时 若内部上拉电阻使能 端口被外部电路拉低时将输出电流 5 端口C PC7 PC0 为8位双向I O口 具有可编程的内部上拉电阻 作为输入使用时 若内部上拉电阻使能 端口被外部电路拉低时将输出电流 在复位过程中 即使系统时钟还未起振 端口C也处于高阻状态 M16的引脚功能 3 6 端口D PD7 PD0 为8位双向I O口 具有可编程的内部上拉电阻 作为输入使用时 若内部上拉电阻使能 则端口被外部电路拉低时将输出电流 7 RESET 复位输入引脚 8 XTAL1 反相振荡放大器与片内时钟操作电路的输入端 9 XTAL2 反相振荡放大器的输出端 10 AVCC 端口A与A D转换器的电源 11 AREF A D的模拟基准电压输入引脚 4 3AVR单片机的CPU内核 ALU算术逻辑单元 AVR的ALU与32个通用工作寄存器直接相连 寄存器与寄存器之间 寄存器与立即数之间的ALU运算只需要一个时钟周期 ALU操作可分为3类 算术 逻辑和位操作 状态寄存器SREG的位定义 Bit7 I 全局中断使能位 Bit6 T 复制存放位 Bit5 H 半字节进借位标志位 Bit4 S 符号位 S N V Bit3 V 补码溢出标志位 Bit2 N 负数标志位 Bit1 Z 零标志位 Bit0 C 字节进借位标志位 状态寄存器的功能 状态寄存器包含了最近执行的算术指令的结果信息 这些信息可以用来改变程序流程以实现条件操作 所有ALU运算都将影响状态寄存器的内容 在进入中断服务程序时 状态寄存器不会自动保存 中断返回时也不会自动恢复 这些工作需要软件 进出栈 来处理 AVR的CPU内核 1 CPU结构综述 1 AVR采用Harvard结构 具有独立的数据和程序总线 主要包括ALU 通用寄存器组 状态寄存器SREG 指令计数器PC 13位 指令寄存器IR 指令译码器IE等 2 快速访问寄存器是8位通用工作寄存器 访问时间为一个时钟周期 3 32个通用寄存器的后6个 可以组成3个16位的间接寻址寄存器使用 AVR的CPU内核 2 4 ALU支持寄存器之间 以及寄存器和常数之间的算术和逻运算 5 程序流程通过有 无条件的跳转指令和调用指令来控制 从而直接寻址整个地址空间 6 程序存储器空间分为两个区 引导程序区 Boot区 和应用程序区 7 在中断和调用子程序时 程序计数器 PC 的返回地址保存于堆栈之中 堆栈位于通用数据SRAM的后部 因此其深度仅受限于SRAM的大小 AVR的CPU内核 3 8 堆栈指针寄存器位于I O空间 可以进行读写访问 9 AVR有一个灵活的中断系统模块 其控制寄存器位于I O空间 状态寄存器里有全局中断使能位 各个中断的优先级与其在中断向量表的位置有关 中断向量地址越低 优先级越高 10 专用寄存器空间包含64个可以直接寻址的专用寄存器 作为CPU的外围电路 AVR的I O存储器 ATmega16所有的I O端口及外围设备都被放置于I O专用空间 所有的I O寄存器都可以通过IN与OUT指令来访问 在32个通用工作寄存器和I O之间传输数据 地址为0 x00 0 x1F的前32个I O寄存器还可用SBI和CBI指令直接进行位寻址 而SBIS和SBIC则用来检查某一位的值 I O专用寄存器列表 1 I O专用寄存器列表 2 I O专用寄存器列表 3 4 4AVR的存储器 M16的程序存储器 M16系统内可编程的Flash程序存储器 ATmega16具有16K字节 8K字0000 1FFF 的在线编程Flash 用于存放程序指令代码 其结构具有两个主要的存储器空间 应用程序存储空间和引导程序存储空间 两个空间通过对应锁定位来选择 引导区程序可用SPM指令再应用修改 M16的数据存储器 数据存储器的寻址方式有5种 1 直接寻址 2 间接寻址 3 带常偏移量的间接寻址 4 带预减量的间接寻址 5 带后增量的间接寻址 ATmega16数据存储器含有 32个通用寄存器 64个I O专用寄存器及1024个字节的SRAM 可以通过所有上述的寻址方式进行访问 通用寄存器的R26到R31可用做间接寻址的指针寄存器 数据存储器映像 32个通用寄存 X Y Z间接寄存器 寄存器R26 R31除了用作通用寄存器外 常常作为数据间接寻址用的地址指针 堆栈与堆栈指针 1 堆栈是SRAM存储器的一段连续字节空间 主要用来保存临时数据 局部变量和中断服务与调用子程序的返回地址 堆栈常设在SRAM最高端 一般予留8到16个字节大小 2 堆栈指针寄存器是指示堆栈即存地址的16位寄存器 SP 高8位为SPH与低8位为SPL 其地址分别为 3E 005E 和 3D 005D 堆栈指针总是指向堆栈的顶部 3 堆栈指针必须指向数据SRAM堆栈区 调用子程序和使用中断之前必须定义堆栈指针寄存器内容 且堆栈指针必须指向高于0 x60的地址空间 一般就设为最高位 4 使用PUSH指令将数据压入堆栈时 指针减一 而子程序或中断返回地址压入堆栈时指针将减二 5 使用POP指令将数据弹出堆栈时 堆栈指针加一 而用RET或RETI指令 从子程序或中断子程序返回时堆栈指针加二 指令执行两级流水时序 AVRCPU由系统时钟clkCPU驱动 此时钟直接来自选定的时钟源 芯片内部对此时钟不再分频 单时钟周期ALU操作时 图2 7描述的是寄存器文件内部访问时序 在一个时钟周期里 ALU可以同时对两个寄存器的操作数进行操作 同时将结果保存到目的寄存器中 EEPROM地址寄存器 EEARH和EEARL Bits15 9 Res 保留位 读操作返回值为零 Bits8 0 EEAR8 0 EEPROM地址 EEPROM数据寄存器EEDR Bits7 0 EEDR7 0 对于EEPROM的读 写操作 读操作 EEDR中是从EEAR单元读取的数据 写操作 EEDR中是需要写到EEAR单元的数据 EEPROM的控制寄存器EECR Bits7 4 Res 保留位 Bit3 EERIE EEPROM准备好中断使能位 Bit2 EEMWE EEPROM主机写使能位 Bit1 EEWE EEPROM写使能位 Bit0 EERE EEPROM读使能位 4 5系统时钟及时钟选项 AVR的时钟系统及其分布 1 CPU时钟 clkCPU2 I O时钟 clkI O3 Flash时钟 clkFLASH4 异步定时器时钟 clkASY5 ADC时钟 clkADC 时钟系统分配图 M16的时钟源 ATmega16可通过Flash熔丝位选择钟源 时钟源的熔丝位配置与选择 内部时钟源 器件出厂时 时钟选择选择熔丝位CKSEL 0001 复位延时熔丝位SUT 10 这个缺省设置的时钟源是1MHz的内部RC振荡器 启动时间为65MS最长 这种设置保证用户可以通过ISP或并行编程器得到所需的时钟源 外部晶体振荡器接线图 XTAL1与XTAL2分别为用作片内振荡器的反向放大器的输入和输出 图2 12晶体振荡器连接图 图2 13外部RC配置 外部晶体振荡器工作模式 启动时的熔丝位选择 启动时间由熔丝位SUT确定启动功率由熔丝位CKOPT确定 4 6电源管理及睡眠模式 MCU控制寄存器 MCUCR Bits7 5 4 SM2 0 休眠模式选择位2 1和0Bit6 SE 休眠使能位 为了使MCU在执行SLEEP指令后进入休眠模式 SE必须置位 电源管理及睡眠模式列表 4 7系统控制和复位 复位时所有的I O寄存器都被设置为初始值 程序从复位向量处开始执行 复位源 M16有5个复位源1 上电复位 2 外部复位 3 看门狗复位 4 掉电检测复位 5 JTAGAVR复位 MCU控制和状态寄存器MCUCSR Bit4 JTRF JTAG复位标志 置位有效 Bit3 WDRF 看门狗复位标志 置位有效 Bit2 BORF 掉电检测复位标志 置位有效 Bit1 EXTRF 外部复位标志 置位有效 Bit0 PORF 上电复位标志 置位有效 系统上电复位 1 2 上电复位 上电复位 POR 脉冲由片内检测电路产生 3 外部复位 外部复位由外加于RESET引脚的低电平产生 4 掉电检测 工作过程中发生外部复位时序 工作过程中发生掉电检测复位时序 系统掉电复位 2 看门狗复位 3 看门狗复位看门狗定时器溢出时将产生持续时间为1个CK周期的复位脉冲 在脉冲的下降沿 延时定时器开始对tTOUT记数 内部电压基准源的特性 ATmega16具有片内能隙基准源 用于掉电检测 或者是作为模拟比较器或ADC的输入 ADC的2 56V基准电压由此片内能隙基准源产生 片内基准电压 看门狗定时器 看门狗定时器由独立的1MHz片内振荡器驱动 其复位指令WDR用来复位看门狗定时器 禁止看门狗定时器或发生复位时定时器也被复位 复位时间有8个选项 看门狗定时器控制寄存WDTC Bits7 5 Res 保留位 Bit4 WDTOE 看门狗修改使能 Bit3 WDE 使能看门狗 Bits2 0 WDP2 WDP1 WDP0 看门狗定时器预分频器2 1和0 4 8中断系统 ATmega16的中断向量就是中断的入口地址 中断入口设置 复位和中断向量 复位和中断向量位置的确定 下表给出在不同的BOOTRST IVSEL设置下 复位和中断向量的位置 用户可以在此直接写程序 1 熔丝位BOOTRST被编程时 0 MCU复位后程序跳转到BootLoader BootResetAddress 2 当寄存器GICR的IVSEL置位时 中断向量转移到Boot区的起始地址 此时各个中断向量的实际地址为表中地址与Boot区起始地址之和 通用中断控制寄存 GICR Bit1 IVSEL 中断向量选择位 为0时不修改 为1时转移到BOOT区 Bit0 IVCE 中断向量修改使能位 为1时允许修改 为0时不允许修改 复位和中断向量位置的确定 下表给出在不同的BOOTRST IVSEL设置下 复位和中断向量的位置 用户可以在此直接写程序 1 熔丝位BOOTRST被编程时 0 MCU复位后程序跳转到BootLoader BootResetAddress 2 当寄存器GICR的IVSEL置位时 中断向量转移到Boot区的起始地址 此时各个中断向量的实际地址为表中地址与Boot区起始地址之和 中断与中断处理 1 中断处理M16有21个中断源 含复位中断 每个中断在程序存储器空间都有独立的中断向量 即入口地址 所有的中断事件都有自己的使能位 当使能位置位 且状态寄存器的全局中断使能位I也置位时 中断可以进行 2 中断两种的类型第一种由事件触发并置位中断标志 对于这类中断 程序计数器跳转到实际的中断向量以执行中断处理程序 同时硬件将清除相应的中断标志 第二种类型的中断则是只要中断条件满足 就会一直触发 这些中断不需要中断标志 中断响应时间 中断响应时间 1 AVR中断响应时间最少为4个时钟周期 4个时钟周期后 程序跳转到实际的中断处理程序 在这4个时钟期期间PC自动入栈 在通常情况下 中断向量为一个跳转指令 此跳转需要3个时钟周期 2 如果中断在一个多时钟周期指令执行期间发生 则在此多周期指令执行完毕后MCU才会执行中断程序 3 若中断发生时MCU处于休眠模式 中断响应时间还需增加4个时钟周期 4 9I O输入 输出端口 1 作为通用的数字I O使用时 所有AVR的I O端口都具有真正的读 修改 写功能 2 用SBI或CBI指令可以单独改变任一管脚的方向 输出缓冲器具有对称的驱动能力 可以输出或吸收大电流 直接驱动LED 3 所有端口引脚都有内部上拉电阻 且有保护二极管与VCC和地相连 在输入时可以选用 通用数字I O的端口 端口引脚配置 每个端口都具有三个寄存器 X A B C D DDRx 数据方向寄存器 PORTx 数据数值寄存器 PINx 引脚电平寄存器 每个端口寄存器都有8个位 n 0 1 2 3 4 5 6 7 DDRxn 寄存器端口位 PORTxn 寄存器端口位 PINxn 寄存器端口位 I O引脚等效原理图 1 数据方向寄存器 DDRxn 2 数据数值寄存器 PORTxn 3 端口引脚寄存器 PINxn 端口配置注意事项 1 DDRxn用来定义端口工作方向 X表示端口 n表示引脚 DDRxn 1 该端口位配置为输出 内拉电阻无效 DDRxn 0 该端口位配置为输入 2 当端口引脚配置为输入时 若PORTxn 1 PUD 0 内拉电阻使能 PUD 1 内拉电阻无效 若PORTxn 0 PUD 0 1 内部上拉电阻无效 3 复位时各引脚均为高阻态 即使此时并没有时钟在运行 端口设置举例 例2 7配置端口A的引脚0 3输出高电平 引脚4 7输出低电平 DDRA 0 x0FF 8位全高电平1 表示输出DDRTA 0 x0F 例2 8假设端口B的引脚和外部连接 要读端口B的电平 unsignedcharc 定义无符号字符CC PINB 令C等于B端口电平 本章小结 本章主要介绍ATmega单片机内部结构 指令特点及引脚封装及主要特性 1 AVR采用了Harvard结构 具有独立的数据和程序总线 2 ATmega16有如下特点 16K字节的系统内可编程Flash 32个通用I O口线 32个通用工作寄存器 支持片内调试与编程 三个具有比较模式的灵活的定时器 计数器 T C 片内 外中断
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培训房屋销售代表
- 装修管理流程图
- 固定资产会计年终总结
- 江苏省镇江市部分学校2026届九上化学期中经典模拟试题含解析
- 湖北省襄阳市枣阳实验中学2026届化学九上期中质量检测试题含解析
- 2026届山东省滕州市业水平考试数(基础卷)九年级化学第一学期期中达标测试试题含解析
- 商场内员工培训
- 河南省商丘市虞城县2026届九年级英语第一学期期末综合测试模拟试题含解析
- 幼儿园教师年底工作总结
- 年会展部工作总结
- 4.1夯实法治基础教学设计 2025-2026学年度九年级上册 道德与法治 统编版
- 连铸工岗位操作规程考核试卷及答案
- 第一单元 第2课《童真时光》 【人教版】美术 三年级上册
- 广州市公安局天河分局招聘辅警考试真题2024
- 2025年全国货运驾驶员职业技能资格考试试题(基础知识)含答案
- GB/T 46150.2-2025锅炉和压力容器第2部分:GB/T 46150.1的符合性检查程序要求
- 2025年甘肃省高考历史真题卷含答案解析
- 中华优传统文化(慕课版)教案
- 2025年广东国家公务员申论考试真题及答案-地市级
- 2025广东广州市国资委选调公务员2人笔试模拟试题及答案解析
- 美容美发店2025年营销方案创新解析
评论
0/150
提交评论