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


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

    相关阅读

    有刷直流电机驱动电路及其优缺点

    直流电动机已经存在了(jìn) 200 年,在此期间进行了一系列稳定的改进。最(jìn),无刷直流电机变得越来越流行,但对于许多应用来说,有刷直流电机仍然是正确的选择。有刷电机成本...
    2023-07-12
    有刷直流电机驱动电路及其优缺点

    终于找到了!电气图形符号和电气文字符号大全,快快收藏吧!

    电气图纸设计中最常见的电气符号与大家分享。 功能性文件用电气图形符号 电机发电机电气图形符号 变压器图形符号 电流电压互感器图形符号 扼流线圈 电压互感器文字符号:TV 三绕...
    2023-06-11
    终于找到了!电气图形符号和电气文字符号大全,快快收藏吧!

    电机运行2小时停止2小时依次循环程序设计

    说到电机运行,我们在设计程序时常常碰到,电机延迟启动,延迟停止,或电机启动一段时间后停止,但我们在设计程序时有没有更深入进行考虑程序的功能,就比如本文章电机运行...
    2023-06-27
    电机运行2小时停止2小时依次循环程序设计

    什么是相电流和线电流?相电流和线电流的关系、区别

    目前国内生产以及配送的都是三相交流电,主要还是因为它的电动机、发电机节能节材,并且维护也非常方便,而本文要讲的相电流正是指三相电源中流过每相负载的电流,对于一名电...
    2023-06-27
    什么是相电流和线电流?相电流和线电流的关系、区别

    数控机床常用的故障诊断方法

    1、了解故障在什么情况下发生 当发生故障时为了更快的恢复机床,首先应正确地把握故障情况,进行妥善处理是最主要,因此应根据下列内容确认故障情况。 (1)“何时”发生的故障...
    2023-03-21
    数控机床常用的故障诊断方法

    热销商品

    加厚abs安全帽电工建筑工地程施工领导监理透气防砸头盔可印字V型

    这款加厚ABS安全帽专为电工、建筑工地施工人员、领导及监理设计,采用高强度ABS工程塑料,抗冲击、防砸性能优异,有效保障头部安全。帽体加厚设计,增强耐用性与防护等级...
    5.8

    欧普led筒灯3w孔灯超薄桶灯吊顶天花灯过道嵌入式洞灯客厅5w

    欧普LED筒灯是一款高品质嵌入式照明产品,适用于客厅、过道、吊顶等多种场景。采用优质LED光源,提供3W和5W两种功率选择,光线柔和均匀,显色指数高,有效还原真实色彩。超...
    7.45

    水口钳高硬度模型剪钳电子钳工业级口水剪斜嘴钳偏口斜口专用钳子

    水口钳高硬度模型剪钳是一款工业级精密工具,专为电子、模型制作及精细作业设计。采用优质高碳钢材质,经热处理工艺打造,具备卓越的硬度和耐磨性,可轻松剪切金属引脚、...
    4.8

    170电子剪钳II 如意斜口钳 工业斜嘴钳水口钳 模型剪塑胶钳尖嘴钳

    170电子剪钳II如意斜口钳是一款专业级精密工具,集工业斜嘴钳、水口钳、模型剪、塑胶钳与尖嘴钳功能于一体,适用于电子维修、模型制作、手工艺及精密作业。其采用优...
    4.5

    安全帽国标工地加厚施工领导透气安全头盔建筑工程监理免费印字

    本款安全帽严格遵循国家GB 2811-2019标准,专为建筑工程、工地施工及监理人员设计。采用高强度ABS工程塑料,加厚壳体有效抗冲击,保障头部安全。帽体轻盈透气,内置可调...
    10

    网站栏目