数据存储器RAM用于存放运算的中间结果、数据暂存和缓冲、标志位等。数据存储器空间也分成片内和片外两大部分,片内存储器空间为256B,地址范围为00H~0FFH;片外数据存储器空间可扩展为64KB,地址范围为0000H~0FFFFH。下面分别进行介绍。
1.片外RAM
片外数据存储器通过硬件电路可以扩展为64KB,地址范围为0000H~0FFFFH。使用时通过“MOVX”指令进行数据存取。
2.片内RAM
片内数据存储器共有128B,地址范围为00H~7FH。它们又分为三个部分:工作寄存器区、位寻址区和用户区。
1)地址为00H~1FH的32B定义为工作寄存器区,并且分成四组来使用,称为0组、1组、2组和3组。每组有8个工作寄存器,每个字节定义为一个工作寄存器,分别用R0~R7表示。每组寄存器均可选作CPU的当前工作寄存器组。若程序中并不需要四组寄存器,其余可以作一般RAM单元使用。CPU复位后,选中第0组寄存器为当前的工作寄存器。通过对程序状态字PSW中RS1、RS0的设置,可以选择其他组为当前工作寄存器,见表2-2。
2)地址为20H~2FH的单元为“位寻址区”,这16B既可以按字节寻址,也可以按位寻址。这16B总共128bit,每1bit都有唯一的位地址,可通过位寻址方式访问其各位,其位地址分布见表2-3。
表2-2 工作寄存器地址表(www.xing528.com)
表2-3 RAM位寻址区地址表
3)地址为30H~7FH的单元为用户区,用户可以在这个区域存取数据,也可以定义为堆栈区。
对于128B的RAM区,CPU访问时可以采用字节地址或位地址方式。如果访问位地址区,就用位寻址方式,否则可以采用直接寻址或间接寻址方式。
位寻址能力是80C51单片机的一个重要特点。这些可寻址位,通过执行指令可直接对某一位操作,如置1、清0等,可用作软件标志位或用于位(布尔)处理。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。