51片内ram不是只有128B么,那高128特殊功能寄存器是哪来的

特殊功能寄存器是不是并不是真的ram,而是为了方便,把分散开的各种寄存器和io口进行编码。因为acc、ip、sp那些不是在cpu内部么,p0、p1等不是就是端口么。所以我认为所谓特殊功能寄存器并不是真正的ram,而是对寄存器、io端口进行了编码而方便了访问。求高手解惑,拒绝毫无意义的复制粘贴

特殊功能寄存器是不是真的ram,只要会使用这些寄存器就好了,知道他们的作用就好了,不必要较真是不是RAM。可以是说,因为其内容是可以由用户随时随地写入和读出的,从个意义上说与RAM的操作是一样,但又不是,因为这些特殊功能寄存器都有特定的功能,是不能作当真正的RAM来使用的。只是把这些SFR的地址与RAM的地址统一编排起来而已。而52单片机,还有STC单片机,增加片内的RAM,地址是80H~FFH,这样,其地址与SFR的地址是重叠的,但是用不同的指令来读/写。不过,多数的资料还是将SFR当作片内RAM来讲述的,所以,是不是真的也无所谓了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-15
存储器,分两类:RAM、ROM。
.

【片内 RAM】,和 SFR,都是 RAM。

高 128B 的地址也相同,但是功能不同。
两者,没有任何关系,不要混在一起讨论。
.
特殊功能寄存器是真的 ram。
它具有 RAM 的特点,可以读、也可以写。
但是,这是指它的物理特性,确实是 RAM 而已。
并不是说,它们也是【片内 RAM】。
第2个回答  2020-07-10
简单来说,就是片内RAM和特殊功能寄存器在物理上是相互独立的。就像51子系列内部RAM没有高128B,但它任然有特殊功能寄存器,因为特殊功能寄存器并不是高128B的存储单元,只是因为其地址编码在80H~0FFH,所以说它在高128B,52子系列拥有高128B,并不是说高128B的片内RAM的部分单元用于充当特殊功能寄存器,RAM就是RAM,特殊功能寄存器有独立的存储空间。
第3个回答  2013-11-30
51片内ram不是只有128B么,那高128特殊功能寄存器是哪来的
----
为什么这么问?
楼主一定是把《片内RAM》和《特殊功能寄存器》,混起来了。

《片内RAM》和《特殊功能寄存器》,没有任何关系。
况且,根本就没有《高128特殊功能寄存器》的说法。
难道还有《低128特殊功能寄存器》的说法吗?

即使,52 系列的,具有高128B 的片内RAM,又怎么样呢?

《片内RAM》还是《片内RAM》;
《特殊功能寄存器》还是《特殊功能寄存器》。

特殊功能寄存器,就是在单片机里面的一个部分,和片内RAM,没有任何关系。

8051单片机片内RAM仅128B,没有高128B,特殊功能寄存器会存在于高位128B...
答案是用指令,如果是直接寻址,那么访问的就是SFR,如果是R0或者R1间接寻址,就是内部高128位RAM,如果是DPTR或者是R0,R1间接寻址,且配合的是MovX指令,那么就是访问外部64KRAM中的第80H个地址。明白以上原理,楼主就明白了为什么地址只有8位,52却号称有512B,因为他的内部低128B RAM+内部高128B ...

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是怎么寻址的
低128字节中的00H~1FH共32个单元通常作为工作寄存器区;30H~37H共80个单元为用户RAM去,作堆栈或数据缓冲;80H~7FH单元组成高128字节的专用寄存器区,也就是特殊功能寄存区。它们零散地分布在其中,并没有占满所有地址空间,对空闲地址的操作是无意义的。

C51单片机内部RAM多大,有的书上说128B,有的书上说256B,弄得我晕了都...
(位于片内所有RAM的低128B,高128B是SFR)访问RAM可以使用直接或者间接寻址方式,地址为00H-7FH,在80H-FFH的空间分配给了SFR,只能使用直接寻址方式。C52:片内用户RAM为256字节——重点了,有讲究:(位于片内所有RAM的低128B,高128B是SFR和用户RAM地址重叠的区域)低128字节(00H-7FH)的访...

80c51单片机片内RAM只有128字节,为什么却可以划分为低128字节和高128...
严格来说,51单片机内部RAM是256字节,高128字节被SFR占用,为什么一般认为内部RAM为128字节呢,是为了区分SFR和低128字节空间,两者寻址方式不一样。至于为什么不一样取决于要分辨51单片机和52单片机,52单片机高位128不是作为SFR,属于内部RAM,但是规定只能使用间接寻址(区分51内部RAM高128位)...

80C51单片机片内数据存储器(RAM)的三个存储区域是如何划分的?
内部数据存储器RAM 物理上分为两大区:00H ~ 7FH即128B内RAM 和 SFR区。数据存储器空间(低128单元);特殊功能寄存器空间(高128单元);这两个空间是相连的,从用户角度而言,低128单元才是真正的数据存储器。在片内RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下的80个...

mcs-51片内RAM高128位寻址问题
00H到1FH为工作寄存区,右个工作寄存区,R0到R7,选择的工作区由PSW(0D0H)的3,4位确定.20H到2FH是位寻址区,有128个位地址,剩下的是30H到FFH,为堆栈或者数据缓冲器.其中80H到FFH中还离散的分布着许多SFR.包括累加器ACC,寄存器B,堆栈指针SP,数据指针DPTR,程序状态字PSW.其中有些SFR也可位寻址.

单片机内部的ram寻址范围是多少?
低128B包括工作寄存器区、位寻址区和用户RAM区;高128B是特殊功能寄存器区,用户不能修改这些寄存器的结构。存储器中共有11个可位寻址的位地址,其中128个位于片内数据存储器,83个位于特殊功能寄存器中。来源:《单片机原理及应用》 曹巧媛 编著 电子工业出版社,第二章 MCS-51单片机结构及原理,第二节...

MCS-51单片机片内RAM的组成的划分方式和功能分别是什么?
1. MCS-51单片机的片内RAM地址分配为256字节,覆盖地址范围00H至FFH。2. 这256字节的RAM分为两个主要部分:- 低128字节(00H至7FH)是可用的RAM区域。- 高128字节(80H至FFH)则被保留用作特殊功能寄存器(SFR)。3. 程序存储器(ROM)的内部地址空间从0000H至0FFFH,总计4KB。4. 程序存储器...

为什么在51单片机里面数据存储器高128个字
( )17.8051单片机片内RAM从00H~1FH的32个单元,不仅可以作工作寄存器使用,而且可作为RAM来读写。( )18.MCS—51单片机的片内存贮器称为程序存贮器。( )19.MCS—51单片机的数据存贮器是指外部存贮器。( )20.MCS—51单片机的特殊功能寄存器集中布置在片内数据存贮器的一个区域中。( )...

相似回答