




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西南大学电子信息工程学院西南大学电子信息工程学院1第二章 AVR单片机的基本结构23单片机的基本体系结构内部中断内部中断内部总汇内部总汇振荡器和振荡器和时序电路时序电路操作操作管理管理寄存寄存器器程序程序存储器存储器数据数据存储器存储器定时器定时器计数器计数器CPU中断中断控制控制总总 线线 扩扩展控制器展控制器并行并行I/O接口接口串行串行I/O接口接口图图2-1 典型单片机的基本组成结构典型单片机的基本组成结构外部时钟元外部时钟元 外部时间计数外部时间计数4单片机基本单元与作用 nMCU (CPU、时钟系统、复位、总线控制逻辑等电路 )nSRAMn程序存储器nIO口n操作管理寄存器 MCU
2、nMCU单元部分包括了CPU、时钟系统、复位、总线控制逻辑等电路。CPU是按照面向测控对象、嵌入式应用的要求设计的,其功能有进行算术、逻辑、比较等运算和操作,并将结果和状态信息与存储器以及状态寄存器进行交换(读/写)。时钟和复位电路实现上电复位、信号控制复位,产生片内各种时钟及功耗管理等。总线控制电路则产生各类控制逻辑信号,满足MCU对内部和外部总线的控制。其中,内部总线用以实现片内各单元电路的协调操作和数据传输,而外部总线控制用于单片机外围扩展的操作管理。5片内存储器n单片机的存储器一般分成程序存储器和数据存储器,它们往往构成相互独立的两个存储空间,分别寻址,互不干扰。在这一点上,与通用计算
3、机系统的结构是不同的。通用计算机系统通常采用“Von-Neumann”结构,在这种结构体系中采用了单一的数据总线用于指令和数据的存取,因此数据和指令是存放在同一个存储空间中的,CPU使用同一条数据总线与数据和程序进行交换。而单片机的内部结构通常使用“Harvard”体系结构,在这种体系中采用分开的指令和数据总线,以及分开的指令和数据地址空间。单片机采用Harvard双(多)总线结构的优点是,指令和数据空间完全分开,分别通过专用的总线同CPU交换,可以实现对程序和数据的同时访问,提高了CPU的执行速度和数据的吞吐率。6程序存储器n程序存储器用于存放嵌入式系统的应用程序。由于单片机嵌入式系统的应用
4、程序在开发调试完成后不需要经常改变,因此单片机的程序存储器多采用只读型ROM存储器,用于永久性的存储系统的应用程序。为适应不同产品、用户和不同场合的需要。7程序存储器nROMLessnEPROMnMaskROMnOTPROMnFLASH ROM8数据存储器n随机存储器n用来存储系统程序在运行期间的工作变量和临时数据的n电可擦除存储器n这类数据存储器用于存放一些永久或比较固定的系统参数,如放大倍率、电话号码、时间常数等。EEPROM的寿命大于10万次,具有掉电后不丢失数据的特点,并且通过系统程序可以随时修改,这些特性都给用户设计开发产品带来极大的方便和想象空间。9输入/输出(I/O)端口n并行总
5、线输入/输出端口(并型I/O口)n通用数字I/O端口。n片内功能单元的输入/输出端口。n串行I/O通信口n其它专用接口10 操作管理寄存器n操作管理寄存器也是单片机芯片中的重要组成部分之一。它的功能是管理、协调、控制和操作单片机芯片中的各功能单元的使用和运行。这类寄存器的种类有:状态寄存器、控制寄存器、方式寄存器、数据寄存器等等。1112AVR单片机内核AVR ATmega16 特点n先进RISC结构的AVR内核n片内含有较大容量的非易失性的程序和数据存储器n片内含JTAG接口n外围接口n其他特点n宽电压、高速度、低功耗1314AVR ATmega16 特点n先进RISC结构的AVR内核n13
6、1条机器指令,且大多数指令的执行时间为单个系统时钟周期;n32个8位通用工作寄存器;n工作在16MHz时具有16MIPS的性能。n配备只需要2个时钟周期的硬件乘法器15AVR ATmega16 特点n片内含有较大容量的非易失性的程序和数据存储器n16K字节在线可编程(ISP)Flash程序存储器(擦除次数1万次),采用Boot Load技术支持IAP功能;n1K字节的片内SRAM数据存储器,可实现3级锁定的程序加密;n512个字节片内在线可编程EEPROM数据存储器(寿命10万次);16AVR ATmega16 特点n片内含JTAG接口n支持符合JTAG标准的边界扫描功能用于芯片检测;n支持扩
7、展的片内在线调试功能n可通过JTAG口对片内的Flash、EEPROM、配置熔丝位和锁定加密位实施下载编程;17AVR ATmega16 特点n外围接口n2个带有分别独立、可设置预分频器的8位定时器/计数器;n1个带有可设置预分频器、具有比较、捕捉功能的16位定时器/计数器;n片内含独立振荡器的实时时钟RTC;n4路PWM通道;n8路10位ADCn面向字节的两线接口TWI(兼容I2C硬件接口);n1个可编程的增强型全双工的,支持同步/异步通信的串行接口USART;n1个可工作于主机/从机模式的SPI串行接口(支持ISP程序下载);n片内模拟比较器;n内含可编程的,具有独立片内振荡器的看门狗定时
8、器WDT;18AVR ATmega16 特点n其它的特点n片内含上电复位电路以及可编程的掉电检测复位电路BOD;n片内含有1M/2M/4M/8M,经过标定的、可校正的RC振荡器,可作为系统时钟使用;n多达21个各种类型的内外部中断源;n有6种休眠模式支持省电方式工作;19AVR ATmega16 特点n宽电压、高速度、低功耗n工作电压范围宽:ATmega16L 2.75.5v,ATmega16 4.55.5v;n运行速度:ATmega16L 08M,ATmega16 016M;n低功耗:ATmega16L工作在1MHz、3v、25度时的典型功耗为,正常工作模式 1.1mA,空n闲工作模式 0.
9、35mA,掉电工作模式 1uA; 20AVR ATmega16 特点n芯片封装形式有40引脚的PDIP、44引脚的TQFP和44引脚的MLF封装。21AVR ATmega16 引脚与封装AVR实验箱22I/O引脚n32根I/O引脚,分成PA、PB、PC和PD四个8位端口,他们全部是可编程控制的,双(多)功能复用的I/O引脚(口)n四个端口的第一功能是通用的双向数字输入/输出(I/O)口,其中每一位都可以由指令设置为独立的输入口,或输出口。当I/O设置为输入时,引脚内部还配置有上拉电阻,这个内部的上拉电阻可通过编程设置为上拉有效或上拉无效。23I/O说明2425AVR Mega16 结构26AV
10、R 中央处理器CPU n运算逻辑单元ALUn程序计数器PCn指令寄存器n指令译码器 n通用工作寄存器组27运算逻辑单元ALUn运算逻辑单元ALU的功能是进行算术运算和逻辑运算,可对半字节(4位)、单字节等数据进行操作。如能完成加、减、自动加1、自动减1、比较等算术运算和与、或、异或、求补、循环移位等逻辑操作。操作结果的状态,如产生进位、结果为零等状态信息将影响到状态寄存器SREG相应的标志位。 运算逻辑单元ALU还包含一个布尔处理器,用来处理位操作。它可执行置位、清零、取反等操作。 ATmega16的ALU还能实现无符号数、有符号数以及浮点数的硬件乘法操作。一次硬件乘法操作的时间为2个时钟周期
11、。28程序计数器PC指令寄存器指令译码器n程序计数器PC用来存放下一条需要执行指令在程序存储器空间的地址(指向Flash空间)。取出的指令存放在指令寄存器中,然后送入指令译码器产生各种控制信号,控制CPU的运行(执行指令)nAVR一条指令的长度大多数为16位,还有少部分为32位,因此AVR的程序存储器结构实际上是以字(16位)为一个存储单元的。ATmega16的程序计数器为13位,正好满足了对片内8K字(即手册上的16K字节)的Flash程序存储器空间直接寻址的需要,因此也不能(不支持)在外部扩展程序存储器。nAVR CPU在译码执行一条指令的同时,就将PC中指定的Flash单元中的指令取出,
12、放入指令寄存器中(图中的Instruction Register),构成了一级流水线运行方式。AVR采用一级流水线技术,在当前指令执行的时候,就取出下一条将要执行的指令,加上大多数AVR指令的长度是一个字,就使得AVR CPU实现了一个时钟周期执行一条指令。采用这种结构,减少了取指令的次数,大大提高了CPU的运行速度,同时也提高了取指令操作的(系统的)可靠性。而在其它的CISC以及类似的RISC结构的单片机中,外部振荡器的时钟被分频降低到传统的内部指令执行周期,这种分频最大达12倍(例如,标准8031结构的单片机)。29通用工作寄存器组n32个8位通用工作寄存器组:R0R31通用工作寄存器组n
13、AVR CPU中的ALU与这32个通用工作寄存器组直接相连,为了使ALU能够高效和灵活地对寄存器组进行访问操作,通用寄存器组提供和支持ALU使用4种不同的数据输入/输出的操作方式: n提供一个8位源操作数,并保存的一个8位结果 n提供两个8位源操作数,并保存的一个8位结果 n提供两个8位源操作数,并保存的一个16位结果 n提供一个16位源操作数,并保存的一个16位结果 3031系统时钟部件 n系统时钟n片内的1/2/4/8M 的RC振荡源n在引脚XTAL1 和XTAL2 上外接由石英晶体n直接使用外部的时钟源输出的脉冲信号 n内部看门狗时钟 3233系统时钟外部晶振 外部RC 外部时钟CPU的
14、工作时序nAVR CPU的工作是由系统时钟直接驱动的,在片内不再进行分频。图2-7所示为Harvard结构和快速访问寄存器组的并行指令存取和指令执行时序。CPU在启动后第一个时钟周期T1取出第一条指令,在T2周期便执行取出的指令,并同时又取出第二条指令,依次进行。这种基于流水线形式的取指方式,使AVR可以以非常高的速度执行指令,获得高达1MIPSMHz的效率。34CPU的工作时序35CPU的工作时序36CPU的工作时序37存储器nAVR单片机在片内集成了Flash程序存储器、SRAM数据存储器和EEPROM数据存储器。三个存储器空间互相独立,物理结构也不同。程序存储器为闪存存储器Flash,以
15、16位(字)为一个存储单元,作为数据读取时,以字节为单位,而擦除、写入则是以页为单位的(不同型号AVR单片机一页的大小也不同)。SRAM数据存储器是以8位(字节)为一个存储单元,编址方式采用与工作寄存器组、I/O寄存器和SRAM统一寻址的方式。EEPROM数据存储器也是以8位(字节)为一个存储单元,对其的读写操作都以字节为单位。38I/O端口nATmega16有四个8位的双向I/O端口PA、PB、PC、PD,它们对外对应32个I/O引脚,每一位都可以独立地用于逻辑信号的输入和输出。在5伏工作电压下,输出时每个引脚可供出达20mA的驱动电流。而输入时,每个引脚可吸纳最大为40mA的电流,可直接驱
16、动发光二极管LED(一般LED的驱动电流为10mA左右)和小型继电器。 AVR大部分的I/O端口都具备双重功能,分别同片内的各种不同功能的外围接口电路组合成一些可以完成特殊功能的I/O 口,如定时器、计数器、串行接口、模拟比较器、捕捉器等。39402.4存储器结构和地址空间nFlash Flash 程序存储器程序存储器nSRAM SRAM 数据存储器数据存储器nEEPROM EEPROM 数据存储器数据存储器 41Flash 程序存储器nAVR单片机包括1K128K字节的片内可下载Flash程序存储器。由于AVR所有指令为16位字或32位双字,故Flash程序存储器的结构为(512B64Kb)
17、x 16位。Flash存储器的使用寿命最少为1万次写/擦循环。Atmega16单片机的程序存储器为8K x 16(16K x 8),程序计数器PC宽为13位,以此来对8K字程序存储器地址进行寻址。 程序存储器的地址空间与数据存储器的地址空间是分开的,地址空间从$000开始。如要在程序存储器中使用常量表,则常量表可以被设定在整个Flash地址空间中。SRAM42程序存储器空间数据存储器空间EEPROM 数据存储器空间Flash 程序存储器(8Kx16或16Kx8)EEPROM数据存储器(512x8)32 个通用寄存器64 个I/O寄存器内部SRAM数据存储器(1024x8)$0000$1FFF$
18、0000$001F$0020$005F$0060$0060$01FF$0000图2-10 ATmeag16 存储器结构EEPROM 数据存储器 nAVR系列单片机还包括64B4K字节的EEPROM数据存储器。它们被组织在一个独立的数据空间中。这个数据空间采用单字节读写方式。EEPROM 的使用寿命至少为 10万次写/擦循环。ATmega16的EEPROM容量是512字节,地址范围为$0000$01FF。EEPROM数据存储器可用于存放一些需要掉电保护,而且比较固定的系统参数、表格等。432.5通用寄存器组与I/O寄存器 n通用寄存器组nI/O寄存器 44通用寄存器4546通用寄存器n32个通用
19、寄存器 R0R31n对应SRAM地址$0000$001Fn地址指针寄存器X、Y、ZnXR27 R26nYR29 R28nZR30 R31通用寄存器4748I/O寄存器n64个I/O寄存器nI/O寄存器地址n$00$3FnSRAM映射地址$00+$20$3F+$20 ($20) ($5F)n指令:专用指令、SRAM通用指令49寄存器状态寄存器SREG n位7I: 全局中断使能位 位6T: 位复制存储n位5H: 半进位标志位 位4S: 符号标志位 n位3V: 2 补码溢出标志位 位2N: 负数标志位n1Z: 零值标志位 位0C:进/借位标志50寄存器堆栈指针寄存器SP n16位SPSPH SPLn
20、SP上电初始值 0000nSP指向SRAM空间、堆栈放在SRAM中n堆栈向下生长n汇编程序一定要初始化SPn操作方式:手动进出栈、自动进出栈51AVR单片机最小系统AVR单片机最小系统5253AVR工作方式n复位方式n正常程序执行工作方式n休眠节电工作方式n程序运行代码下载的编程方式 单片机复位nAVR单片机的复位操作,其主要功能是把程序计数器PC初始化为$0000(指非BOOT LOAD方式启动),使单片机从$0000单元开始执行程序。同时决大部分的寄存器(通用寄存器和I/O寄存器)也被复位操作清零,有关各个寄存器的复位初始化值请注意书中对各寄存器的详细说明54复位方式n上电复位n看门狗复位
21、nBOD复位(掉电检测复位)(掉电检测复位)n外部复位nJTAG复位5556AVR工作方式复位方式上电复位57上电复位58外部复位59掉电检测(BOD)复位60看门狗复位nATmega16片内还集成一个独立的看门狗定时器WDT。WDT由片内独立的1M振荡器提供时钟信号,并且可用专用的熔丝位或由用户通过指令控制WDT的启动和关闭,以及设置和清另计数值。当WDT启动计数后,一旦发生计数溢出,它将触发产生一个时钟周期宽度的复位脉冲。脉冲的上生沿将使器件进入复位状态,脉冲的下降沿启动延时计数器计数,经过设定的启动延时时间,CPU重新开始运行(图2-19)。使用WDT功能,可以防止系统受到干扰而引起的程序运行紊乱和跑飞,提高了系统的可靠性。61系统时钟62看门狗复位6364正常程序执行工作方式n正常程序执行工作方式是单片机的基本工作方式。由于硬件的复位操作将程序计数器置为另(PC=$0000),因此程序的执行总是从Flash地址的$0000开始的(指非BOOT LOAD方式启动)。对于ATmega16来讲,Flash地址的$0002到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电商平台供应链金融创新与风险控制:供应链金融产品设计与风险评价报告
- 环保公司财务报告管理规定
- 自考专业(工商企业管理)高分题库附答案详解(巩固)
- 自考专业(工商企业管理)每日一练试卷及完整答案详解(夺冠系列)
- 电竞公司周会月会组织规章
- 自考专业(公共关系)考前冲刺练习含完整答案详解【典优】
- 自考专业(建筑工程)题库检测试题打印及参考答案详解【黄金题型】
- 中级银行从业资格之中级银行业法律法规与综合能力题库(得分题)打印附参考答案详解(培优)
- 中医执业医师模拟试题及答案详解参考
- 三农村电商物流配送优化方案
- 静脉溶栓病例汇报
- 国家电投集团招聘考试试题及答案
- 2025届黑龙江省龙东地区数学八下期末学业质量监测试题含解析
- 医疗项目可行性研究报告【范本模板】
- 北京市海淀区师达中学2025年七下数学期末考试试题含解析
- IATF16949:2016内审员培训试卷含答案
- 机械基础教案
- 矿山租用土地协议书
- 美容院入股合同协议范本
- 混凝土实验室试题及答案
- 矿产资源勘查开采合作合同
评论
0/150
提交评论