数据存储器主要用于存放运算的中间结果、数据暂存或数据缓冲等。
MCS-51系列单片机的数据存储器分为片内和片外两种,二者的地址彼此是独立的。片内数据存储器的地址范围是00 H~0FFH,片外数据存储器的地址范围是0000H~0FFFFH。访问片内RAM用“MOV”指令,访问片外RAM用“MOVX”指令。
MCS-51系列单片机片内数据存储器空间的分配如图2-8所示。
图2-8 内部数据存储器的配置图
由图2-8可知MCS-51系列单片机的片内数据存储器可以划分为3个区域:工作寄存器区、位地址区、用户RAM区和堆栈区。
(1)工作寄存器区(00H~1FH)
MCS-51系列单片机共有4组通用工作寄存器区,分别称为0区(00H~07H)、1区(08H~0FH)、2区(10H~17H)和3区(18H~1FH),每个区含8个8位寄存器,分别命名为R0~R7。在任一时刻,CPU只能使用其中的一组工作寄存器,不用的工作寄存器还可作为用户RAM单元使用。工作寄存器组的选择由程序状态字寄存器PSW中的两位(RS1和RS0)来确定,后面将详细介绍。
(2)位地址空间(20 H~2FH)(www.daowen.com)
MCS-51系列单片机有一个功能很强的位处理器,它实际上是一个完整的一位微计算机。一位机在开关决策、逻辑电路仿真和实时控制方面非常有效。MCS-51指令系统中有着丰富的位操作指令(在下一章中详细介绍),这些指令构成了位处理机的指令集。
RAM位寻址区是布尔逻辑机数据存储器的主要组成部分,全部可以位寻址。它的地址分配为20H~2FH共16个单元。这些RAM单元可以按位操作,每位均可直接寻址。这16个字节共有128位,其位地址范围为00 H~7FH,见表2-3。
表2-3 RAM位寻址区位地址表
续表
(3)用户RAM区和堆栈区(30H~7FH)
这些地址只能按字节寻址。该空间是真正给用户使用的RAM空间。MCS-51系列单片机在复位时,堆栈指针指向07H单元,当用户使用堆栈时,首先必须设置堆栈。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。