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

发布者:bluepion最新更新时间:2013-12-02 来源: 21ic关键字:51单片机  RAM  数据存储区 手机看文章 扫描二维码
随时随地手机看文章

1.RAM keil C语言编程

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

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

1.jpg

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

2.jpg

图1 选择数据存储模式

2.片内数据存储区

(1) 工作寄存器区

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

3.jpg

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

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

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

4.jpg

(2)位寻址区

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

如 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

<此段摘抄,防后会使用>

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

关键字:51单片机  RAM  数据存储区 引用地址:51单片机RAM 数据存储区学习笔记

上一篇:基于51单片机设计的宿舍智能防火防盗报警系统
下一篇:51单片机扩展中断的四种方法

推荐阅读最新更新时间:2024-03-16 13:31

宇瞻发布业内首款DDR5 RDIMM工业级服务器内存
根据官方消息,宇瞻于 8 月 19 日宣布推出业界首款 DDR5 RDIMM 工业级服务器内存条,适用于数据中心、高性能工作站等使用。官方表示,该系列内存拥有高可靠性和优秀的能效,有助于提升 AI 与边缘运算的性能。    宇瞻 DDR5 RDIMM 工业级内存预计将于 2022 年第二季度与英特尔 Intel Eagle Stream 平台同步上市,适用于 Sapphire Rapids 下一代至强处理器等。 具体来看,宇瞻此款内存集成有 DDR5 RCD(注册时钟驱动器)、电源管理 IC、温度传感器以及 SPD 集线器四项全新组件,与民用的 U-DIMM 内存十分不同。这些技术能够确保内存更加稳定地运行,适用于 7×24
[半导体设计/制造]
宇瞻发布业内首款DDR5 RDIMM工业级服务器<font color='red'>内存</font>
51单片机实现DSP在线调试的一种方法
通常情况下,进行DSP系统开发调试时,都要配备一片SRAM芯片作为片外程序RAM。调试时,使用相应的仿真板将程序下载到SRAM中,这样DSP系统通过运行SRAM中的程序代码来实现相应的操作。可以看到,DSP系统调试时,关键是要将程序下载到SRAM中,因此如果能将程序代码通过单片机写入SRAM中,则同样可以完成对DSP系统的调试。下面具体介绍在不使用仿真板的情况下,如何运用单片机AT89S5l对DSP芯片TMS320LF2407进行在线调试。 1 硬件设计 1.1 TMS320LF2407在线调试的实现过程 完成DSP系统的调试,首先要将程序的源代码写入片外SRAM中。此时,单片机与SRAM组成一个系统,单片机可将分离出来的DSP
[单片机]
用<font color='red'>51单片机</font>实现DSP在线调试的一种方法
单片机的内存分配详解
对于初学者而言,对单片机的内存分配往往最让人头疼,很多人学了单片机几年 都不知道单片机内部的内存使用情况是如何分配的。要了解 ROM、RAM启动,首先 需要对 链接器 Linker 如何分配内存有一定的了解。 通常,对于栈生长方向向下的单片机,其内存一般模型是: 一个进程运行时,所占用的内存,可以分为如下几个部分: 1、栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值等。 2、堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS释放。 3、全局变量、静态变量:初始化的全局变量和静态变量放在一块区域,未初始化的全局变量和和未初始化的静态变量在相邻的的另一块区域。程
[单片机]
基于51单片机的红外计数器设计
一.系统概述 系统使用的模块有AT89C51单片机+LCD1602显示屏+光电开关+按键+小灯+蜂鸣器。 本设计采用51单片机为核心控制,使用LCD1602进行数值的显示,系统的光电开关控制数值的加减,当控制数值加的光电开关扫描到物体时,显示屏上的数值就会加1,当控制数值减的光电开关扫描到物体时,显示屏上的数值就会减1,系统内还能设置了报警阈值,按键控制阈值的大小,当数值达到阈值后就会进行报警。 二.仿真概述 1.使用LCD1602显示实时阈值和数值变换。 2.控制数值增加的光电开关扫描到物体数值增加。 3.控制数值减少的光电开关扫描到物体数值减少。 4.通过按键设定阈值,点击设置按键后按下加减按键进行阈值的设
[单片机]
基于<font color='red'>51单片机</font>的红外计数器设计
华为Mate 40系列内存升级来了:512G 999元
6月1日消息,从华为官网获悉,目前华为Mate 40、Mate 40 Pro、Mate 40 Pro+、Mate 40 RS保时捷设计四款机型已支持升级主板内存,升级至512G主板无故障优惠价均为999元。   另外,华为Mate 40/Pro两款机型还支持从128G升级至256G,主板无故障优惠价为559元。   活动页面显示,参与条件需为官方手机产品,并且无私拆、私修,主板无折断、焊点脱落、芯片私修、进液、腐蚀和变形等情况,另外,若手机屏幕碎裂,需修复后参与本活动,避免因拆机造成二次伤害。   据悉,若设备仍在保修期内,升级后的主板跟随设备原保修期,若保修期少于90天,则主板保修期延长至90天。   那么内存升
[手机便携]
华为Mate 40系列<font color='red'>内存</font>升级来了:512G 999元
内存价格降价难 三星是否垄断将被继续约谈
  凭借 内存 疯狂涨价之势, 三星 去年是大赚特赚,旗下利润营收一度创了新纪录,不过他们烦心事的也随之而来。下面就随手机便携小编一起来了解一下相关内容吧。   据证券时报报道称,目前,全球 内存 市场被国际巨头 三星 、海力士以及美光垄断,三家公司的 内存 市场占有率合计超过90%,而今年上半年内存价格丝毫没有下降的趋势。      内存价格降价难 三星是否垄断将被继续约谈   由于汇率持续升值、原物料及人工成本的持续上涨,最近全球电阻第一大厂国巨上调电阻价格,而这也被看作是内存继续上涨的信号,而内存价格的持续上涨,国内终端厂商的成本压力陡然增加。   报道中提到,国家发改委将会继续约谈 三星 ,因为现在的内存市场寡头垄断
[手机便携]
基于51单片机设计的乘法口诀模拟答题器
/******************************************************************* * LCD1602显示 * *【版权】Copyright(C) JAS All Rights Reserved * *【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! * * * ******************************************************************** *
[单片机]
内存涨价,国内厂商“机会”来了?
魔性的2020终于过去,对于半导体供应链从业者,缺货涨价估计会是他们这一年中最深刻的回忆。疫情爆发、停工停产、医疗设备需求暴增、代工厂产能不足、线上办公在家上学需求持续......这一系列连锁反应彻底打乱了2020年初的既定计划,整个产业在措手不及的应对中经历着一波又一波的缺货涨价风潮。 但这其中,存储芯片价格一直持续稳定,甚至在年中还小有下降。但从11月开始,全行业的涨价潮流终于刮到内存这里了,部分内存价格开始上涨,内存相关厂商也纷纷看涨明年的市场。国内厂商能否乘着这波趋涨行情,迎来国产替代的春天呢? 暴涨引发的大跌触底反弹,2021年内存芯片有望迎来涨价? 存储芯片主要分为DRAM内存、NAND/NOR Flash闪存等产
[手机便携]
<font color='red'>内存</font>涨价,国内厂商“机会”来了?
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved