Policy Information
AT89S52的片内数据存储器(RAM)共有256个单元,字节地址为00H~FFH。图2-6为AT89S52片内RAM的结构。地址为80H~FFH为特殊功能寄存器区,与片内的高128B的RAM单元统一编址,但它是另一专用空间区域,将在后面介绍。
00H~1FH 的32个单元是4组通用工作寄存器区,每区包含8B,为R7~R0。可通过指令改变RS1、RS0两位来选择。
20H~2FH的16个单元的128位可位寻址,也可字节寻址。
30H~FFH的单元只能字节寻址,用作存数据以及作为堆栈区。
AT89S52与AT89S51片内数据存储器相比,片内数据存储器RAM增加了128B,对应的字节地址为80H~FFH。这高128B的RAM单元地址与特殊功能寄存器区的字节地址重合,但它们是两个不同的物理区域。
对这两个具有相同地址区域进行访问时,是由不同的指令寻址方式(将在指令系统一章中介绍)来区分,对地址为80H~FFH的RAM区,只能采用间接寻址方式访问,而对地址为80H~FFH的特殊功能寄存器区访问只能采用直接寻址方式。但是对于低128B(地址00H~7FH)的RAM区,即可采用直接寻址方式也可采用间接寻址方式来访问。
评论