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


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

相关阅读

电气设备绝缘的摇测方法,你记住了吗?

一、配电变压器绝缘电阻的摇测 配电变压器在安装或检修后投入运行前以及长期停用后,都要用电压为1000~2500V的摇表测量绕组绝缘电阻,测得的数值和测量时的油温应记入变压器档...
2024-08-16

常见电动机控制线路的功能与实际应用

直流电动机调速控制线路是一种可在负载不变的条件下,控制直流电动机稳速旋转和旋转速度的线路。 降压启动的直流电动机控制电路是指直流电动机启动时,将启动电阻RP串入直流电...
2023-06-25
常见电动机控制线路的功能与实际应用

遥控器背光照明电路原理详解

想通过红外发射管取信号。 拆开看了下,红外发射管一端直接接地,另一端通过一个三极管接VCC。 因为遥控器不带背光,晚上开遥控器的时候需要开灯才可以看清,所以想自己加个背...
2023-05-30
遥控器背光照明电路原理详解

PLC电源和I/O外部电源的供电系统设计

  ①PLC电源设计一般而言,PLC的基本电源一般有使用AC100V/240V与DC24V 两种类型。   当PLC采用 ACl00V/240V供电时,通常允许输入电源电压波动范围为-15%~ 10%。如:选择额定输入电压为...
2023-06-27

工厂/维修常用!中继+接触器接线口诀,一看就会

接触器接线口诀 主回粗线接三极,L进T出连设备 控制细线接线圈,A1A2分电压 点动就接按钮控,自锁并上常开点 停止串入常闭端,安全接线记心间 中间继电器接线口诀 线圈两端接信号,...
2026-05-26
工厂/维修常用!中继+接触器接线口诀,一看就会

热销商品

德国进口雅马哈风力灭火机大功率手提森林灭火器落叶工地吹雪机汽

德国进口雅马哈风力灭火机是一款高效、可靠的森林灭火和清理设备。它拥有大功率风机,能够迅速吹散落叶、杂草和积雪,有效清理工地和森林地面。这款灭火机采用先进技...
¥ 692.5

公牛开关插座面板全屋定制全屋配齐家装报价单官方正品付款链接Q9

公牛开关插座面板,为您的全屋定制家装提供一站式解决方案。我们提供全屋配齐的家装报价单,确保您的家装项目完美无缺。所有产品均为官方正品,品质保证,让您用得放心。...
¥ 1

3M自粘橡胶条高硬度耐压实心幕墙玻璃舞台搭建货架专用减震密封条

3M自粘橡胶条是一款专为高要求工业及建筑场景设计的高性能密封减震材料,采用高硬度实心橡胶材质,具备优异的耐压性、抗老化性和持久弹性。其独特的自粘背胶设计,安装...
¥ 1.6

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店,作为西门子品牌的专卖店,提供了一系列高品质、设计新颖的家居电气产品。这里销售的开关插座采用无框...
¥ 8.77

网站栏目