2490G–AVR–03/04产品特性•高性能、低功耗的8位AVR®微处理器•先进的RISC结构–130条指令–大多数指令执行时间为单个时钟周期–32个8位通用工作寄存器–全静态工作–工作于16MHz时性能高达16MIPS–只需两个时钟周期的硬件乘法器•非易失性程序和数据存储器–64K字节的系统内可编程Flash擦写寿命:10,000次–具有独立锁定位的可选Boot代码区通过片上Boot程序实现系统内编程真正的同时读写操作–2K字节的EEPROM擦写寿命:100,000次–4K字节片内SRAM–64K字节可选外部存储空间–可以对锁定位进行编程以实现用户程序的加密–通过SPI接口进行系统内编程•JTAG接口(与IEEE1149.1标准兼容)–符合JTAG标准的边界扫描功能–支持扩展的片内调试功能–通过JTAG接口实现对Flash、EEPROM、熔丝位和锁定位的编程•外设特点–两个具有独立预分频器和比较器功能的8位定时器/计数器–两个具有预分频器、比较功能和捕捉功能的扩展16位定时器/计数器–具有独立振荡器的实时计数器RTC–两路8位PWM通道–6路编程分辨率从1到16位可变的PWM通道–8路10位ADC8个单端通道7个差分通道2个具有可编程增益(1x,10x,或200x)的差分通道–面向字节的两线接口–可编程的串行USART–可工作于主机/从机模式的SPI串行接口–具有独立片内振荡器的可编程看门狗定时器–片内模拟比较器•特殊的处理器特点–上电复位以及可编程的掉电检测–片内经过标定的RC振荡器–片内/片外中断源–6种睡眠模式:空闲模式、ADC噪声抑制模式、省电模式、掉电模式、Standby模式以及扩展的Standby模式–软件选择时钟频率–熔丝位选择的ATmega103兼容模式–全局上拉禁止•I/O和封装–53个可编程的I/O口–64引脚TQFP封装,与64引脚MLF封装•工作电压–ATmega64L:2.7-5.5V–ATmega64:4.5-5.5V•速度等级–ATmega64L:0-8MHz–ATmega64:0-16MHz具有64KB系统内可编程Flash的8位微控制器ATmega64ATmega64L初稿2ATmega64(L)2490G–AVR–03/04引脚配置Figure1.ATmega64的引脚声明本数据手册的典型值来源于对器件的仿真,以及其他基于相同产生工艺的AVR微控制器的标定特性。本器件经过特性化之后将给出实际的昀大值和昀小值。1234567891011121314151648474645444342414039383736353433PENRXD0/(PDI)PE0(TXD0/PDO)PE1(XCK0/AIN0)PE2(OC3A/AIN1)PE3(OC3B/INT4)PE4(OC3C/INT5)PE5(T3/INT6)PE6(IC3/INT7)PE7(SS)PB0(SCK)PB1(MOSI)PB2(MISO)PB3(OC0)PB4(OC1A)PB5(OC1B)PB6PA3(AD3)PA4(AD4)PA5(AD5)PA6(AD6)PA7(AD7)PG2(ALE)PC7(A15)PC6(A14)PC5(A13)PC4(A12)PC3(A11)PC2(A10PC1(A9)PC0(A8)PG1(RD)PG0(WR)6463626160595857565554535251504917181920212223242526272829303132(OC2/OC1C)PB7TOSC2/PG3TOSC1/PG4RESETVCCGNDXTAL2XTAL1(SCL/INT0)PD0(SDA/INT1)PD1(RXD1/INT2)PD2(TXD1/INT3)PD3(IC1)PD4(XCK1)PD5(T1)PD6(T2)PD7AVCCGNDAREFPF0(ADC0)PF1(ADC1)PF2(ADC2)PF3(ADC3)PF4(ADC4/TCK)PF5(ADC5/TMS)PF6(ADC6/TDO)PF7(ADC7/TDI)GNDVCCPA0(AD0)PA1(AD1)PA2(AD2)TQFP/MLF3ATmega64(L)2490G–AVR–03/04综述ATmega64是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega64的数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。方框图Figure2.结构框图AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC微控制器昀高至10倍的数据吞吐率。PROGRAMCOUNTERINTERNALOSCILLATORWATCHDOGTIMERSTACKPOINTERPROGRAMFLASHMCUCONTROLREGISTERSRAMGENERALPURPOSEREGISTERSINSTRUCTIONREGISTERTIMER/COUNTERSINSTRUCTIONDECODERDATADIR.REG.PORTBDATADIR.REG.PORTEDATADIR.REG.PORTADATADIR.REG.PORTDDATAREGISTERPORTBDATAREGISTERPORTEDATAREGISTERPORTADATAREGISTERPORTDTIMINGANDCONTROLOSCILLATOROSCILLATORINTERRUPTUNITEEPROMSPIUSART0STATUSREGISTERZYXALUPORTBDRIVERSPORTEDRIVERSPORTADRIVERSPORTFDRIVERSPORTDDRIVERSPORTCDRIVERSPB0-PB7PE0-PE7PA0-PA7PF0-PF7RESETVCCAGNDGNDAREFXTAL1XTAL2CONTROLLINES+-ANALOGCOMPARATORPC0-PC78-BITDATABUSAVCCUSART1CALIB.OSCDATADIR.REG.PORTCDATAREGISTERPORTCON-CHIPDEBUGJTAGTAPPROGRAMMINGLOGICPENBOUNDARY-SCANDATADIR.REG.PORTFDATAREGISTERPORTFADCPD0-PD7DATADIR.REG.PORTGDATAREG.PORTGPORTGDRIVERSPG0-PG42-WIRESERIALINTERFACE4ATmega64(L)2490G–AVR–03/04ATmega64有如下特点:64K字节的系统内可编程Flash(具有同时读写的能力,即RWW),2K字节EEPROM,4K字节SRAM,53个通用I/O口线,32个通用工作寄存器,实时计数器(RTC),四个具有比较模式与PWM的灵活的定时器/计数器(T/C),两个USART,面向字节的两线串行接口,8路10位具有可选差分输入级可编程增益的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,与IEEE1149.1标准兼容的、可用于访问片上调试系统及编程的JTAG接口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU停止工作,而SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby模式下则允许振荡器和异步定时器继续工作。本芯片是以Atmel高密度非易失性存储器技术生产的。片内ISPFlash允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlashMemory)。在更新应用Flash存储区时引导Flash区(BootFlashMemory)的程序继续运行,实现了RWW操作。通过将8位RISCCPU与系统内可编程的Flash集成在一个芯片内,ATmega64成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。ATmega64具有一整套的编程与系统开发工具,包括:C语言编译器、宏汇编、程序调试器/软件仿真器、仿真器及评估板。ATmega103与ATmega64兼容性ATmega64是有极高灵活性的微控制器,其I/O地址取代AVR指令集中保留的64个I/O地址。为保证与ATmega103兼容,ATmega64芯片将ATmega103中的所有I/O地址的位置保留。大部分附加I/O地址在从0x60到0xFF的扩展I/O空间中(即,在ATmega103内部RAM空间)。在这些地址只能使用LD/LDS/LDD与ST/STS/STD指令,而不能使用IN与OUT指令。对ATmega103用户而言,内部RAM空间的重新定位仍然是个问题;同时若代码使用绝对地址,则中断向量数目的增加也是一个问题。通过对熔丝位M103C编程选择ATmega103兼容模式,可解决该问题。该模式下,不使用扩展I/O空间中的功能,同样,删除扩展中断向量。ATmega64引脚与ATmega103100%兼容,也可在电路印刷板上替换ATmega103。下面给出替换时的注意事项。5ATmega64(L)2490G–AVR–03/04ATmega103兼容模式通过对熔丝位M103C编程,ATmega64可以和ATmega103兼容。但在兼容模式下,ATmega64的某些特性无效,具体如下:•异步模式下,只有一个USART。波特率寄存器中只有低8位有效。•一个有两个比较寄存器的16位T/C代替两个有三个比较寄存器的T/C。•不支持两线串行接口。•端口G只有第二功能(非通用I/O端口)。•端口F作为ADC的模拟与数字输入端。•不支持Boot下载功能。•内部标定RC振荡器频率不可调。•外部存储器接口不能释放地址引脚,也不能对不同的外部擦除地址段分配不同的等待状态。•MCUCSR寄存器中只有EXTRF与PORF。•看门狗超时改变不需时序。•八个外部中断源中只能使用低优先级的四个中断。•端口C只作为输出。•USART没有FIFO,因此数据溢出更快。•对未用的I/O位必须置0。引脚说明VCC数字电路的电源GND地端口A(PA7..PA0)端口A为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。端口A也可以用做其他不同的特殊功能,请参见P69。端口B(PB7..PB0)端口B为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。端口B也可以用做其他不同的特殊功能,请参见P70。6ATmega64(L)2490G–AVR–03/04端口C(PC7..PC0)端口C为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C处于高阻状态。端口C也可以用做其他不同的特殊功能,请参见P73。在ATmega103兼