51单片机RAM 数据存储区学习笔记

时间:2023-03-18作者:佚名

1.RAM keil C语言编程


RAM是程序运行中存放随机变量的数据空间。在keil中编写程序,如果当前模式为small模式,如果总的变量大小未超过128B,则未初始化的变量的初值默认为0.如果所有的变量超过单片机small模式下的128B大小,则必须对变量进行初始化,否则超过RAM大小变量的值是不确定的,在small模式下超过128B大小的变量也必须在编译器中重新设定存储器的存储模式。


在keil中,可选择small,compact,large三种方式存储数据变量:


51单片机RAM 数据存储区学习笔记


在keil中可以用“TargetOptions”来配置这一项:


51单片机RAM 数据存储区学习笔记


图1 选择数据存储模式


2.片内数据存储区


(1) 工作寄存器区


工作寄存器区位于片内数据存储器中的00H~1FH单元,共32字节( 如此说来每个单元是一个字节了 ),分成四组。每组8个字节,分别记为R0~R7.


51单片机RAM 数据存储区学习笔记


程序默认在0区工作寄存器组存放中间运算数据。等待中断来时,中断数据工作寄存器组由0区切换到其它区域。


选择四组工作寄存器区的哪一组作为R0~R7由位于PSW寄存器的两位RS1,RS0来确定.


RS1,RS0称为区开关或组开关,两位就可决定四种状态.


51单片机RAM 数据存储区学习笔记


(2)位寻址区


用户存储区位于片内数据存储器中的020H~02FH单元,共16个字节,共128位,每个字节单元的位都有一个单独的地址,分别为00H-07H,如020H.1表示020H单元的bit[1]位。020H~02FH单元可作为位寻址区。这个范围内的存储单元最大的用处就是能进行位操作,在C语言中,只能用位操作运算符(&、|、^、~、<<、>>)来对字节数据进行位操作运算。如果用汇编指令就可以直接对此片存储单片进行位操作。


如 SETB, 020H.1 就将020H的bit[1]置为了1.


除了RAM此片能进行位寻址的用户存储区以外,还有一些特殊的功能寄存器( SFR )也能进行位寻址。


(3)数据缓冲区


51系列数据缓冲区地址为30H-7FH,共80字节。只能字节寻址,不能位寻址。由于工作寄存器和位寻址区,数据缓冲区是统一编址的,所以这三者都可以用作数据缓冲区。


(4)堆栈


栈:由系统自动分配释放,存局部值。


堆:一般由程序员分配和释放。


堆栈指针SP:8位寄存器,堆栈最大可达128单元,只可在片内RAM中进行堆栈操作。


堆栈作用:用来保存地址、数据信息、具有先进后出特性,也是一种能存放二进制数据的空间。


MC51堆栈采用满顶法向上生成的软件堆栈。


软件堆栈:借助SP进行控制操作。


堆栈向上生长:新压栈的数据成为堆栈顶。


堆栈向下生长:新压入的数据远离堆栈顶。


地址大小还得看存储方式。


(5)专用寄存器区


专用寄存器区,也称特殊功能寄存器区 SFR


SPECIAL FUNCTIONREGISTER


寻址地址离散地分布在80H~FFH,共128字节的空间.而实际有用的只有21个字节,即在这一空间里只有18个专用功能寄存器,其中有3个专用功能寄存器占用了两个字节.SFR主要用于片内硬件的管理,通常只能以字节为单位借助于MOV指令直接寻址,但也有一些专用功能寄存器可以位寻址。


包含程序状态字PSW、数据指针寄存器DPTR、端口地址P0-P0、其它专用寄存器(累加器A、B)


3.片外数据存储区


片外RAM区:可寻空间为共64K 0000H~FFFFH,


总是使用MOVX类指令寻址


借助于工作寄存器R0或R1间接寻址时,可寻256字节


从片外RAM区取数据: MOVX A,@Ri i=0-1


向片外RAM区存数据: MOVX @Ri,A


借助16位的数据指针DPTR间接寻址,可寻64K字节:


从片外RAM区取数据: MOVX A,@DPTR


向片外RAM区存数据: MOVX @DPTR,A


区分是访问内部存储器还是外部存储器地址靠指令来区分。

相关阅读

M125K型外圆磨床电器控制电路原理详解

M125K型外圆磨床电器控制电路 该磨床能加工各种圆柱、圆锥外表面及轴肩端面。但是由于其自动化程度较低,仅适用于中小批单件生产。 M 1、M 2、M 3、 M 4分别是,水泵、油泵、砂轮、...
2024-03-18
M125K型外圆磨床电器控制电路原理详解

电动机保护器原理及保护器安装步骤

本文介绍了电动机保护器的工作原理,电动机保护器是经典的电机星三角启动方式,主要是保护热继电器,以下是电动机保护器的安装步骤,供大家参考。 电动机保护器原理及安装步骤...
2023-06-26
电动机保护器原理及保护器安装步骤

直流电动机的相关介绍及常见故障及处理

直流电机铭牌数据主要包括:电机型号、额定功率、额定电压、额定电流、额定转速和励磁电流及励磁方式等,此外还有电机的出厂数据,如出厂编号、出厂日期等。 国产电机的型号一...
2023-06-13
直流电动机的相关介绍及常见故障及处理

电工该如何苦练看图基本功?

学工控技术,拿10万年薪 马上注册,免费学习 超过100课时视频教程,免费下载海量学习资料 一些技术要求不可能都在图面上反映出来,也不可能在图面上一一标注清楚,因为这些技术...
2023-06-27

TL431可调并联稳压器应用电路讲解

TL431 ,主要是以下几个方面: 1、TL431是什么元件? 2、TL431 功能引脚图解 三个引脚怎么区分? 3、TL431 CAD模型 4、TL431 工作原理详解 5、TL431 好坏怎么测量? 6、TL431 并联稳压电路 7、TL4...
2023-07-04
TL431可调并联稳压器应用电路讲解

热销商品

手术衣一次性防护服打农药防尘实验服参观服加厚透气无纺布隔离衣

手术衣一次性防护服,作为一种重要的医疗防护用品,广泛应用于医院、实验室等场所。它采用加厚透气无纺布制成,具有优良的防尘、防污、防病毒能力,能有效保护医护人员免...
14

LED柜内照明灯 AC220V 4W 7W配电箱导轨式 LL10-W 高压柜内照明灯

LED柜内照明灯AC220V 4W/7W配电箱导轨式LL10-W是一款专为高压柜、配电箱等封闭电气设备设计的紧凑型照明产品。采用高效LED光源,功耗低(4W/7W可选),亮度高,寿命长,节能...
7

雷士照明led筒灯孔灯客厅吊顶天花灯嵌入式过道筒灯射灯桶灯家用

雷士照明LED筒灯是一款专为现代家居设计的嵌入式照明产品,适用于客厅、吊顶、过道、卧室等空间。采用高品质LED光源,光线柔和均匀,显色指数高,有效还原真实色彩,营造舒...
5.78

小木锤木锤子实木木榔头圆头木锤实木棰木头锤子木柄锤黄檀手工锤

小木锤采用优质黄檀木精心打造,通体实木结构,质地坚硬、纹理细腻,手感温润舒适。圆头设计兼顾敲击与整形功能,适用于木工、雕刻、家具组装及日常维修等场景。木柄经精...
3.4

雷士照明嵌入式防眩筒灯射灯窄边过道灯深杯客厅无主灯天花灯米雪

雷士照明嵌入式防眩筒灯射灯——“米雪”系列,专为现代无主灯设计打造。采用窄边深杯结构,有效控制杂散光,实现精准防眩,营造舒适柔和的光环境。适用于客厅、过道、天...
25.67

网站栏目