单片机设计技术:第2章 AVR系统结构概况_第1页
单片机设计技术:第2章 AVR系统结构概况_第2页
单片机设计技术:第2章 AVR系统结构概况_第3页
单片机设计技术:第2章 AVR系统结构概况_第4页
单片机设计技术:第2章 AVR系统结构概况_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章 AVR系统结构概况 中央处理器MCU内核 ATmega8 存储器组织 系统时钟及其分配 系统复位 ATmega8 的总体结构 ATmega8 I/O端口AVR第2章 AVR系统结构概况 中央处理器MCU内核 ATmega8 存储器组织 系统时钟及其分配 系统复位 ATmega8 的总体结构 ATmega8 I/O端口2.1.1 ATmega8的特点(Features)2.1 ATmega8的总体结构High-performance, Low-power AVR 8-bit MicrocontrollerAdvanced RISC Architecture 130 Powerful In

2、structions Most Single-clock Cycle Execution 32 x 8 General Purpose Working Registers Up to 16 MIPS Throughput at 16 MHz On-chip 2-cycle Multiplier2.1.1 ATmega8的特点(Features)Nonvolatile Program and Data Memories 8K Bytes of In-System Self-Programmable Flash, Endurance: 10,000 Write/Erase Cycles Optio

3、nal Boot Code Section with Independent Lock Bits 512 Bytes EEPROM, Endurance: 100,000 Write/Erase Cycles 1K Byte Internal SRAM Programming Lock for Software Security2.1.1 ATmega8的特点(Features)Peripheral Features Two 8-bit Timer/Counters with Prescaler, one Compare Mode One 16-bit Timer/Counter with P

4、rescaler, Compare Mode, and Capture Mode Real Time Counter with Separate Oscillator Three PWM Channels 8-channel ADC in TQFP and MLF package (Six Channels 10-bit Accuracy, Two Channels 8-bit Accuracy)2.1.1 ATmega8的特点(Features)Peripheral Features 6-channel ADC in PDIP package (Four Channels 10-bit Ac

5、curacy, Two Channels 8-bit Accuracy) Programmable Serial USART Master/Slave SPI Serial Interface Byte-oriented Two-wire Serial Interface (TWI) Programmable Watchdog Timer with Separate On-chip Oscillator On-chip Analog Comparator2.1.1 ATmega8的特点(Features)Special Microcontroller Features Power-on Res

6、et and Programmable Brown-out Detection Internal Calibrated RC Oscillator External and Internal Interrupt Sources Five Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, and StandbyI/O and Packages 23 Programmable I/O Lines 28-lead PDIP, 32-lead TQFP, and 32-pad MLFp.22 图2-1 (pdf:p.3 Fi

7、gure 1. Block Diagram)2.1.2 ATmega8内部结构框图时钟源外部事件信号BUS时钟电路4KB Flash/EPROM128B RAM128B SFR16位2个定时/计数器64KB总线扩展控制器可编程并行口可编程全双工串行口CPU中断控制器外中断8位4个并行口串行通信总线控制BUS比较:Intel8051内部结构方框图2.1.3 ATmega8的封装和引脚三种封装:28脚PDIP, 32脚TQFP, 32脚MLF20脚PDIP40脚PDIP44脚TQFP64脚TQFP2.1.3 ATmega8的封装和引脚电源线VCC Digital supply voltage.GN

8、D Digital ground.B口I/O端口线(PB7PB0)8条8 位双向I/O 口同时用作晶振输入、 SPI接口、定时器比较匹配输出、输入捕获输入引脚C口I/O端口线(PC6PC0)7条7 位双向I/O 口同时用作外部复位输入PC6、TWI接口、ADC输入端1.2.4 ATmega8引脚功能和封装D口I/O端口线(PD7PD0)8条8 位双向I/O 口同时用作模拟比较器输入、 定时器计数输入端、外部中断输入、串行口输入输出ADC有关信号AVCCA/D转换器的电源,不用ADC时直接连到VCC,用到ADC时通过低通滤波器连到VCCAGND模拟地(Analog ground)AREFA/D转

9、换器的参考电源,2V 与AVCC 之间ADC7和ADC6(2条)10位ADC输入端(通道7和通道6),PDIP封装没有这两个引脚AVR第2章 AVR系统结构概况 中央处理器MCU内核 ATmega8 存储器组织 系统时钟及其分配 系统复位 ATmega8 的总体结构 ATmega8 I/O端口2.2 中央处理器MCU内核MCU内核的结构框图 p.25 图2-3(pdf:p.7 Figure 2. Block Diagram of the AVR MCU Architecture)MCU工作原理PCFlash存储器IR ID 控制信号2.2.1 MCU内核的主要部件1. 算术逻辑单元ALU8位A

10、LU,完成各种算术运算和逻辑运算数据主要来自通用工作寄存器,结果通常存到通用工作寄存器,并影响状态寄存器2. 状态寄存器状态寄存器SREG (Status Register)$3F($5F)SREGBit 7 I: Global Interrupt Enable (全局中断使能位)Bit 6 T: Bit Copy Storage(位复制存储位)Bit 5 H: Half-carry Flag (半进位标志位)Bit 4 S: Sign Bit(符号位,等于N与V的异或)ITHSVNZC反映运算和操作结果的状态2. 状态寄存器状态寄存器SREG (Status Register)$3F($5F

11、)SREGBit 3 V: 2s Complement Overflow Flag(二进制补码溢出)Bit 2 N: Negative Flag (负数标志位)Bit 1 Z: Zero Flag (零标志位)Bit 0 C: Carry Flag (进位标志位)ITHSVNZC3. General-purpose Working Registers32个通用工作寄存器:R0R31Bit7 0AddressR0$00R1$01R16$10R31$1F3. General-purpose Working RegistersX Y Z 寄存器:作为数据间接寻址用的地址指针Y寄存器: R29, R2

12、8Z寄存器: R31, R3015 8 7 0X寄存器 7 0 7 0R27R264. 堆栈指针堆栈指针SP (Stack Pointer)指示堆栈在SRAM中的位置(栈顶地址)SRAM地址超过8位,SP占用两个8位寄存器$3E ($5E)SPHSP15SP14SP13SP12SP11SP10SP9SP8SP7SP6SP5SP4SP3SP2SP1SP0SPL$3D ($5D)SP = ( SPH 8 ) + SPL ;4. 堆栈指针堆栈指针SP (Stack Pointer)复位后SP初值为0要求SP取值必须大于 $60通常在主程序一开始把SP设在SRAM的最高处(ATmega8最大值$045

13、F, AT90S8535最大值$025F)2.2.2 指令执行时序MCU内核由系统时钟CLKCPU驱动指令存取和执行的关系见 p.29图2-6(pdf:p.12 Figure 5. The Parallel Instruction Fetches and Instruction Executions)2.2.3 复位和中断处理复位处理在本章(2.6)学习中断处理在第4章学习AVR第2章 AVR系统结构概况 中央处理器MCU内核 ATmega8 存储器组织 系统时钟及其分配 系统复位 ATmega8 的总体结构 ATmega8 I/O端口存储器的分类程序存储器数据存储器(RAM, Random

14、Access Memory)ROMFLASHROMRead Only MemoryPROMProgrammable ROMEPROMErasable Programmable ROMSRAMStatic Random Access MemoryDRAMDynamic.(SDRAM Synchronous)EEPROM2.3 ATmega8 存储器组织第2章2.3.1 在线可编程Flash存储器8K Bytes 因为指令为16位宽,所以Flash结构为4K16位(地址范围:$000$FFF)存储空间分为两部分地址000开始(低端)为应用程序区高端为引导程序区2.3.2 内部SRAM数据存储器共1

15、120个数据地址前面32个地址为通用工作寄存器R0R1R2R31地址范围$0000$0001$0002$001F2.3.2 内部SRAM数据存储器共1120个数据地址中间64个地址为I/O寄存器$00$01$02$3F地址范围$0020$0021$0022$005F2.3.2 内部SRAM数据存储器共1120个数据地址最后1024个地址为内部SRAM内部SRAM地址范围$0060$0061$0062$045F某些型号:外部SRAM最大容量为64KB哈佛结构Harvard Architecture2.3.3 EEPROM数据存储器ATmega8/90S8535的片内EEPROM512 Bytes

16、(地址范围:$000$1FF )通过三组I/O寄存器进行访问地址寄存器、数据寄存器、控制寄存器其他AVR单片机的片内EEPROMATmega16 1K Bytes ATmega162 1K Bytes ATmega1284K Bytes 2.3.4 I/O寄存器AVR的片内I/O操作通过I/O寄存器进行操作指令:IN、OUT、SBI、CBII/O寄存器地址范围:$00$3F也可以用访问SRAM的指令访问I/O寄存器I/O寄存器$00$3F的对应地址:$20$5F可以访问高档AVR单片机的扩展I/O寄存器(例如ATmega128的数据地址:$60$FF为扩展I/O寄存器)2.3.5 熔丝位编程单

17、元AVR的熔丝位用于选择不同应用功能(例如复位以后执行应用程序还是引导程序、系统时钟源的选择等等)这些位不能用指令(程序)修改,需要用单片机开发工具进行设置通常取默认值AVR第2章 AVR系统结构概况 中央处理器MCU内核 ATmega8 存储器组织 系统时钟及其分配 系统复位 ATmega8 的总体结构 ATmega8 I/O端口2.4 系统时钟及其分配时钟系统结构2.4 系统时钟及其分配外部晶振XTAL1反相振荡放大器的输入端XTAL2反相振荡放大器的输出端2.4 系统时钟及其分配外部低频晶振在XTAL1、XTAL2之间接入32.768kHz石英晶体振荡器熔丝位CKOPT编程时,可以省掉外

18、部电容C1、C22.4 系统时钟及其分配外部RC振荡器在要求不高的场合使用熔丝位CKOPT编程时,可以省掉外部电容C2.4 系统时钟及其分配可校准内部RC振荡器采用内部RC振荡器,频率1、2、4、8MHz校准后精度1%默认时钟源为1MHz的内部RC振荡器2.4 系统时钟及其分配外部时钟源在系统中已经有其他时钟信号的场合使用熔丝位CKOPT编程时,XTAL1与GND之间的电容有效AVR第2章 AVR系统结构概况 中央处理器MCU内核 ATmega8 存储器组织 系统时钟及其分配 系统复位 ATmega8 的总体结构 ATmega8 I/O端口2.6 ATmega8的系统复位第2章复位逻辑复位源

19、MCU控制与状态寄存器 内部参考电压复位逻辑ATmega8单片机有4个复位源,任何一个复位源都可以使单片机复位复位逻辑如图所示(p.52 图2-14)上电复位外部复位看门狗复位延时定时BOD复位复位逻辑复位过程I/O寄存器初始化(取默认值)当熔丝位BOOTRST=1时,PC= $000,复位后从头开始执行用户程序当熔丝位BOOTRST=0时,PC= 引导程序区起始地址2.6.1 复位源ATmega8单片机有4个复位源: 上电复位、外部复位、看门狗复位和电源电压检测复位(BOD复位)1. 上电复位当电源电压上升过程中达到上电门限VPOT(典型值1.4V)时启动复位延时VCCVPOT/RESETT

20、IME-OUTtTOUT内部复位上电复位的应用要点简单应用时,RESET引脚可以不接任何元件为了提高上电复位可靠性,可以采用阻容上电复位电路Vcc10k0.1uFRESET2. 外部复位当/RESET复位引脚上的低电平超过50ns 时开始复位,达到复位门限VRST(典型值0.6VCC)时启动复位延时。VRST/RESETTIME-OUTtTOUT内部复位3. BOD复位BOD电路检测电源电压Vcc,当电压低于2.7V(BODLEVEL熔丝位未编程默认)或4.0V (BODLEVEL熔丝位编程)时产生复位。为了避免电源毛刺误触发,电路设计了130mV的滞回特性VBOT = 4.0VVBOT- =

21、4.0 0.13/2VBOT+ =4.0 + 0.13/24. 看门狗复位当看门狗定时器WDT溢出时,产生1个晶振周期的复位脉冲,此脉冲的下降沿启动复位延时。VCC1 XTAL cycle/RESETTIME-OUTtTOUT内部复位看门狗定时输出2.6.2 MCU控制和状态寄存器MCUCSRWDRFBORFEXTRFPORF Bit 7.4 Reserved Bits Bit 3 WDRF: Watchdog Reset Flag看门狗复位该位置1,上电复位或写0清0. Bit 2 BORF: Brown-out Reset FlagBOD复位该位置1,上电复位或写0清0. 2.6.2 MC

22、U控制和状态寄存器MCUCSRWDRFBORFEXTRFPORF Bit 1 EXTRF: External Reset Flag外部复位该位置1,上电复位或写0清0. Bit 0 PORF: Power-on Reset FlagThis bit is set if a Power-on Reset occurs. The bit is reset only by writing a logic zero to the flag.2.6.2 MCU控制和状态寄存器MCUCSR应用提示单片机复位以后寄存器MCUCSR能够提供复位源信息可以根据不同复位情况使程序转向不同程序段判断完成后把该寄存器

23、清零。2.6.3 内部参考电压源ATmega8内部有一个1.23V的参考电压,工作在以下三种情况BODEN熔丝位编程时,允许电源电压检测可以作为模拟比较器的一个输入参考电压(设置ACSR寄存器的ACBG位)ADC允许,可以通过设置ADMUX寄存器产生2.56V的A/D参考电压AVR第2章 AVR系统结构概况 中央处理器MCU内核 ATmega8 存储器组织 系统时钟及其分配 系统复位 ATmega8 的总体结构 ATmega8 I/O端口2.7 ATmega8的I/O端口单片机的I/O接口(外围接口)有很多并行口、串行口、ADCI/O端口通常指并行口单片机I/O端口的数量取决于型号MCS-51

24、系列单片机有4个8位I/O端口(P0、P1、P2、P3)共32个I/O线ATmega8单片机有3个I/O端口(PB8位、PC7位、PD8位)共23个I/O线2.7 ATmega8的I/O端口AT90S8535、ATmega16、ATmega32单片机有4个8位I/O端口(PA、PB、PC、PD)共32个I/O线ATmega64、ATmega128单片机有6个8位I/O端口(PA、PB、PC、PD 、PE、PF)和1个5位I/O端口(PG)共53个I/O线I/O端口的编址两种编址方式I/O端口单独编址,如Intel 8086和SRAM统一编址,如Intel 80512.7 ATmega8的I/O

25、端口I/O端口的数据传送方式同步传送(无条件传送)主要用于对于CPU来讲任何时刻外设数据均处于准备好状态异步传送(条件传送、查询式传送)CPU和外设之间通过状态信号协调传送速度中断传送CPU和外设之间通过中断信号和中断系统协调传送速度DMA传送(直接存储器存取)外设和内存之间直接建立传输通道2.7.1 ATmega8的通用I/O端口ATmega8单片机内部有 3个并行I/O端口分别为端口B (简称B口)、端口C (简称C口)、端口D (简称D口)。每个端口的每一位可以分别定义为输入端口线或输出端口线。学习要点要想正确应用单片机的I/O端口,必须搞清楚与I/O端口有关的I/O寄存器。没有必要深入

26、分析内部逻辑结构输出时设置输出数据;输入时控制输入方式(1带上拉电阻/0不带上拉电阻)复位初值:$00 (三态输入)I/O端口的有关I/O寄存器1、B口数据寄存器PORTB地址:$18 ($38),可读可写R/Wportb7portb6portb5portb4portb3portb2portb1portb0I/O端口的有关I/O寄存器2、B口数据方向寄存器DDRB地址:$17 ($37)DDB7DDB6DDB5DDBDDB3DDB2DDB1DDB0“0”输入,“1”输出。复位初值:$00 (输入)输入数据,复位初值:Hi-Z (高阻抗状态)I/O端口的有关I/O寄存器3、B口输入引脚地址PIN

27、B地址:$16 ($36)PINB7PINB6PINB5PINB4PINB3PINB2PINB1PINB0I/O端口的有关I/O寄存器C口寄存器C口数据寄存器PORTC $15 ($35)C口数据方向寄存器DDRC $14 ($34)C口输入引脚地址PINC $13 ($33)D口寄存器D口数据寄存器PORTD $12 ($32)D口数据方向寄存器DDRD $11 ($31)D口输入引脚地址PIND $10 ($30)I/O端口的有关I/O寄存器其他型号有端口AA口寄存器A口数据寄存器PORTA $1B ($3B)A口数据方向寄存器DDRA $1A ($3A)A口输入引脚地址PINA $19 ($39)2.7.3 ATmega8端

温馨提示

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

评论

0/150

提交评论