SRAM数据存储器
Figure 10 给出了ATmega168 SRAM 空间的组织结构。
ATmega168 是一个复杂的微控制器,其支持的外设要比预留的 64 个 I/O( 通过IN OUT 指令访问 ) 所能支持的要多。对于扩展的 I/O 0x60 - 0xFF 只能使用ST/STS/STD 和 LD/LDS/LDD 指令。
前 1280 个数据存储器包括了寄存器文件,I/O 存储器,扩展的 I/O 存储器以及数据 SRAM。起始的 32 个地址为寄存器文件,然后是 64 个 I/O 存储器,接着是 160 个扩展 I/O 存储器。最后是 1024字节的数据 SRAM。
数据存储器的寻址方式分为5 种:直接寻址、带偏移量的间接寻址、间接寻址、带预减量的间接寻址和带后增量的间接寻址。寄存器文件中的寄存器R26 到R31 为间接寻址的指针寄存器。
直接寻址范围可达整个数据区。
带偏移量的间接寻址模式能够寻址到由寄存器Y 和 Z 给定的基址附近的63 个地址。
在自动预减和后加的间接寻址模式中,寄存器X、Y 和Z 自动增加或减少。
ATmega168的全部32个通用寄存器、64个I/O寄存器、160个扩展I/O寄存器及1024个字节的内部数据SRAM可以通过所有上述的寻址模式进行访问。寄存器 文件的描述见 P8“通用寄存器文件” 。 SRAM数据存储器访问时间
本节说明访问内部存储器的时序。如Figure 11 所示,内部数据SRAM 访问时间为两个clkCPU 时钟。 |