51单片机中的ram的地址是如何分配的?

如题所述

MCS-51系列单片机片内RAM共有128字节,地址范围为00H~7FH。
在这128字节中,全部都可以按照字节地址进行操作(读、写或运算),直接或间接寻址方式皆可。
在这128字节中,按照使用特点,可以分成三类:工作寄存器区、位寻址区和通用数据区。

1.工作寄存器区
在MCS-51系列单片机的片内RAM中,有四个工作寄存器区,分别称为工作寄存器区0~工作寄存器区3。
每区有八个字节,除了可以用字节地址号码操作之外,还可以用R0、R1…R7为名称对其操作。用名称进行操作,称为寄存器寻址,指令代码较为简短。
其中R0、R1可以作为间接寻址寄存器,以其中内容作为地址,能够对片内RAM(或片外RAM的256字节)进行间接寻址。
在任何时刻,只能使用一个工作寄存器区。当前使用那个区,可以通过指令设置PSW中的RS1和RS0来决定。PSW称为程序状态字,是下面要介绍的特殊功能寄存器。
通过设置RS1和RS0,可以快速切换当前工作寄存器区,适合在不同的程序段中进行保护现场。当前没有使用的工作寄存器区,不能使用R0、R1…R7等名称,但可以按字节地址对其随意读写。
复位时RS1和RS0皆初始化为0,故此复位后将自动使用工作寄存器区0。

2.位寻址区
位寻址区共有16字节,字节地址为20H~2FH,每个字节中的8个“位”,都有一个“位地址”。共有128个位,“位地址”的范围为00H~7FH。
从表2中可以看到,前面问题所提到的“位地址4EH”,是在“字节地址29H”中,是第6位。
对位寻址区可以按照“位地址”来对某一个位单独进行操作,也可以按照“字节地址”进行操作,即同时对八个位地址的内容进行操作。
MCS-51系列单片机具有一套专用的“位操作”指令(又称为布尔指令),可对这些位地址进行“与”、“或”、“非”等操作。这是该系列单片机的特色之一。

3.通用数据区
通用数据区有80字节,只能按“字节地址”(直接或间接寻址)进行操作。

上面介绍了00H~7FH地址范围内的RAM,下面接着这个地址,继续向高地址方向介绍。

在片内80H~FFH地址范围内,离散的分布着21个特殊功能寄存器(SFR),寄存器名称与地址分布见表3。
8052系列单片机,在80H~FFH范围内,还有128字节的片内通用RAM,对其操作时,则必须采用“间址”寻址方式。
而对这片地址范围内的特殊功能寄存器只能采用“直接”寻址方式进行操作。
特殊功能寄存器中有11个还可以进行“位寻址”,表3中也列出了可以位寻址的寄存器以及位地址号码。
在表3中,如果位地址为空白,则说明该寄存器不能进行“位寻址”。
由表3可以看出规律:当字节地址可以被8整除时,该字节即可以按位寻址。其最低位的“位地址”与“字节地址”相同,其他位的位地址向高位依次加1。
单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件——存储器中。存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。   程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行。

可以参考: http://apps.hi.baidu.com/share/detail/17443237
温馨提示:内容为网友见解,仅供参考
无其他回答

51单片机中的ram的地址是如何分配的?
- 地址范围:30H~7FH - 包含80字节,可用于数据存储。- 只能通过字节地址进行操作。4. 特殊功能寄存器区:- 地址范围:80H~FFH - 分布着21个特殊功能寄存器(SFR)。- 部分SFR可进行位寻址。5. 片内通用RAM(80H~FFH):- 对于8052系列单片机,此范围内还有128字节的片内通用RAM。- 需使用间接寻...

51单片机中的ram的地址是如何分配的?
在MCS-51系列单片机的片内RAM中,有四个工作寄存器区,分别称为工作寄存器区0~工作寄存器区3。每区有八个字节,除了可以用字节地址号码操作之外,还可以用R0、R1…R7为名称对其操作。用名称进行操作,称为寄存器寻址,指令代码较为简短。其中R0、R1可以作为间接寻址寄存器,以其中内容作为地址,能够对片内...

MCS-51单片机片内RAM的组成的划分方式和功能分别是什么?
51单片机的具体存储器地址分配 数据存储器(RAM)为 256 字节, 地址范围为00H~FFH, 分为两大部分: 低 128 字节(00H~7FH)为真正的RAM区; 高 128 字节(80H~FFH)为特殊功能寄存器区SFR。程序存储器(ROM)的内部地址为 0000H~0FFFH, 共 4 KB; 外部地址为 1000H~FFFFH, 共 60 KB。 当...

51单片机内部ram,外部ram的区别
一、从使用字节区别。标准 51单片机的片内 RAM 地址从 0x00H~0x7F 共 128 个字节。而现在我们用的 51 系列的单片机都是带扩展片内 RAM 的,即 RAM 是从 0x00~0xFF 共 256 个字节。而片外 RAM 最大可以扩展到 0x0000~0xFFFF 共 64K 字节。二、从连接地址区别。片内 RAM 和片外 RAM ...

单片机内部的ram地址是如何分配的?
1. 在单片机的内部RAM中,从20H到2FH的16个字节可以通过位寻址的方式进行访问,这些位地址范围从00H到7FH。2. 如果某个位地址为48H,那么相应的单元地址可以通过计算得出:单元地址 = (48H \/ 8) + 20H = 29H。3. 在特殊功能寄存区中,某些寄存器可以进行位寻址。例如,地址为90H的寄存器,...

51单片机内部ram,外部ram的区别
1. 51单片机的内部RAM和外部RAM在使用字节上存在差异。标准51单片机的片内RAM地址范围为0x00H至0x7F,共计128个字节。目前使用的51系列单片机通常带有扩展的片内RAM,地址范围为0x00至0xFF,共计256个字节。片外RAM的最大扩展容量可达0x0000至0xFFFF,即64K字节。2. 片内RAM和片外RAM的地址是分开...

51单片机内部RAM
2:片内RAM为256字节时,低128字节(00H-7FH)的访问方式为直接和间接寻址方式,高128字节(地址80H-FFH)只能使用间接寻址方式。SFR的地址也为80H-FFH,但只能使用直接寻址方式。如果还不清楚,那建议就不要看那些庸人出的单片机教材了,以免把自己弄糊涂。最好就是看51单片机的使用说明书(Datasheet...

单片机内部的ram地址是如何分配的?
单片机内部RAM中低128字节的20H~2FH共16个字节可以用位寻址方式访问其各位。共128个位地址为00H~7FH。假设位地址为48H,那么单元地址=48H\/8+20H=29H。特殊功能寄存区中有的可以位寻址,用查表法,就可以得到,例如90H,查表得到,对应的字节地址为90H。低128字节中的00H~1FH共32个单元通常作为...

MCS-51单片机内部RAM可分为几个区?各区的主要作用是什么
mcs-51单片机的内部RAM分为三个区:1、工作寄存器区,00H~1FH,分为4段,00H~07H,08H~0FH,10H~17H,18H~1FH;分别对应R0~R7.2、位寻址区,20H~2FH。3、用户寄存器区,30H~7FH。

MCS-51单片机内部RAM如何分配的?
MCS-51单片机内部RAM分配如下:00H~1FH:为工作寄存器地址,共四组 20H~2FH:为位地址空间,位地址范围为00H~7FH 30H~7FH:为用户使用的RAM空间 80H~FFH:为特殊功能寄存器空间。

相似回答
大家正在搜