首页 ATmega328P中文翻译资料要点

ATmega328P中文翻译资料要点

举报
开通vip

ATmega328P中文翻译资料要点产品特点•高性能,低功耗的AVR(R)8位微控制器•先进的RISC结构-131条指令-绝大多数为单时钟周期执行-32个8位通用工作寄存器-全静态工作-高达20MIPS的吞吐量在20兆赫-片上2周期乘法器•高耐用性非挥发性记忆体段-4/8/16/的在系统内可编程的Flash课程校内存32K字节(ATMEGA48PA/88PA/168PA/328P)-256/512/512/1K字节的EEPROM(ATMEGA48PA/88PA/168PA/328P)-512/1K/1K/2K字节的片内SRAM(ATMEGA48PA/...

ATmega328P中文翻译资料要点
产品特点•高性能,低功耗的AVR(R)8位微控制器•先进的RISC结构-131条指令-绝大多数为单时钟周期执行-32个8位通用工作寄存器-全静态工作-高达20MIPS的吞吐量在20兆赫-片上2周期乘法器•高耐用性非挥发性记忆体段-4/8/16/的在系统内可编程的Flash课程校内存32K字节(ATMEGA48PA/88PA/168PA/328P)-256/512/512/1K字节的EEPROM(ATMEGA48PA/88PA/168PA/328P)-512/1K/1K/2K字节的片内SRAM(ATMEGA48PA/88PA/168PA/328P)-写/擦除周期:10,000闪存/EEPROM100000-数据保存:20岁,在85℃/百年,在25℃(1)-可选Boot代码区具有独立锁定位在系统编程通过片上引导程序真正的同时读-写操作-锁编程软件安全•外设特点-2个8位定时器/计数器具有独立预分频器和比较模式-1个16位定时器/计数器具有独立预分频器,比较功能和捕捉模式-实时计数器具有独立振荡器-六个PWM通道-8通道10位ADC的TQFP和QFN/MLF封装温度测量-6通道10位ADCPDIP封装温度测量-可编程的串行USART-主/从SPI串行接口-面向字节的两线串行接口(飞利浦I2C兼容)-可编程看门狗定时器具有独立片内振荡器-片内模拟比较器-中断和唤醒引脚电平变化•单片机的特殊功能-上电复位和可编程的掉电检测-内部校准振荡器-外部和内部中断源-六休眠模式:空闲模式,ADC噪声抑制,省电,掉电,待机,和扩展Standby•的I/O和封装-23可编程I/O线-28引脚PDIP,32引脚TQFP封装,28焊盘QFN/MLF以及32焊盘的QFN/MLF•工作电压:-1.8-5.5V的ATMEGA48PA/88PA/168PA/328P•温度范围:--40℃至85℃•速度等级:-0-20MHz的@1.8-5.5V•低功耗在1MHz,1.8V,25℃ATMEGA48PA/88PA/168PA/328P:-主动模式:0.2毫安-掉电模式:0.1μA-省电模式:0.75μA(包括32千赫,RTC)8位微控制器具有4/8/16/32K字节的系统可编程闪光ATMEGA48PAATMEGA88PAATMEGA168PAATMEGA328P牧师8161D-AVR-10月9日28161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P1引脚配置图1-1。引出线ATMEGA48PA/88PA/168PA/328P123456782423222120191817(PCINT19/OC2B/INT1)PD3(PCINT20/XCK/T0)PD4GNDVCCGNDVCC(PCINT6/XTAL1/TOSC1)PB6(PCINT7/XTAL2/TOSC2)PB7PC1(ADC1/PCINT9)PC0(ADC0/PCINT8)ADC7GNDAREFADC6AVCCPB5(SCK/PCINT5)3231302928272625910111213141516(PCINT21/OC0B/T1)PD5(PCINT22/OC0A/AIN0)PD6(PCINT23/AIN1)PD7(PCINT0/CLKO/ICP1)PB0(PCINT1/OC1A)PB1(PCINT2/不锈钢/OC1B)PB2(PCINT3/OC2/MOSI)PB3(PCINT4/MISO)PB4PD2(INT0/PCINT18)PD1(TXD/PCINT17)PD0(RXD/PCINT16)PC6(RESET/PCINT14)PC5(ADC5/SCL/PCINT13)PC4(ADC4/SDA/PCINT12)PC3(ADC3/PCINT11)PC2(ADC2/PCINT10)TQFP封装顶视图12345678910111213142827262524232221201918171615(PCINT14/RESET)PC6(PCINT16/RXD)PD0(PCINT17/TXD)PD1(PCINT18/INT0)PD2(PCINT19/OC2B/INT1)PD3(PCINT20/XCK/T0)PD4VCCGND(PCINT6/XTAL1/TOSC1)PB6(PCINT7/XTAL2/TOSC2)PB7(PCINT21/OC0B/T1)PD5(PCINT22/OC0A/AIN0)PD6(PCINT23/AIN1)PD7(PCINT0/CLKO/ICP1)PB0PC5(ADC5/SCL/PCINT13)PC4(ADC4/SDA/PCINT12)PC3(ADC3/PCINT11)PC2(ADC2/PCINT10)PC1(ADC1/PCINT9)PC0(ADC0/PCINT8)GNDAREFAVCCPB5(SCK/PCINT5)PB4(MISO/PCINT4)PB3(MOSI/OC2/PCINT3)PB2(SS/OC1B/PCINT2)PB1(OC1A/PCINT1)PDIP123456782423222120191817323130292827262591011121314151632MLF顶视图(PCINT19/OC2B/INT1)PD3(PCINT20/XCK/T0)PD4GNDVCCGNDVCC(PCINT6/XTAL1/TOSC1)PB6(PCINT7/XTAL2/TOSC2)PB7PC1(ADC1/PCINT9)PC0(ADC0/PCINT8)ADC7GNDAREFADC6AVCCPB5(SCK/PCINT5)(PCINT21/OC0B/T1)PD5(PCINT22/OC0A/AIN0)PD6(PCINT23/AIN1)PD7(PCINT0/CLKO/ICP1)PB0(PCINT1/OC1A)PB1(PCINT2/不锈钢/OC1B)PB2(PCINT3/OC2/MOSI)PB3(PCINT4/MISO)PB4PD2(INT0/PCINT18)PD1(TXD/PCINT17)PD0(RXD/PCINT16)PC6(RESET/PCINT14)PC5(ADC5/SCL/PCINT13)PC4(ADC4/SDA/PCINT12)PC3(ADC3/PCINT11)PC2(ADC2/PCINT10)注:底部垫应焊接到地面。1234567212019181716152827262524232289101112131428MLF顶视图(PCINT19/OC2B/INT1)PD3(PCINT20/XCK/T0)PD4VCCGND(PCINT6/XTAL1/TOSC1)PB6(PCINT7/XTAL2/TOSC2)PB7(PCINT21/OC0B/T1)PD5(PCINT22/OC0A/AIN0)PD6(PCINT23/AIN1)PD7(PCINT0/CLKO/ICP1)PB0(PCINT1/OC1A)PB1(PCINT2/不锈钢/OC1B)PB2(PCINT3/OC2/MOSI)PB3(PCINT4/MISO)PB4PC2(ADC2/PCINT10)PC1(ADC1/PCINT9)PC0(ADC0/PCINT8)GNDAREFAVCCPB5(SCK/PCINT5)注:底部垫应焊接到地面。38161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P1.1引脚说明1.1.1VCC数字电源电压。1.1.2接地地面上。1.1.3端口B(PB7:0)XTAL1/XTAL2/TOSC1/TOSC2端口B为8位双向I/O和内部上拉电阻(选择的每一位)端口。该B口输出缓冲器具有既吸收大电流源对称的驱动特性能力。作为输入,端口B引脚被外部电路拉低时将输出电流,如果上拉电阻器被激活。端口的引脚为三态时,复位过程中,即使系统时钟没有运行。根据不同的时钟选择熔丝设置,PB6可以作为输入到反相振荡器放大器和输入到内部时钟工作电路。根据不同的时钟选择熔丝设置,PB7可作为从反相输出振荡器放大器。如果内部标定RC振荡器作为系统时钟源,PB7..6作为TOSC2..1输入的异步定时器/计数器,如果在ASSR寄存器的AS2位。不同的特殊功能的端口B的页面上阐述了“端口B的第二功能”第26页82和“系统时钟及时钟选项”。1.1.4端口C(PC5:0)端口C为7位双向I/O和内部上拉电阻(选择的每一位)端口。该PC5..0输出缓冲器具有同时具有高汇和源对称的驱动特性能力。作为输入,端口C引脚被外部电路拉低时将输出电流,如果上拉电阻器被激活。端口C引脚为三态时,复位过程中,即使系统时钟没有运行。1.1.5PC6/复位如果RSTDISBL位被编程,PC6作为一个I/O引脚。注意,电特性PC6的不同与端口C的其他引脚如果RSTDISBL位未编程,PC6作为复位输入。该引脚上的低电平比最小脉冲长度较长会产生复位,即使系统时钟没有运行。的最小脉冲长度列于表28-3页上的318短的脉冲则不能保证产生复位。不同的特殊功能端口C的页面上阐述了“备用端口C的功能”85。1.1.6端口D(PD7:0)端口D为8位双向I/O和内部上拉电阻(选择的每一位)端口。该端口D输出缓冲器具有同时具有高汇和源对称的驱动特性能力。作为输入,端口D引脚被外部电路拉低时将输出电流,如果上拉电阻器被激活。端口D引脚为三态时,复位过程中,即使系统时钟没有运行。48161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P不同的特殊功能端口D都页阐述了“备用端口D的功能”88。1.1.7AVCCAVCC是电源电压引脚为A/D转换器,PC3:0,ADC7:6。它应该是外部连接到VCC,即使不使用ADC。如果ADC被使用时,它应连接到VCC通过一个低通滤波器。需要注意的是PC6..4使用数字供电电压VCC。1.1.8AREFAREF是模拟基准输入引脚为A/D转换器。1.1.9ADC7:6(TQFP和QFN/MLF封装)在TQFP和QFN/MLF封装,ADC7:6作为模拟输入到A/D转换器。这些引脚的模拟电源供电,并作为10位ADC通道。58161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P二,产品简介该ATMEGA48PA/88PA/168PA/328P是一款基于低功耗8位CMOS微控制器增强的AVRRISC架构。通过在单个时钟周期内执行强大的指令,ATMEGA48PA/88PA/168PA/328P的数据吞吐率1MIPS每MHz,从而可以系统设计师能够优化功耗和处理速度之间。2.1框图图2-1。框图AVR内核具有丰富的指令集和32个通用工作寄存器。所有寄存器都直接连接到所述算术逻辑单元(ALU),允许两个独立的寄存器中在一个时钟周期中执行一个指令来访问。由此产生的68161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P建筑是提高了代码效率,同时实现最高至10倍,比传统快CISC微控制器。该ATMEGA48PA/88PA/168PA/328P提供了以下功能:4K/8K字节的系统内的可编程闪存与同时读-写功能,256/512/512/1K字节EEPROM,512/1K/1K/2K字节的SRAM,23个通用I/O口线,32个通用工作寄存器,三种灵活的定时器/计数器具有比较模式,内部和外部中断,可编程串行USART,面向字节的两线串行接口,一个SPI串行端口,一个6通道10位模数转换器(8路为TQFP和QFN/MLF封装),一个可编程看门狗定时器内部振荡器和五个软件选择的省电模式。在空闲模式下停止CPU的工作,而SRAM,定时器/计数器,USART,两线串行接口,SPI端口以及中断系统继续工作。在掉电模式保存登记内容,但冻结振荡器,禁用所有其他芯片功能,直到下一个中断或硬件复位。在省电模式下,异步定时器继续运行,允许用户保持一个而该装置的其余部分处于休眠状态计时器基。ADC噪声抑制模式时终止CPU和除了异步定时器和ADC的所有I/O模块,以最大限度地减少开关噪声ADC转换。在待机模式下,晶体/谐振振荡器运行,其余该设备是在睡觉。这允许非常快速启动结合低功耗。该设备是采用Atmel的高密度非易失性存储器技术生产的。该片上ISPFlash允许程序存储器通过SPI进行在系统编程串行接口,通过常规的非易失性存储器编程,或者通过一个片上的引导程序在AVR内核上运行。引导程序可以使用任意接口下载在应用程序的闪存应用程序。在引导Flash软件继续运行,而应用Flash区更新,提供真正的同时读-写操作。通过在将8位RISCCPU与系统内可编程闪存单片芯片,Atmel的ATMEGA48PA/88PA/168PA/328P是一款功能强大的单片机,提供了高度灵活和成本效益的解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 为许多嵌入式控制应用。该ATMEGA48PA/88PA/168PA/328PAVR具有一整套的编程与系统开发工具,包括:C语言编译器,宏汇编,程序调试器/模拟器,在电路仿真器和评估板。间ATMEGA48PA,ATMEGA88PA,ATMEGA168PA和ATMEGA328P2.2对比该ATMEGA48PA,ATMEGA88PA,ATMEGA168PA和ATMEGA328P的区别仅在于内存大小,支持引导装入程序,中断向量的大小。表2-1 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 了不同的记忆和中断向量的大小为三个设备。ATMEGA88PA,ATMEGA168PA和ATMEGA328P支持真正的同时读-写自编程机制。有一个单独的BootLoader区,SPM指令可以从那里只执行。在ATMEGA48PA,没有同时读-写支持,没有独立的BootLoader区。SPM指令可以访问整个Flash中执行。表2-1。内存大小总结设备闪存EEPROM内存中断向量大小ATMEGA48PA4K字节256字节512字节1指令字/矢量ATMEGA88PA8K字节512字节1K字节1指令字/矢量ATMEGA168PA16K字节512字节1K字节2个指令字/矢量ATMEGA328P32K字节1K字节2K字节2个指令字/矢量78161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P3资源一套全面的开发工具,应用手册和数据表都可以下载的http://www.atmel.com/avr。注意事项:1。4,数据保存时间可靠性鉴定结果表明,该投影数据保留故障率要少得多于1ppm超过20年,在85℃或百年在25℃。5,关于代码示例该文档包含了一些简单的代码例子以说明如何使用各种零件设备。这些代码示例假定的头文件包含前编译。请注意,并非所有的C编译器厂商包括在头文件的位定义和中断处理中的C是编译器的依赖。请确认与C编译器文档了解更多详情。对于I/O寄存器为扩展I/O映射,“IN”,“OUT”,“SBIS”,“SBIC”,“CBI”与“CBR”指令必须被替换指令,允许访问扩展I/O操作。通常“IN”,结合“SBRS”,“STS”,“SBRC”,“SBR”与“CBR”。88161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P6,AVRCPU内核6.1概述本节讨论AVR内核的结构一般。CPU芯的主要功能是保证程序的正确执行。因此,CPU必须能够访问存储器,执行运算,控制外设以及处理中断。图6-1。AVR结构的方框图为了获得最高的性能以及并行性,AVR采用了Harvard结构-用独立的记忆和公共汽车程序和数据。在程序存储器中的指令是通过一级流水线运行。当一个指令被执行时,下一条指令从程序存储器预取。这个概念实现了将要执行的指令在每一个时钟周期。程序存储器在系统内可编程Flash存储器。快速访问寄存器文件包括工作寄存器,一个32×8位通用时钟周期的访问时间。这允许单周期算术逻辑单元(ALU)运算。在的典闪光节目内存说明注册说明解码器节目计数器控制线32×8一般用途RegistrersALU状态与控制I/O线EEPROM数据总线的8位数据SRAM中断单位SPI单位看门狗定时器模拟比较I/O模块2I/O模块1I/O模块n98161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P的ALU操作中,两个操作数从寄存器文件输出,执行该操作,并将结果存回寄存器文件-在一个时钟周期。六的32个寄存器可以用作3个16位的间接寻址寄存器指针数据空间寻址-实现高效的地址运算。其中这些地址指针也可以用作为地址指针为查找表在闪存程序存储器。这些附加的功能寄存器是16位的X,Y,Z寄存器,在本节后面介绍。ALU支持寄存器之间或常数之间的算术和逻辑运算一个寄存器。单寄存器操作也可以在ALU中执行的。算术运算后,状态寄存器的内容得到更新以反映该操作的结果的信息。程序 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 通过无条件的跳转指令和调用指令,能够提供直接寻址整个地址空间。多数指令有一个16位字格式。每个程序存储器地址包含一个16位或32位的指令。程序存储器空间分为两个区:引导程序区和应用程序区。这两个区都有专门的锁定位以实现读和读/写保护。SPM指令写入到应用程序区必须位于引导程序区。在中断和调用子程序时返回地址的程序计数器(PC)保存在堆叠。堆栈实际上分配在通用数据SRAM,因此其深度大小仅受限于SRAM的大小和SRAM的使用情况。所有的用户程序必须初始化复位例程的SP(前子程序或中断执行)。堆栈指针(SP)的读/写在I/O空间。数据SRAM可以很容易地访问通过AVR架构支持的五种不同的寻址模式。在AVR架构的内存空间都是线性的存储器映射。一个灵活的中断模块具有一个额外的全局的I/O空间的控制寄存器中断状态寄存器使能位。所有的中断都具有一个独立的中断向量在中断向量表。该中断的优先级与其在中断向量表的位置。较低的中断向量地址,优先级越高。在I/O存储器空间包含64个地址,作为CPU外设的控制寄存器,SPI,以及其他I/O功能。在I/O内存可以直接访问,或作为数据空间位置下面这些寄存器文件,地址0x20-0x5F的。此外,该ATMEGA48PA/88PA/168PA/328P已经扩展I/O空间段0x60-0xFF的SRAM中,其中只能使用ST/STS/STD和LD/LDS/LDD指令都可以使用。6.2ALU-算术逻辑单元高性能的AVRALU与所有32个通用的直接连接工作寄存器。在一个时钟周期内,通用的算术运算寄存器或寄存器之间立即执行。ALU操作分为分为三个主要类别-算术,逻辑和位操作。的一些实现架构还提供了强大的乘数同时支持有符号/无符号乘法运算和小数格式。请参阅“指令集”部分进行了详细的描述。6.3状态寄存器状态寄存器包含了最近执行的算术的结果信息指令。此信息可以执行用于改变程序流程条件操作。请注意,状态寄存器的所有ALU运算更新,108161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P在指令集指定。这将在许多情况下就不需要为使用专门的比较指令,从而更快,更紧凑的代码。状态进入中断服务程序时,注册是不会自动保存和恢复从中断返回时。这必须由软件来处理。6.3.1SREG-AVR中断寄存器AVR中断寄存器-SREG-定义为:•位7-I:全局中断使能全局中断使能位必须设置为启用中断。各个中断使能由其他独立的控制寄存器控制。如果全局中断使能寄存器清零,没有任何中断都将启用独立的个体中断启用设置。在I位由硬件清零发生中断后,由设置RETI指令以使能中断。中的I位也可以被设置并通过清除SEI和CLI指令的应用程序,如在指令集的参考说明。•位6-T:位拷贝存储位拷贝指令BLD(位负载)和BST(位存储)使用T字位为源或目标在操作位。从寄存器文件寄存器的位可以被拷贝到TBST指令,并在TA位可以通过复制到一个位在寄存器中的寄存器文件BLD指令。•位5-H:半进位标志半进位标志H表示半进一些算术运算。此标志是很有用的BCD运算。请参阅“指令集”的说明信息。•位4-S:符号位,S=NV在S位始终是一个排他性或负数标志N与2的补间溢出标志V“指令集”的说明信息。•位3-V:2的补码溢出标志二进制补码溢出标志V支持2的补码运算。见“指令集”的说明信息。•位2-N:负标志负标志N表示阴性结果算术或逻辑运算。见“指令集”的说明信息。•位1-Z:零标志零标志Z为结果为零算术或逻辑运算。请参见“指令设置说明“的详细信息。•位0-C:进位标志进位标志C表示进位算术或逻辑运算。请参阅“指令集说明“的详细信息。位76543210的0x3F(0x5F的)ITHS测定为VNz对于CSREG读/写读/写读/写读/写读/写读/写读/写读/写读/写初始值00000000118161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P6.4通用寄存器文件寄存器文件进行了优化,对AVR增强型RISC指令集。为了实现所需要的性能和灵活性,以下的输入/输出方案的支持寄存器文件:•一个8位输出操作数和一个8位结果输入•两个8位输出操作数和一个8位结果输入•两个8位输出操作数和一个16位结果输入•一个16位输出操作数和一个16位结果输入图6-2显示了CPU32个通用工作寄存器的结构。图6-2。AVRCPU通用工作寄存器大部分的操作寄存器文件的指令都可以直接访问所有的寄存器,并他们大多是单周期指令。如图6-2所示,每个寄存器都有一个数据内存地址,它们映射直接到用户数据空间的头32个地址。虽然没有实际的物理空间如SRAM,这种内存组织中的访问提供了极大的灵活性寄存器,当X,Y和Z指针寄存器可以设置到索引文件中的任何寄存器。70地址。R0为0x00R10×01R20X02......R130X0D一般R140x0E的目的R15为0x0F工作R16为0x10寄存器R17为0x11......R260X1AX寄存器低字节R270X1BX寄存器高字节R28为0x1CY寄存器低字节R290x1DY寄存器,寄存器,高字节R300X1EZ寄存器低字节R31为0x1FZ寄存器高字节128161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P6.4.1X寄存器,Y寄存器和Z寄存器该寄存器R26..R31有一些附加功能,其一般用途的使用。这些寄存器有16位地址指针的间接寻址数据空间。这三个间接地址寄存器X,Y和Z被定义为在图6-3中描述。图6-3。的X,Y和Z寄存器在不同的寻址模式中,这些地址寄存器可以实现固定偏移量,自动加一和自动减一(详见指令集参考)。6.5堆栈指针 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 栈主要用于存储临时数据,用于存储局部变量和存储中断和子程序调用后返回地址。请注意,该协议栈实现从高增长到低内存位置。堆栈指针总是指向堆栈的顶部。堆栈指针指向数据SRAM堆栈区所在的子程序和中断堆栈。在压入堆栈指令将减少堆栈指针。在数据SRAM堆栈必须由程序定义的子程序调用前执行或中断使能。初始堆栈指针的值等于的最后一个地址内部SRAM和堆栈指针必须设置为指向的SRAM上面开始,见表73第18页。见表6-1堆栈指针的详细信息。AVR的堆栈指针被实现为两个8位寄存器中的I/O空间。数实际使用的位是依赖于实现。注意,在一些实现中,数据空间AVR架构是如此之小,只有SPL就足够了。在这种情况下,SPH寄存器将不存在。15XHXL0X寄存器7070R27(0X1B)R26(0X1A)15YHYL0Y寄存器7070R29(0x1D),R28(0x1C处)15ZH:ZL0Z寄存器7070R31(0x1F的),R30(0X1E)表6-1。堆栈指针指示指令堆栈指针说明PUSH由1递减的数据压入堆栈认购证ICALLRCALL2递减返回地址被压入堆栈子程序调用或中断的POP由1递增的数据是从堆栈中弹出RETRETI2返回地址递增从堆栈中弹出与回报子程序或中断返回138161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P6.5.1SPH和SPL-堆栈指针高,堆栈指针寄存器低6.6指令执行时序本节描述的访问时序概念指令执行。AVR的CPU通过CPU时钟clkCPU驱动直接从所选择的时钟源所生成的芯片。没有内部时钟进行分频。图6-4显示并行指令取指和哈佛启用的指令执行建筑和快速访问寄存器文件的概念。这是一个基本的流水线概念获得高达1MHz的MIPS与每个成本函数相应的独特的结果,每时钟功能,并且每个电源单元的功能。图6-4。并行取指和指令执行图6-5显示的是寄存器文件内部访问时序。在一个时钟周期的ALU执行使用两个寄存器中的操作数的操作,并把结果存回至目的地注册。图6-5。单时钟周期ALU操作位151413121110980x3E的(0x5e者)SP15,SP14,SP13,SP12,SP11,SP10SP9SP8SPH0x3D之间(0x5D)SP7SP5SP6SP4SP3SP2SP1SP0声压级76543210读/写读/写读/写读/写读/写读/写读/写读/写读/写读/写读/写读/写读/写读/写读/写读/写读/写初始值RAMENDRAMENDRAMENDRAMENDRAMENDRAMENDRAMENDRAMENDRAMENDRAMENDRAMENDRAMENDRAMENDRAMENDRAMENDRAMENDCLK第一次取指令第一指令执行第二个指令获取第二个指令执行3取指令3指令执行4取指令T1T2T3T4中央处理器总执行时间寄存器操作数取ALU操作执行结果回写T1T2T3T4了clkCPU148161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P6.7复位和中断处理AVR有不同的中断源。每个中断和复位分开矢量各有程序存储空间一个单独的程序载体。所有中断自己的使能必须写入逻辑1连同全局中断位使在该状态寄存器位,以使该中断。根据该计划计数器值,中断可能被自动引导锁定位BLB02或BLB12被禁用被编程。这个特性提高了软件的安全性。请参见“存储器编程”有关详细信息,294页。在程序存储区的最低地址缺省为复位和中断向量。完整的向量列表第57页的名单也列于“中断”决定了不同中断的优先级。下的地址中较高的优先级。RESET具有最高的优先级,第二个为INT0-外部中断请求0,中断向量可以通过设置IVSEL转移到Boot区的起始在MCU控制寄存器(MCUCR)位。请参阅“中断”在49页以了解更多信息。复位向量也可以通过编程转移到Boot区的起始熔丝位BOOTRST,请参阅“支持引导装入程序-同时读-写自编程,ATMEGA88PA,277页ATMEGA168PA和ATMEGA328P“。当中断发生时全局中断使能位I被清零,所有中断被禁止。用户软件可以编写逻辑一到I位使能中断嵌套。全部启用然后中断都可以中断当前的中断服务程序。在I位被自动设定时,执行-从中断返回指令-RETI指令。基本上有两种类型的中断。第一类型是由用于设置事件触发中断标志。对于这些中断,程序计数器跳转到实际的中断向量为了执行中断处理程序,同时硬件将清除相应的中断标志。中断标志也可以通过写1到标志位的位置被清除(S)被清除。如果在相应的中断使能位是发生中断条件清除中断标志位被置一直保持到中断执行,或者该标志通过软件清零。同样,如果出现一个或多个中断条件,而全局中断使能位被清零,相应的中断标志位被置一直保持到全局中断使能位被置位,然后会根据优先顺序来执行。第二种类型的中断将触发只要中断条件是否存在。这些中断不需要中断标志。如果中断状态前消失中断使能,中断不会被触发。当AVR退出中断,它总是返回到主程序和执行一个之前的任何挂起的中断更多的指令提供服务。请注意,状态进入中断服务程序时,寄存器不会自动存储,也不从中断程序返回时恢复。这必须由软件来处理。当使用CLI指令来禁止中断时,中断将立即停用。没有中断将CLI指令后执行,即使它同时出现的CLI指令。下面的示例演示如何可以用来避免在中断定时EEPROM写序。158161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P使用SEI指令使能中断时,紧跟其后的指令被执行任何中断之前,如本例中所示。6.7.1中断响应时间所有已启用AVR中断响应中断为4个时钟周期最小。经过四个时钟周期,程序跳转到实际的中断处理程序被执行。在这4个时钟周期,程序计数器被压入堆栈。载体通常是跳转到中断服务程序,此跳需要3个时钟周期。如果执行的多周期指令执行期间发生中断时,该指令完成中断服务之前。若中断发生时MCU处于休眠模式,中断执行响应时间增加4个时钟周期。该增长来自除启动从所选择的睡眠模式时间。从中断处理程序返回需要4个时钟周期。在这四个时钟周期,程序计数器(2字节)从堆栈中弹出返回,堆栈指针加二,和SREG的I位被置位。汇编代码例程C代码示例汇编代码例程C代码示例168161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P7,AVR回忆7.1概述本节介绍了ATMEGA48PA/88PA/168PA/328P不同的回忆。AVR的结构具有两个主要的存储器空间,数据存储器和程序存储器空间。此外,ATMEGA48PA/88PA/168PA/328P还有EEPROM存储器以保存数据。这三个存储器空间都为线性的。7.2在系统内可编程闪存程序存储器该ATMEGA48PA/88PA/168PA/328P具有4/8/16/32K字节的片上系统内编程闪存用于程序存储。因为所有的AVR指令为16位或32位宽,Flash组织成2/4/8/16K×16。对于软件的安全性,闪存程序存储器空间被分成两部分,在BootLoader区和应用程序区ATMEGA88PA和ATMEGA168PA。请参见章节“SPMCSRSELFPRGEN描述-商店有关详细信息,292页的程序存储器控制和状态寄存器“。Flash存储器至少10,000写/擦除周期耐力。该ATMEGA48PA/88PA/168PA/328P程序计数器(PC)为11/12/13/14位,因此可以寻址在2/4/8/16K的程序存储器空间。引导程序区的运作和有关Boot锁定位的软件保护进行了详细的“自编程描述在Flash中,ATMEGA48PA“269页和”支持引导装入程序-同时读-写自编程,ATMEGA88PA,“277页上的”ATMEGA168PA和ATMEGA328P记忆编程“294页包含闪存编程的详细说明在支持SPI或并行编程模式。常数可以保存于整个程序存储器地址空间(参考LPM内分配-加载程序存储器指令的说明)。时序图的取指令和执行“指令执行时序”呈现在第13页。178161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P图7-1。程序存储器映射ATMEGA48PA图7-2。程序存储器映射ATMEGA88PA,ATMEGA168PA和ATMEGA328P为0x00000x7FF的程序存储器应用Flash存储区为0x00000x0FFF/0x1FFF的/0x3FFF程序存储器应用Flash存储区Boot区188161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P7.3SRAM数据存储器图7-3显示了ATMEGA48PA/88PA/168PA/328PSRAM空间的组织。该ATMEGA48PA/88PA/168PA/328P是一个复杂的微控制器,更多的外围设备比所用的操作码留给IN和OUT的64个单元中被支持说明。对于扩展的I/O空间0x60-0xFF的SRAM中,只能使用ST/STS/STD和LD/LDS/LDD指令都可以使用。下768/1280/1280/2303数据存储器包括了寄存器文件,I/O内存,扩展的I/O存储器及内部数据SRAM。第32个地址为寄存器文件,然后是64个 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 I/O内存,160个扩展I/O存储器,以及下一个512/1024/1024/2048字节的内部数据SRAM。对于数据存储器的五个不同的寻址方式:直接,间接与位移,间接寻址,带预减和间接带后增量。在注册文件中的寄存器R26到R31为间接寻址的指针寄存器。直接寻址范围可达整个数据空间。间接与位移方式达到从给定的基址63个地址由y或z注册。当使用带预减和后增量的间接寻址模式,地址寄存器X,Y,和Z的增加或减少。32个通用工作寄存器,64个I/O寄存器,160个扩展I/O寄存器及在512/1024/1024/2048字节的ATMEGA48PA/88PA/168PA/328P的内部数据SRAM可通过所有上述的寻址模式进行访问。寄存器文件中的“常规说明第11页上的通用寄存器文件“。图7-3。数据存储器映射32个寄存器64个I/O寄存器内部SRAM(512/1024/1024/204X)为0x0000-0x001F为0x0020-0x005F0x04FF/0x04FF/0x0FF/0X0FF0x0060上-为0x00FF数据存储器160外部的I/O寄存器。0100198161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P7.3.1数据存储器访问时间本节描述的访问时序内部存储器的访问。该在图7-4中所述两个clkCPU时钟内部数据SRAM访问执行。图7-4。片上数据SRAM存取周期7.4EEPROM数据存储器该ATMEGA48PA/88PA/168PA/328P有256/512/512/1K字节的EEPROM数据存储器。它是作为一个独立的数据空间,其中可以按字节读写。该EEPROM至少有100,000次写/擦除周期耐力。之间的访问EEPROM和CPU在下面被描述,指定EEPROM地址寄存器,EEPROM数据寄存器和EEPROM控制寄存器。“存储器编程”页294包含了详细的描述上EEPROM编程在SPI或并行编程模式。7.4.1EEPROM读/写访问EEPROM的访问寄存器位于I/O空间。EEPROM的写访问时间如表7-2所示。自定时功能,但是,可以让用户软件监测何时开始下一个字节可以被写入。如果用户代码包含指令写入EEPROM中,有些必须采取预防措施。在重滤波电源耗材,VCC很可能会上升或下降缓慢上电/下。这使得该设备的一些的时间周期,以在电压低于规定的最小为所用的时钟频率运行。请参阅第20页上的“防止EEPROM的腐败”的详细信息,如何避免这些问题的情况。为了防止无意识的EEPROM写操作,一个特定的写程序必须遵守。指的是EEPROM控制寄存器有关此详细说明。当执行EEPROM读操作时,CPU停止工作4个周期前的下一条指令执行。当EEPROM的写入,CPU会先下一停止两个时钟周期指令被执行。CLKWRRD数据数据地址地址有效T1T2T3计算地址读写中央处理器存储器访问指令下一条指令208161D-AVR-10月9日ATMEGA48PA/88PA/168PA/328P7.4.2预防腐败的EEPROM在低VCC期间,EEPROM中的数据可以被损坏,因为电源电压过低,CPU和正确操作的EEPROM中。这些问题都是一样的用板级系统的EEPROM,和相同的设计解决方案应该应用。一个EEPROM数据损坏有两种情况引起的,当电压过低。首先,经常写序列EEPROM中,需要一个最低电压正常运行。其次,CPU本身可以执行指令不正确,如果电源电压过低。EEPROM数据损坏的问题可以通过以下方法解决:请在电源电压不足的时期AVRRESET信号(低电平)。这可以通过使内部欠压检测器(BOD)来完成。如果内部的检测电平董事会没有必要的检测水平相匹配,外部复位保护电路可可以使用。如果发生复位而写操作正在进行中,写操作将完成提供的电源电压是足够的。7.5I/O存储器在ATMEGA48PA/88PA/168PA/328P的I/O空间定义显示在“注册摘要”在423页。所有ATMEGA48PA/88PA/168PA/328PI/O和外设都被放置在I/O空间。所有I/O位置都可以通过LD/LDS/LDD和ST/STS/STD指令来访问,传输数据32个通用工作寄存器和I/O之间。I/O寄存器内地址范围为0x00-0x1F直接位访问使用SBI和CBI指令。在这些寄存器中,单个的比特的值可以通过使用SBIS和SBIC指令进行检查。请参考更多详细信息,指令集。在当使用的I/O特定的命令和OUT的I/O地址在0x00-0x3F必须使用。当寻址的I/O寄存器的数据使用LD和ST指令空间,0x20的必须添加到这些地址。该ATMEGA48PA/88PA/168PA/328P是一个复杂的微控制器,更多的外围设备比可以在64个位置中的指令代码保留给IN和OUT指令来支持。对于扩展的I/O空间0x60-0xFF的SRAM中,只能使用ST/STS/STD和LD/LDS/LDD指令可以使用。Forcompatibilitywithfuturedevices,reservedbitsshouldbewrittentozeroifaccessed.ReservedI/Omemoryaddressesshouldneverbewritten.SomeoftheStatusFlagsareclearedbywritingalogicalonetothem.Notethat,unlikemostotherAVRs,theCBIandSBIinstructionswillonlyoperateonthespecifiedbit,andcanthereforebeusedonregisterscontainingsuchStatusFlags.TheCBIandSBIinstructionsworkwithregisters0x00to0x1Fonly.TheI/Oandperipheralscontrolregistersareexplainedinlatersections.7.5.1GeneralPurposeI/ORegistersTheATmega48PA/88PA/168PA/328PcontainsthreeGeneralPurposeI/ORegisters.这些registerscanbeusedforstoringanyinformation,andtheyareparticularlyusefulforstoringglobalvariablesandStatusFlags.GeneralPurposeI/ORegisterswithintheaddressrange0x00-0x1Faredirectlybit-accessibleusingtheSBI,CBI,SBIS,andSBICinstructions.218161D–AVR–10/09ATmega48PA/88PA/168PA/328P7.6RegisterDescription7.6.1EEARHandEEARL–TheEEPROMAddressRegister•Bits15..9–Res:ReservedBitsThesebitsarereservedbitsintheATmega48PA/88PA/168PA/328Pandwillalwaysreadas零。•Bits8..0–EEAR8..0:EEPROMAddressTheEEPROMAddressRegisters–EEARHandEEARLspecifytheEEPROMaddressinthe256/512/512/1KbytesEEPROMspace.TheEEPROMdatabytesareaddressedlinearlybetween0and255/511/511/1023.TheinitialvalueofEEARisundefined.ApropervaluemustbewrittenbeforetheEEPROMmaybeaccessed.EEAR8isanunusedbitinATmega48PAandmustalwaysbewrittentozero.7.6.2EEDR–TheEEPROMDataRegister•Bits7..0–EEDR7.0:EEPROMDataFortheEEPROMwriteoperation,theEEDRRegistercontainsthedatatobewrittentotheEEPROMintheaddressgivenbytheEEARRegister.FortheEEPROMreadoperation,theEEDRcontainsthedatareadoutfromtheEEPROMattheaddressgivenbyEEAR.7.6.3EECR–TheEEPROMControlRegister•Bits7..6–Res:ReservedBitsThesebitsarereservedbitsintheATmega48PA/88PA/168PA/328Pandwillalwaysreadas零。•Bits5,4–EEPM1andEEPM0:EEPROMProgrammingModeBitsTheEEPROMProgrammingmodebitsettingdefineswhichprogrammingactionthatwillbetriggeredwhenwritingEEPE.Itispossibletoprogramdatainoneatomicoperation(erasetheoldvalueandprogramthenewvalue)ortosplittheEraseandWriteoperationsintwodifferent操作。TheProgrammingtimesforthedifferentmodesareshowninTable7-1.WhileEEPEBit151413121110980x22(0x42)–––––––EEAR8EEARH0x21(0x41)EEAR7EEAR6EEAR5EEAR4EEAR3EEAR2EEAR1EEAR0EEARL76543210Read/WriteRRRRRRRR/WR/WR/WR/WR/WR/WR/WR/WR/WInitialValue0000000XXXXXXXXXBit765432100x20(0x40)MSBLSBEEDRRead/WriteR/WR/WR/WR/WR/WR/WR/WR/WInitialValue00000000Bit765432100x1F(0x3F)––EEPM1EEPM0EERIEEEMPEEEPEEEREEECRRead/WriteRRR/WR/WR/WR/WR/WR/WInitialValue00XX00X0228161D–AVR–10/09ATmega48PA/88PA/168PA/328Pisset,anywritetoEEPMnwillbeignored.Duringreset,theEEPMnbitswillberesetto0b00unlesstheEEPROMisbusyprogramming.•Bit3–EERIE:EEPROMReadyInterruptEnableWritingEERIEtooneenablestheEEPROMReadyInterruptiftheIbitinSREGisset.写作EERIEtozerodisablestheinterrupt.TheEEPROMReadyinterruptgeneratesaconstantinterruptwhenEEPEiscleared.TheinterruptwillnotbegeneratedduringEEPROMwriteorSPM.•Bit2–EEMPE:EEPROMMasterWriteEnableTheEEMPEbitdetermineswhethersettingEEPEtoonecausestheEEPROMtobewritten.WhenEEMPEisset,settingEEPEwithinfourclockcycleswillwritedatatotheEEPROMattheselectedaddressIfEEMPEiszero,settingEEPEwillhavenoeffect.WhenEEMPEhasbeenwrittentoonebysoftware,hardwareclearsthebittozeroafterfourclockcycles.见descriptionoftheEEPEbitforanEEPROMwriteprocedure.•Bit1–EEPE:EEPROMWriteEnableTheEEPROMWriteEnableSignalEEPEisthewritestrobetotheEEPROM.Whenaddressanddataarecorrectlysetup,theEEPEbitmustbewrittentoonetowritethevalueintotheEEPROM中。TheEEMPEbitmustbewrittentoonebeforealogicaloneiswrittentoEEPE,otherwisenoEEPROMwritetakesplace.ThefollowingprocedureshouldbefollowedwhenwritingtheEEPROM(theorderofsteps3and4isnotessential):1.WaituntilEEPEbecomeszero.2.WaituntilSELFPRGENinSPMCSRbecomeszero.3.WritenewEEPROMaddresstoEEAR(optional).4.WritenewEEPROMdatatoEEDR(optional).5.WritealogicalonetotheEEMPEbitwhilewritingazerotoEEPEinEECR.6.WithinfourclockcyclesaftersettingEEMPE,writealogicalonetoEEPE.TheEEPROMcannotbeprogrammedduringaCPUwritetotheFlashmemory.软件mustcheckthattheFlashprogrammingiscompletedbeforeinitiatinganewEEPROMwrite.Step2isonlyrelevantifthesoftwarecontainsaBootLoaderallowingtheCPUtoprogramthe闪光灯。IftheFlashisneverbeingupdatedbytheCPU,step2canbeomitted.See”BootLoaderSupport–Read-While-WriteSelf-Programming,ATmega88PA,ATmega168PAandATmega328P”onpage277fordetailsaboutBootprogramming.Caution:Aninterruptbetweenstep5andstep6willmakethewritecyclefail,sincetheEEPROMMasterWriteEnablewilltime-out.IfaninterruptroutineaccessingtheEEPROMisinterruptinganotherEEPROMaccess,theEEARorEEDRRegisterwillbemodified,causingtheinterruptedEEPROMaccesstofail.ItisrecommendedtohavetheGlobalInterruptFlagclearedduringallthestepstoavoidtheseproblems.Table7-1.EEPROMModeBitsEEPM1EEPM0编程TimeOperation003.4msEraseandWriteinoneoperation(AtomicOperation)011.8msEraseOnly101.8msWriteOnly11–Reservedforfutureuse238161D–AVR–10
本文档为【ATmega328P中文翻译资料要点】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
丹丹陪你去流浪
暂无简介~
格式:doc
大小:1MB
软件:Word
页数:253
分类:
上传时间:2022-03-04
浏览量:17