AVR单片机C语言应用100例
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.2 ATmega128单片机的存储器体系

ATmega128单片机的存储器体系由程序存储器Flash、数据存储器SRAM和E2 PROM存储器组成,这3个存储器空间都是线性的。

1. 程序存储器FIash

ATmega128单片机具有128KB内部Flash,用于存放程序指令代码,支持在线编程(ISP)和在应用编程(IAP)。因为ATmega128 单片机的所有的指令均为16 位或32 位,所以Flash被组织成64KB ×16位的形式,并且被分为引导程序区(BOOT)和应用程序区两个不同的区,如图1.5所示。

图1.5 ATmega128单片机的Flash程序存储器空间

2. 数据存储器SRAM

ATmega128单片机内部有一个4KB的内置SRAM,它还支持使用外部SRAM扩展到64KB。ATmega128单片机的SRAM存储器构成如图1.6所示。前4352字节包含了32个通用寄存器和64字节I/O寄存器,然后是160字节的扩展I/O寄存器,最后是4096字节的内部SARM。

图1.6 ATmega128单片机的SRAM数据存储器构成

ATmega128单片机对于SARM的寻址方式有5种:直接寻址、带偏移量的间接寻址、间接寻址、带预减量的间接寻址和带后增量的间接寻址。通用寄存器中的寄存器R26~R3 1为间接寻址的指针寄存器;直接寻址范围可达整个数据区;带偏移量的间接寻址模式则能够寻址到由寄存器Y和Z给定的基址附近的63个地址;在自动预减和后加的间接寻址模式中,寄存器X、Y和Z自动增加或减少。

ATmega128单片机的全部32个通用寄存器、64个I/O寄存器和4096字节的内部数据SRAM可以通过这5种寻址模式进行访问。

3. E2 PROM

ATmega128单片机的E2 PROM存储器常常用来存放一些需要掉电后保存的数据。