




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理与接口技术ATmega128单片机的系统结构1、ATmega128的CPU内核2、ATmega128 存储器 3、系统时钟及其选项 4、系统控制和复位5、ATmega128 的中断向量 6、I/O端口7、定时器/ 计数器(T/C) 8、模数转换器 A/D 1、ATmega128的CPU内核1.1 AVR CPU内核的结构1.2 状态寄存器1.3 通用寄存器结构1.4 X、Y、Z寄存器1.5 堆栈指针1.6 复位和中断处理1.1 AVR CPU内核的结构图AVR 采用了采用了Harvard 结构,结构,具有独立的数据和程序总线。具有独立的数据和程序总线。程序存储器的指令通过一级流程序存
2、储器的指令通过一级流水线运行。水线运行。1.2 状态寄存器 oAVR 状态寄存器 SREG Bit 7 I: 全局中断使能全局中断使能Bit 6 T: 位拷贝存储位拷贝存储Bit 5 H: 半进位标志半进位标志,表示算术操作发生了半进位表示算术操作发生了半进位Bit 4 S: 符号位符号位, S=N V,S 为负数标志为负数标志N与与2 的补码溢出标志的补码溢出标志V的异或的异或Bit 3 V: 2 的补码溢出标志的补码溢出标志,支持支持2 的补码运算。的补码运算。Bit 2 N: 负数标志负数标志Bit 1 Z: 零标志零标志Bit 0 C: 进位标志进位标志1.3 通用寄存器结构 AVR
3、CPU 32个通用工作寄存器的结构图 每个寄存器都有一每个寄存器都有一个数据内存地址,将他个数据内存地址,将他们直接映射到用户数据们直接映射到用户数据空间的空间的头头32 个地址个地址。 1.4 X、Y、Z寄存器o除了用作通用寄存器外,还可以作为数据间接寻址用的地址指针。o在不同的寻址模式中,这些地址寄存器可以实现固定偏移量,自动加一和自动减一功能。 1.5 堆栈指针o堆栈指针主要用来保存临时数据,局部变量和中断/ 子程序的返回地址。堆栈指针总是指向堆栈的顶部。要注意AVR 的堆栈是向下生长的,即新数据推入堆栈时,堆栈指针的数值将减小。o堆栈指针指向位于SRAM 的函数及中断堆栈。堆栈空间必须
4、在调用函数或中断使能之前定义。指针必须指向高于$60 的地址。1.5 堆栈指针o用PUSH 指令推数据入栈时,堆栈指针将减一;o当调用函数或中断时,指针将减二。o使用POP 指令时,堆栈指针将加一;o而用RET 或RETI 返回时,指针将加二。AVR堆栈指针占用了I/O空间两个8位寄存器1.6 复位和中断处理 1.6.1 ATmega128的中断处理 n两种类型的中断:o事件触发并置位中断标志。o只要中断条件满足,就会一直触发。nAVR 退出中断后总是回到主程序并执行一条指令才可以去执行其他被挂起的中断。n程序存储器空间的最低地址缺省定义为复位和中断向量。中断向量所在的地址越低,优先级越高。中
5、断向量表:P911.6 复位和中断处理 1.6.2 ATmega128的中断响应时间nAVR 中断响应时间最少为4个时钟周期。 n若中断发生时MCU 处于睡眠模式,中断响应时间增加到8个时钟周期。n中断返回亦需4个时钟。 内容1、ATmega128的CPU内核2、ATmega128 存储器 3、系统时钟及其选项 4、系统控制和复位5、ATmega128 的中断向量 6、I/O端口7、定时器/ 计数器(T/C) 8、模数转换器 A/D 2、ATmega128 存储器2.1 系统内可编程的Flash 程序存储器2.2 SRAM数据存储器2.3 EEPROM数据存储器2.4 I/O存储器2.5 外部
6、存储器接口2、ATmega128 存储器oAVR 结构具有三个线性存储空间:n程序寄存器n数据寄存器nEEPROM 存储器 2.1 系统内可编程的Flash 程序存储器nATmega128具有128K字节的在线编程Flash。因为所有的AVR指令为16位或32位,故FLASH 组织成64K x 16 的形式。n Flash 程序存储器分为:(软件安全性)o引导程序区o应用程序区主存储器空间主存储器空间2.2 SRAM数据存储器$0000-$001F:32个寄存器$0020-$005F:64个I/O寄存器$0060-$00FF:160个扩展I/O寄存器$0100-$10FF:内部4K SRAM$
7、1100-$FFFF:外扩 SRAM,最多到64K2.3 EEPROM数据存储器oATmega128包含4K字节的EEPROM。它是作为一个独立的数据空间而存在的,可以按字节读写。EEPROM 的寿命至少为100,000 次(擦除)。oEEPROM 的访问由地址寄存器,数据寄存器和控制寄存器决定。o一般用在掉电后需要保存的数据 。2.4 I/O寄存器器oATmega128 的所有I/O 和外设寄存器都被放置在I/O 空间。在32个通用工作寄存器和I/O之间传输数据。o其支持的外设要比预留的64 个I/O所能支持的要多,地址: $20 - $5F 。o扩展的I/O 空间$60 - $FF 2.5
8、 外部存储器接口o此接口非常适合于与存储器器件互连,如外部SRAM和Flash, LCD, A/D, D/A,等等。其主要特点为:n四个不同的等待状态设置( 包括无等待状态)。n不同的外部存储器可以设置不同的等待状态。n地址高字节的位数可以有选择地确定。n数据线具有总线保持功能以降低功耗。2.5 外部存储器接口外部存储器接口包括:nAD7:0:多工的地址总线和数据总线。nA15:8:高位地址总线 ( 位数可配置)。nALE:地址锁存使能。nRD:读锁存信号。nWR:写使能信号。o外部存储器接口控制位于以下3个寄存器:nMCU 控制寄存器MCUCRn外部存储器控制寄存器A XMCRAn外部存储器
9、控制寄存器B XMCRB2.5 外部存储器接口内容1、ATmega128的CPU内核2、ATmega128 存储器 3、系统时钟及其选项 4、系统控制和复位5、ATmega128 的中断向量 6、I/O端口7、定时器/ 计数器(T/C) 8、模数转换器 A/D 3、系统时钟及其选项o为为ATmega128提供系统时钟源时,有提供系统时钟源时,有三种主要的选择:三种主要的选择:(1)直接使用片内的)直接使用片内的1/2/4/8M的的RC振荡源;振荡源;(2)在引脚)在引脚XTAL1和和XTAL2上外接由石英上外接由石英晶体和电容组成的谐振回路晶体和电容组成的谐振回路,配合片内的配合片内的OSC(
10、Oscillator)振荡电路构成的振荡源;)振荡电路构成的振荡源; (3)直接使用外部的时钟源输出的脉冲信号)直接使用外部的时钟源输出的脉冲信号AVR的主要时钟系统及其分布图clkCPU clkI/O clkFLASH clkADC clkASY :异步定时器时钟3、系统时钟及其选项oCPU 时钟时钟clkCPU CPU时钟与操作时钟与操作AVR内核的子系统相连,内核的子系统相连,如通用工作寄存器文件、状态寄存器以及保存堆栈指针如通用工作寄存器文件、状态寄存器以及保存堆栈指针的数据存储器。终止的数据存储器。终止CPU 时钟将使内核停止工作和计算。时钟将使内核停止工作和计算。oI/O 时钟时钟
11、clkI/O I/O时钟用于主要的时钟用于主要的I/O 模块,如定时器模块,如定时器/ 计计数器、数器、SPI 和和USART。I/O 时钟还用于外部中断模块。时钟还用于外部中断模块。但是有些外部中断由异步逻辑检测,因此即使但是有些外部中断由异步逻辑检测,因此即使I/O 时钟停时钟停止了这些中断仍然可以得到监控。此外,止了这些中断仍然可以得到监控。此外,TWI 模块的地模块的地址识别功能在没有址识别功能在没有clkI/O 的情况下也是异步实现的,使的情况下也是异步实现的,使得这个功能在任何睡眠模式下都可以正常工作。得这个功能在任何睡眠模式下都可以正常工作。3、系统时钟及其选项oFlash 时钟
12、时钟 clkFLASH Flash 时钟控制时钟控制Flash 接口的接口的操作。此时钟通常与操作。此时钟通常与CPU 时钟是同步的。时钟是同步的。o异步定时器时钟异步定时器时钟 clkASY 异步定时器时钟允许异步异步定时器时钟允许异步定时器定时器/ 计数器直接由外部计数器直接由外部32 kHz 时钟晶体驱动,时钟晶体驱动,使得此定时器使得此定时器/ 计数器即使在睡眠模式下仍然可计数器即使在睡眠模式下仍然可以为系统提供一个实时时钟。以为系统提供一个实时时钟。oADC 时钟时钟 clkADC ADC具有专门的时钟。这样可具有专门的时钟。这样可以在以在ADC工作的时候停止工作的时候停止CPU和和
13、I/O时钟以降低时钟以降低数字电路产生的噪声,从而提高数字电路产生的噪声,从而提高ADC 转换精度。转换精度。3、系统时钟及其选项o时钟源时钟源oATmega128有如下几种通过熔丝位选择的有如下几种通过熔丝位选择的时钟源。时钟输入到时钟源。时钟输入到AVR 时钟发生器,并时钟发生器,并通往其他合适模块。通往其他合适模块。3、系统时钟及其选项o默认时钟源默认时钟源o器件出厂时器件出厂时CKSEL = “0001”, SUT = “10”。该默认时钟源为最长启动时间的内。该默认时钟源为最长启动时间的内部部RC 振荡器。该默认设置保证所有的用振荡器。该默认设置保证所有的用户通过系统内或并行编程得到
14、其需要的时户通过系统内或并行编程得到其需要的时钟源。钟源。3、系统时钟及其选项o晶体振荡器晶体振荡器 oXTAL1 和和XTAL2 分别分别为用作片内振荡器的反为用作片内振荡器的反向放大器的输入和输出,向放大器的输入和输出,如图所示。如图所示。3、系统时钟及其选项o低频晶体振荡器低频晶体振荡器o使用使用32.768 kHz 钟表晶体作为器件的时钟源,须将熔丝钟表晶体作为器件的时钟源,须将熔丝位位CKSEL 设置为设置为“1001”以选择低频晶体振荡器以选择低频晶体振荡器,通过对通过对熔丝位熔丝位CKOPT 的编程,用户可以使能的编程,用户可以使能XTAL1 和和XTAL2 的内部电容,从而去除
15、外部电容。内部电容的标称数值的内部电容,从而去除外部电容。内部电容的标称数值为为36 pF。选择了这个振荡器之后,启动时间由熔丝位。选择了这个振荡器之后,启动时间由熔丝位SUT 确定,如确定,如表所示。所示。3、系统时钟及其选项o外部外部RC 振荡器振荡器o对于时间不敏感的应用可以使用外部对于时间不敏感的应用可以使用外部RC 振振荡器。频率可以通过方程荡器。频率可以通过方程f =1/(3RC)进行粗进行粗略地估计。电容略地估计。电容C 至少要至少要22pF。通过编程熔丝位通过编程熔丝位CKOPT,用户可以,用户可以使能使能XTAL1和和GND之间的片内之间的片内 36 pF电电容容.3、系统时
16、钟及其选项o标定的片内标定的片内RC 振荡器振荡器o标定的片内标定的片内RC 振荡器提供了固定的振荡器提供了固定的1.0、2.0、4.0 或或8.0 MHz 的时钟。这些频率都是的时钟。这些频率都是5V、25C 下的标称数值。下的标称数值。o这个时钟也可以作为系统时钟,只要对熔这个时钟也可以作为系统时钟,只要对熔丝位丝位CKSEL进行编程即可。选择这个时钟进行编程即可。选择这个时钟之后就无需外部器件了。之后就无需外部器件了。3、系统时钟及其选项o外部时钟外部时钟o为了从外部时钟源驱动芯为了从外部时钟源驱动芯片,片, XTAL1 必须如图所示必须如图所示的进行连接。同时,熔丝的进行连接。同时,熔
17、丝位位CKSEL必须编程为必须编程为“0000”。内容1、ATmega128的CPU内核2、ATmega128 存储器 3、系统时钟及其选项 4、系统控制和复位5、ATmega128 的中断向量 6、I/O端口7、定时器/ 计数器(T/C) 8、模数转换器 A/D 4、系统控制和复位 o复位时所有的I/O 寄存器都被设置为初始值,程序从复位向量处开始执行。o复位源生效时I/O 端口立即复位为初始值,不需要任何时钟的辅助。4、系统控制和复位 oATmega128 有5个复位源:1.上电复位上电复位o当电源电压低于上电复位门限 (VPOT) 时, MCU 复位。2.外部复位外部复位o当引脚 RES
18、ET 上的低电平持续时间大于最小脉冲宽度( 1.5us )时MCU 复位。3.看门狗复位看门狗复位o当看门狗使能并且看门狗定时器超时时复位发生。4.掉电检测复位掉电检测复位o当掉电检测复位功能使能,且电源电压低于掉电检测复位门限(VBOT) 时(4.0v或或2.7v) ,MCU 即复位。5.JTAG AVR复位复位o当复位寄存器为1 时MCU即复位。4、系统控制和复位 1上电复位上电复位 AVR内部含有上电复位内部含有上电复位POR(Power_on Reset)电路无论何时,只要电路无论何时,只要Vcc低于检测电平低于检测电平Vpot时,器时,器件进入复位状态。件进入复位状态。 4、系统控制
19、和复位 2外部复位外部复位外部复位是由外加在外部复位是由外加在RESET引脚上的低电平将产生引脚上的低电平将产生的。当的。当RESET引脚被拉低于引脚被拉低于Vrst的时间大于的时间大于1.5s时时既触发复位过程既触发复位过程4、系统控制和复位 3掉电检测(掉电检测(BOD)复位)复位ATmega128片内的片内的BOD( Brown-out Detection)电源检测电路,用于在)电源检测电路,用于在系统运行时对系统电压系统运行时对系统电压VCC的检测,并同一个固定的阈值电压相比较。的检测,并同一个固定的阈值电压相比较。BOD检测阈值电压可以通过检测阈值电压可以通过BODLEVEL熔丝位设
20、定为熔丝位设定为2.7V或或4.0V。BOD检测阈值电压有迟滞效应,以避免系统电源的尖峰毛刺误触发检测阈值电压有迟滞效应,以避免系统电源的尖峰毛刺误触发BOD检测器。阈值电平的迟滞效应可以理解为:上阈值电压检测器。阈值电平的迟滞效应可以理解为:上阈值电压VBOT+ = VBOT + VHYST/2,下阈值电压,下阈值电压VBOT- = VBOT - VHYST/2。4、系统控制和复位 4看门狗复位看门狗复位ATmega128片内集成一个独立的看门狗定时器片内集成一个独立的看门狗定时器WDT。该。该WDT由片内独由片内独立的立的1M振荡器提供时钟信号。当振荡器提供时钟信号。当WDT启动计数后,一
21、旦发生计数溢出,启动计数后,一旦发生计数溢出,它将触发产生一个时钟周期宽度的复位脉冲。脉冲的上升沿将使器件进它将触发产生一个时钟周期宽度的复位脉冲。脉冲的上升沿将使器件进入复位状态,脉冲的下降沿启动延时计数器计数,经过设定的启动延时入复位状态,脉冲的下降沿启动延时计数器计数,经过设定的启动延时时间,时间,CPU重新开始运行。使用重新开始运行。使用WDT功能,可以防止系统受到干扰而引功能,可以防止系统受到干扰而引起的程序运行紊乱和跑飞,提高了系统的可靠性起的程序运行紊乱和跑飞,提高了系统的可靠性 4、系统控制和复位 AVR单片机单片机最小系统最小系统C 1C 220PPF0PF1PF2PF3PF
22、4PF5PF6PF7SPA0PA1PA2PA3PA4PA5PA6PA7PC 7PC 6PC 5PC 4PC 3PC 2PC 1PC 0PG4PG3PG1PG0PD0PD1PD2PD3PD4PD5PD6PD7VC CPE0PE1PE2PE3PE4PE5PE6PE7PB 0PB 1PB 2PB 3PB 4PB 5PB 6PB 7R 110KVC C AR ESETR 90VC CVC CAVC C64GND63VR EF62VC C52GND53PF0/ADC 061PF1/ADC 160PF2/ADC 259PF7/ADC 754PA0/AD051PA1/AD150PA2/AD249PC 0/A
23、835PG1/R D34PG0/W R33PD7/T232PE6/T3/INT68PE5/OC 3C /INT57PE4/OC 3B /INT46PE3/OC 3A/AN15R ESET20PG4/TOSC 119GND22VC C21PB 3/M ISO13PC 6/A1441PB 4/OC 014PC 5/A1340PA6/AD645PEN1PE0/R XD02PE1/TXD03PE2/XC L0/AIN04PG3/TOSC 218PB 7/OC 1C /OC 217PB 6/OC 1B16PB 5/OC 1A15PB 2/M OSI12PB 1/SC K11PB 0/SS10PE7/IC
24、 P3/INT79PD6/T131PD5/XC K130PD4/IC P129PD3/TXD1/INT328PD2/R XD1/INT227PD1/SDA/INT126PD0/SC L/INT025XTAL124PC 1/A936PC 2/A1037PC 3/A1138PC 4/A1239PF6/ADC 655PF5/ADC 556PF4/ADC 457PF3/ADC 358PA5/AD546PA4/AD447PC 7/A1542PA3/AD348XTAL223PG2/ALE43PA7/AD744U1M EGA128VR EFLL3C 110.1PG2ALES内容1、ATmega128的CPU
25、内核2、ATmega128 存储器 3、系统时钟及其选项 4、系统控制和复位5、ATmega128 的中断向量 6、I/O端口7、定时器/ 计数器(T/C) 8、模数转换器 A/D 5、ATmega128 的中断向量1ATmega128 提供35个中断及其对应的中断向量。其中1个非屏蔽中断(复位中断),8个外部中断。中断向量从flash的$0000地址开始存放,每个中断向量占2个字,存放分别存放jmp指令和对应中断服务程序的入口地址。5、ATmega128 的中断向量1向量号程序地址中断源中断定义1$0000RESET复位2$0002INT0外部中断请求03$0004INT1外部中断请求14$
26、0006INT2外部中断请求25$0008INT3外部中断请求36$000AINT4外部中断请求47$000CINT5外部中断请求58$000EINT6外部中断请求69$0010INT7外部中断请求710$0012TIMER2 COMPT/C 2 比较匹配11$0014TIMER2 OVFT/C 2 溢出ATmega128 的中断向量2向量号程序地址中断源中断定义12$0016TIMER1 CAPTT/C 1 捕捉事件13$0018TIMER1 COMPAT/C 1 比较匹配 A14$001ATIMER1 COMPBT/C 1 比较匹配B15$001CTIMER1 OVFT/C 1 溢出16$
27、001ETIMER0 COMPT/C 0 比较匹配17$0020TIMER0 OVFT/C 0 溢出18$0022SPI, STCSPI 串行传输结束19$0024USART0, RXUSART0, Rx 结束20$0026USART0, UDREUSART0 数据寄存器空21$0028USART0, TXUSART0, Tx 结束22$002AADCADC 转换结束23$002CEE READYEEPROM 就绪ATmega128 的中断向量3向量号程序地址中断源中断定义24$002EANALOG COMP模拟比较器25$0030(3)TIMER1 COMPCT/C 1 比较匹配C26$00
28、32(3)TIMER3 CAPTT/C 3 捕捉事件27$0034(3)TIMER3 COMPAT/C 3 比较匹配 A28$0036(3)TIMER3 COMPBT/C 3 比较匹配B29$0038(3)TIMER3 COMPCT/C 3 比较匹配C30$003A(3)TIMER3 OVFT/C 3 溢出31$003C(3)USART1, RXUSART1, Rx 结束32$003E(3)USART1, UDREUSART1 数据寄存器空33$0040(3)USART1, TXUSART1, Tx 结束34$0042(3)TWI两线串行接口35$0044(3)SPM READY保存程序存储器
29、内容就绪内容1、ATmega128的CPU内核2、ATmega128 存储器 3、系统时钟及其选项 4、系统控制和复位5、ATmega128 的中断向量 6、I/O端口7、定时器/ 计数器(T/C) 8、模数转换器 A/D 6、I/O端口o所有AVR I/O端口都具有真正的读-修改-写功能。3个8位寄存器用于控制I/O端口o端口方向控制寄存器DDRxo数据寄存器PORTxo输入引脚寄存器PINxPORTB3 表示端口表示端口B的第的第3位位 所有的寄存器和位以通用格式表所有的寄存器和位以通用格式表示:小写的示:小写的“x” 表示端口序号,表示端口序号,小写的小写的“n” 代表位的序号。代表位的
30、序号。 读读/写写 读读/写写 只读只读 当当DDxn 为为“1“时,时,Pxn 配置为输出。配置为输出。内容1、ATmega128的CPU内核2、ATmega128 存储器 3、系统时钟及其选项 4、系统控制和复位5、ATmega128 的中断向量 6、I/O端口7、定时器/ 计数器(T/C) 8、模数转换器 A/D 7、定时器/ 计数器(T/C) 7.1 8位T/ C07.2 8位T/ C27.3 16位 T/ C1和T/ C37.4 定时器/ 计数器的预分频器 7.1 8位T/ C0oT/C0 是一个通用的,单通道8 位定时器/ 计数器模块。其主要特点如下:1.单通道计数器2.比较匹配发
31、生时,清除定时器( 自动加载)3.无毛刺的相位修正PWM4.频率发生器5.10 位时钟预分频器6.溢出和比较匹配中断源(TOV0 和OCF0)7.允许外部32kHz 晶振作为时钟 双缓冲的输出比较寄存器双缓冲的输出比较寄存器OCR0一直与一直与T/C 的数值进行比较。比较结果的数值进行比较。比较结果可用来产生可用来产生PWM波,或在输出比较引脚波,或在输出比较引脚OC0上产生变化频率的输出。上产生变化频率的输出。 7.1.1 T/ C0的工作模式 (1)普通模式n(WGM01:0= 0)为最简单的工作模式。n在此模式下计数器不停地累加。计到最大值后(TOP=0 xFF),计数器简单地返回到最小
32、值0 x00重新开始。(2)CTC模式(比较匹配时清除定时器)n(WGM01:0 = 2) nTCNT0=OCR0时计数器清零 n波形发生器的频率 变量变量N代表分频因子代表分频因子(1、8、32、64、128、256 或或1024) 7.1.1 T/ C0的工作模式(3)快速PWM模式n (WGM01:0 = 3) 可用来产生高频的PWM 波形。快速PWM 模式与其他PWM模式的不同之处是其三角波工作方式(其他PWM方式为等腰三角形方式)n输出的PWM 频率 (4)相位修正PWM模式 n(WGM01:0 = 1) 为用户提供了一个获得高精度相位修正PWM波形的方法。此模式基于双斜线操作。n输
33、出的PWM 频率变量变量N代表分频因子代表分频因子(1、8、32、64、128、256 或或1024) 7.1.2 与T/C0相关的8位寄存器说明o8位控制寄存器(TCCR0)n工作模式、匹配输出模式 、时钟选择 o8位计数寄存器(TCNT0)o8位输出比较寄存器(OCR0)o8位中断屏蔽寄存器(TIMSK)nBit 1 OCIE0: T/C0 输出比较匹配中断使能nBit 0 TOIE0: T/C0 溢出中断使能o8位中断标志寄存器(TIFR)nBit 1 OCF0: 输出比较标志0(T/C0与OCR0的值匹配时,OCF0置位)nBit 0 TOV0:T/C0 溢出标志7.2 8位T/ C2
34、oT/C2 是一个通用单通道8 位定时/ 计数器,其主要特点如下:1.单通道计数器2.比较匹配时,清零定时器 ( 自动重载)3.无干扰脉冲, 相位正确的脉宽调制器 (PWM)4.频率发生器5.10 位时钟预分频器6.溢出与比较匹配中断源(TOV2 与OCF2)7.外部事件计数器7.2.1 T/ C2的工作模式 (1)普通模式n(WGM21:0= 0)为最简单的工作模式。n在此模式下计数器不停地累加。计到最大值后(TOP=0 xFF),计数器简单地返回到最小值0 x00重新开始。(2)CTC模式(比较匹配时清除定时器)n(WGM21:0 = 2) nTCNT2=OCR2时计数器清零 n波形发生器
35、的频率 变量变量N代表分频因子代表分频因子(1、8、64、256 或或1024) 7.2.1 T/ C2的工作模式(3)快速PWM模式n (WGM21:0 = 3) 可用来产生高频的PWM 波形。快速PWM 模式与其他PWM模式的不同之处是其三角波工作方式(其他PWM方式为等腰三角形方式)n输出的PWM 频率 (4)相位修正PWM模式 n(WGM21:0 = 1) 为用户提供了一个获得高精度相位修正PWM波形的方法。此模式基于双斜线操作。n输出的PWM 频率变量变量N代表分频因子代表分频因子(1、8、64、256 或或1024) 7.2.2 与T/C2相关的8位寄存器说明o8位控制寄存器(TC
36、CR2)n工作模式、匹配输出模式 、时钟选择 o8位计数寄存器(TCNT2)o8位输出比较寄存器(OCR2)o8位中断屏蔽寄存器(TIMSK)nBit 7 OCIE2: T/C2 输出比较匹配中断使能nBit 6 TOIE2: T/C2 溢出中断使能o8位中断标志寄存器(TIFR)nBit 7 OCF2: 输出比较标志0(T/C2与OCR2的值匹配时,OCF2置位)nBit 6 TOV2:T/C2 溢出标志7.3 16位 T/ C1和T/ C3o16位的T/C 可以实现精确的程序定时(事件管理)、波形产生和信号测量。其主要特点如下1.真正的16 位设计( 即允许16 位的PWM)2.3 个独立
37、的输出比较单元3.双缓冲的输出比较寄存器4.一个输入比较单元5.输入捕捉噪声抑制器6.比较匹配发生时清除寄存器( 自动重载)7.无毛刺的相位修正PWM,可变的PWM 周期8.频率发生器9.外部事件计数器10.10 个独立的中断源lTOV1、OCF1A、OCF1B、OCF1C、ICF1lTOV3、OCF3A、OCF3B、OCF3C、ICF3 7.3.1 访问16位的定时器 oTCNTn、OCRnA/B/C与ICRn是AVR CPU 通过8位数据总线可以访问的16位寄存器。n读写16位寄存器需要两次操作。n每个16位计时器都有一个8位临时寄存器用来存放其高8位数据。每个16位定时器所属的16位寄存
38、器共用相同的临时寄存器。n访问低字节会触发16位读或写操作。当CPU 写入数据到16 位寄存器的低字节时,写入的8 位数据与存放在临时寄存器中的高8位数据组成一个16位数据,同步写入到16位寄存器中。当CPU读取16位寄存器的低字节时,高字节内容在读低字节操作的同时被放置于临时辅助寄存器中。o并非所有的16位访问都涉及临时寄存器。n对OCRnA/B/C 寄存器的读操作就不涉及临时寄存器o写16位寄存器时,应先写入该寄存器的高位字节。o读16位寄存器时,应先读取该寄存器的低位字节。 7.3.2 工作模式 (1)普通模式n(WGMn 1:0= 0)为最简单的工作模式。n在此模式下计数器不停地累加。
39、计到最大值后(TOP=0 xFF),计数器简单地返回到最小值0 x00重新开始。(2)CTC模式(比较匹配时清除定时器)n(WGMn3:0 = 4 或12)nOCRnA 或ICRn定义了计数器的TOP值nTCNTn= TOP值时计数器清零 n波形发生器的频率 变量变量N代表分频因子代表分频因子(1、8、64、256 或或1024) 7.3.2 工作模式(3)快速PWM模式n (WGMn3:0 = 5、6、7、14 或15) 可用来产生高频的PWM 波形。n输出的PWM 频率 (4)相位修正PWM模式 n(WGMn3:0 = 1、2、3、10 或11)为用户提供了一个获得高精度相位修正PWM波形
40、的方法。此模式基于双斜线操作。n输出的PWM 频率变量变量N代表分频因子代表分频因子(1、8、64、256 或或1024) 7.3.3 与T/C相关的8位寄存器说明o8位控制寄存器A(TCCR1A、TCCR3A)nBit 7:6 COMnA1:0_通道A的比较输出模式nBit 5:4 COMnB1:0_通道B的比较输出模式nBit 3:2 COMnC1:0_通道C的比较输出模式nBit 1:0 WGMn1:0o8位控制寄存器B(TCCR1B、TCCR3B)nBit 7 ICNCn: 输入捕捉噪声抑制器nBit 6 ICESn: 输入捕捉触发沿选择nBit 4:3 WGMn3:2_与WGMn1:
41、0决定波形发生模式nBit 2:0 CSn2:0_ 时钟选择o8位控制寄存器C(TCCR1C、TCCR3C)nBit 7 FOCnA_ 强制输出比较通道AnBit 6 FOCnB_ 强制输出比较通道BnBit 5 FOCnC_ 强制输出比较通道C7.3.3 与T/C相关的16位寄存器说明o16位计数寄存器nTCNT1H、TCNT1L;TCNT3H、TCNT3Lo16位输出比较寄存器 输出比较寄存器A(OCR1AH、OCR1AL;OCR3AH、OCR3AL) 输出比较寄存器B(OCR1BH、OCR1BL;OCR3BH、OCR3BL) 输出比较寄存器C(OCR1CH、OCR1CL;OCR3CH、O
42、CR3CL)o 16位捕获寄存器:ICR1H、ICR1L;ICR3H、ICR3L数据匹配:将产生一个输出比较中断,或改变数据匹配:将产生一个输出比较中断,或改变OCnx 的输出逻辑电平。的输出逻辑电平。可直接对可直接对T/C单元的单元的16 位计数器进行读写访问位计数器进行读写访问 与与TCNTn 中的计数值比较中的计数值比较 当外部引脚当外部引脚ICPn( 或或T/C1 的模拟比较器的模拟比较器) 有输入捕捉触发有输入捕捉触发信号产生时,计数器信号产生时,计数器TCNTn 中的值写入中的值写入ICR1中。中。7.3.3 与T/C相关的8位寄存器说明o8位中断屏蔽寄存器(TIMSK) nBit
43、 5 TICIE1: T/C1 输入捕捉中断使能nBit 4 OCIE1A:T/C1 输出比较 A 匹配中断使能nBit 3 OCIE1B:T/C1 输出比较 B 匹配中断使能nBit 2 TOIE1:T/C1 溢出中断使能o8位扩展中断屏蔽寄存器(ETIMSK)nBit 5 TICIE3:T/C3, 输入捕捉中断使能nBit 4 OCIE3A:T/C3 输出比较 A 匹配中断使能nBit 3 OCIE3B:T/C3 输出比较 B 匹配中断使能nBit 2 TOIE3:T/C3 溢出中断使能nBit 1 OCIE3C:T/C3 输出比较 C 匹配中断使能nBit 0 OCIE1C:T/C1 输
44、出比较 C 匹配中断使能7.3.3 与T/C相关的8位寄存器说明o8位中断标志屏蔽寄存器(TIFR) nBit 5 ICF1:T/C1 输入捕捉标志位nBit 4 OCF1A:T/C1 输出比较 A 匹配标志位nBit 3 OCF1B:T/C1 输出比较 B 匹配标志位nBit 2 TOV1:T/C1 溢出标志o8位扩展中断标志寄存器(ETIFR)nBit 5 ICF3:T/C3 输入捕捉标志位nBit 4 OCF3A:T/C3 输出比较 A 匹配标志位nBit 3 OCF3B:T/C3 输出比较 B 匹配标志位nBit 2 TOV3:T/C3 溢出标志nBit 1 OCF3C:T/C3 输出
45、比较 C 匹配标志位nBit 0 OCF1C:T/C1 输出比较 C 匹配标志位7.4 定时器/计数器的预分频器o预分频器的作用是对输入的时钟进行分频,产生定时器/计数器的工作时钟。T/ C0的预分频器的预分频器 T/C1、T/C2和和T/C3的的预分频器的的预分频器内容1、ATmega128的CPU内核2、ATmega128 存储器 3、系统时钟及其选项 4、系统控制和复位5、ATmega128 的中断向量 6、I/O端口7、定时器/ 计数器(T/C) 8、模数转换器 A/D 8、模数转换器 A/D o8.1 模数转换器特点o8.2 相关寄存器 o8.3 操作(启动一次转换)o8.4 预分频器o8.5 ADC转换结果处理8.1 模数转换器特点1.10 位逐次逼近型精度2.0.5 LSB 的非线性度, 2 LSB 的绝对精度3.13 - 260 s 的转换时间4.最高分辨率时采样率高达15kSPS5.8 路复用的单端输入通道6.7 路差分输入通道7.2 路可选增益为10 x 与200 x 的差分输入通道8.可选的左对齐ADC 读数9.0 - VCC 的 ADC 输入电压范围10.可选的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车美容师个性化服务设计与实施试题及答案
- 长沙高中测试题及答案解析
- 汽车维修专业人员的职业素养与要求试题及答案
- 湖北省部分普通高中联合体2021-2022学年高一下学期期中联考生物试卷(含答案)
- 2024年宠物营养科学与社会发展试题及答案
- 新消防法解读教育培训
- 2024年二手车评估基本知识试题及答案
- 湖北省黄石市经开区2022-2023学年三年级下学期英语期中试卷(含答案)
- 小自考视觉传播设计会议策划与组织技巧及试题及答案
- 传播设计中的用户满意度提升试题及答案
- 第四单元第九课第一框题 日益完善的法律体系 同步练习(无答案)2024-2025学年七年级下册道德与法治
- 2025年上海市各区中考语文一模卷【综合运用题】汇集练附答案解析
- 季度物业工作总结
- 2024全球感染预防与控制报告
- 第二单元+新音乐启蒙+课件【高效课堂精研】高中音乐粤教花城版必修音乐鉴赏
- 2025年全球创新生态系统的未来展望
- 体育业务知识培训课件
- 《淞沪会战》课件
- 《社区共治共建共享研究的国内外文献综述》4300字
- 软件代码审计与测试作业指导书
- 上消化道出血护理疑难病例讨论记
评论
0/150
提交评论