80C51单片机片内RAM低128个存储单元划分为哪4个主要部分?各部分主要功能是什么?
0x00~0x1f 4组通用工作寄存器0x20~0x2f 128位的位寻址0x30~0x7f 用户RAM区
(1)工作寄存器组(00H——1FH)
这是一个用寄存器直接寻址的区域,内部数据RAM区的0—31,共32个单元。它是4个通用工作寄存器组,每个组包含8个8位寄存器,编号为R0——R7。
(2)可位寻址RAM区(20H——2FH)
16个字节单元,共包含128位,这16个字节单元既可以进行字节寻址,又可以实现位寻址。主要用于位寻址。
(3)通用的RAM区(30H——7FH)
用于设置堆栈、存储数据。
扩展资料:
PC 机的CPU 是基于冯诺伊曼的体系结构,然而MCU(单片机)、Dsp(数字信号处理器)都是基于哈佛结构的体系结构。哈佛结构与冯诺伊曼结构有很大的不同,在冯诺伊曼体系结构下只有一个地址空间,ROM 和RAM 可以随意安排在这一地址范围内的不同空间,即ROM 和RAM 地址统一分配。
CPU 访问存储器时,一个地址对应唯一的存储单元,可能是ROM,也可能是RAM。而哈佛结构下ROM 和RAM 是分开编址,即程序和数据分开保存,访问时用不同的指令加以区分,并可同时访问,在这样的体系结构下有利于提高指令的执行速度。在后面的章节我们将详细介绍单片机的存储器配置。
参考资料来源:百度百科-8051单片机
8051单片机内部RAM低128单元划分为工作寄存器组、位寻址区、堆栈与数据缓冲区。
它们的特点如下:
(1)工作寄存器组(00H——1FH)
这是一个用寄存器直接寻址的区域,内部数据RAM区的0—31,共32个单元。它是4个通用工作寄存器组,每个组包含8个8位寄存器,编号为R0——R7。
(2)位寻址区(20H——2FH)
16个字节单元,共包含128位,这16个字节单元既可以进行字节寻址,又可以实现位寻址。主要用于位寻址。
(3)堆栈与数据缓冲区(30H——7FH)
用于设置堆栈、存储数据。
20H~2fH:可位寻址区
30H~7FH:一般数据区,堆栈区
寄存器组就是R0-R7,一共是8*4是32字节
位寻址就是对每一位寻址,一个字节可以有8位,位地址可以从0-7F,一共是16个字节
30-7FH有80个字节单元,可以采用字节字节寻址的方法访问
堆栈区及堆栈指示区 堆栈是在片内RAM中数据先进后出的一个存储区域。堆栈指针SP是存放当前堆栈栈顶所对应的存储单元地址的一个8位寄存器。系统复位后SP为07H,而07H一般是寄存器区,所以,一般可以通过对SP赋值,可以使堆栈区设定在RAM中的某一区域,但堆栈的深度以不超过片内RAM区空间为限
return
k
是函数返回值,这是个子函数,处理完后返回给调用函数一个处理后的值。
k=(k<<1)|j;
这个是指k左移一位,在或上j,因为j=sda,看你的写法,据我猜测da是一个芯片的端口,这是串行输入的方式,你要读取芯片的输出值
假设某个时候k=0000
0001,假设j这个时候为1,那执行k=(k<<1)|j;后,k左移一位再或上j就为0000
0011了,一共执行8次,刚好从sda也就是j那里读出了一个字节的数据。
欢迎追问
答:2:片内RAM为256字节时,低128字节(00H-7FH)的访问方式为直接和间接寻址方式,高128字节(地址80H-FFH)只能使用间接寻址方式。SFR的地址也为80H-FFH,但只能使用直接寻址方式。如果还不清楚,那建议就不要看那些庸人出的单片机教材了,以免把自己弄糊涂。最好就是看51单片机的使用说明书(Datasheet...
答:一般的教科书里RAM大小是指默认用户RAM,但是很少有特别说明的;于是就造成了问题遗留下来 C51:片内用户RAM有128字节 (位于片内所有RAM的低128B,高128B是SFR)访问RAM可以使用直接或者间接寻址方式,地址为00H-7FH,在80H-FFH的空间分配给了SFR,只能使用直接寻址方式。C52:片内用户RAM为256字节—...
答:是这样的,8051片内数据存储器除RAM(00-7fh)之外,还有特殊功能寄存其SFR(80H-FFH),两者合起来共有256字节,但是能够真正用来当数据寄存器的只有128字节,也就是RAM。这么说你明白了吗?
答:AT89s52片内用户使用RAM为256字节,地址范围00~ffh。低128字节RAM根据存储器用途,分为三部分。00h~1fh为通用工作寄存器区 20h~2fh为位寻址区 30h~7fh为用户RAM区 通用工作寄存器 80c51工作寄存器共分为4组,每组由8个工作寄存器R0~R7组成,共占用32个单元。每组寄存器均可选作CPU当前的工作寄存器...
答:2. 内部RAM:80C51单片机内部集成了128字节的RAM,可用于程序存储、数据存储和堆栈存储等。内部RAM的特点是速度快、可读可写,但容量有限。3. 扩展RAM:80C51单片机可以通过外部接存储器芯片来扩展RAM的容量。扩展RAM的特点是容量大、可读可写,但速度相对较慢。4. SFR:80C51单片机的SFR寄存器用于存储特殊...
答:访问片内RAM采用MOV格式。 访问片外RAM采用MOVX格式。 2·5 80C51单片机的EA信号有何功能?在使用80C31时,EA信号引脚应如何处理? 答: (1)80C51单片机的EA信号的功能 EA为片外程序存储器访问允许信号,低电平有效;在编程时,其上施加21V的编程电压 EA引脚接高电平时,程序从片内程序存储器开始执行,即访问片内存储...
答:80C51 微控制器定址方式有哪些? 80C51有七种定址方式: 1、立即定址,定址空间为ROM; 2、直接定址,定址空间为片内RAM的低128B和特殊功能暂存器; 3、暂存器定址,定址空间为A、B、DPTR、CY、通用工作暂存器等; 4、暂存器间接定址,片内RAM低128B、片外RAM; 5、相对定址,定...
答:在80C51单片机中,直接地址只能用来表示特殊功能寄存器、内部数据存储器以及位地址空间,具体的说就是:1、内部数据存储器RAM低128单元。在指令中是以直接单元地址形式给出。我们知道低128单元的地址是00H-7FH。在指令中直接以单元地址形式给出这句话的意思就是这0-127共128位的任何一位,例如0位是以...
答:80C51内存存储空间为:RAM:00H~1FH,4组工作寄存器 20H~2FH,位址寄存器 30H~7FH,通用寄存器 80H~FFH,特殊功能寄存器 ROM:0000H~0FFFH,4K
答:当然是MOV 这条指令是 直接寻址方式 直接寻址方式 采用直接寻址的指令一般是双字节或三字节指令,第一字节为操作码,第二,三字节为操作数的地址码。单片机中,直接地址只能用来表示片内低128字节单元、专用寄存器和片内RAM的位地址空间。其中专用寄存器和位地址空间只能用直接寻址方式来访问。例如:MOV ...