找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8776|回复: 1
打印 上一主题 下一主题
收起左侧

关于单片机RAM的作用详解

[复制链接]
跳转到指定楼层
楼主
ID:342442 发表于 2018-10-13 08:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、内部 RAM:共 256 个单元,用户使用前 128 个单元,用于存放可读写数据,后 128 个单元被专用寄存器占用。
前 128 单元具体分为:
1.工作寄存器区:共 4 个组,每组为 8 个存储单元,即
00H-07H,08H-0FH,10H-17H,18H-1FH,具体选择哪一个由程序状态字(PSW)中的 RS1 和 RS0 的组合决定(在此我就不展开了,呵呵……)
2.位寻址区:20H-2FH,共 16 个单元,每一位可以进行位寻址(16*8=128 个位地 址),就是每一个触发位,就是 bit 可以寻址
3.便笺区:从 30H-7FH,共 80 个单元,用于存放用户数据或作堆栈区使用。

4.80H-FFH 为专用寄存器占用,其中还离散的分布 SFR21 个特殊功能寄存器)

2256B
其中 00H~7FH
可分为 3 个区域:
00H~1FH  是通用寄存器区
20H~2FH  是位寻址区
30H~7FH  是用户 RAM

80H~FFH 是特殊功能寄存器区

3AT89S51 单片机的 ram,只有 128 字节,地址范围:00H~7FH
SFR 不是 RAM,是特殊功能寄存器,地址范围:80H~FFHSFR 在其中离散分布
着。


AT89S52 单片机的 ram,就有 256 字节,地址范围:00H~FFHSFR,特殊功能寄存器,仍然在地址范围:80H~FFH。 两者的地址重叠了,区别方法如下:
80H~FFH 直接寻址,就是读写 SFR,特殊功能寄存器;对 80H~FFH 间接寻址,就是读写 RAM


先说说这几个词是什么意思:
1DATA51 的内部 RAM,只有 128B(字节)大小,不管是最新的什么增强型 单片机;

2XDATA,外部 RAM,只能使用 MOVX 寻址

3CODE,代码区,即是你的代码的大小,AT89C514KC52 8K 等,增强


型的有更多的选择。

然后说明一下,几种 RAM的区别:
1DATA,也是上面 1 提到的 DATA RAM,占 51 128B
2IDATA,大小也为 128B,与 DATA 构成 256 字节的内存(如 AT89C52
3PDATA,外部 RAM 的前 256B(就是一个页的大小),是 XDATA 的一部分;
4XDATA,外部 RAM

所以你的那个单片机的 1280B,其实组成为:
DATA  128B
IDATA128B
XDATA1024B


所以你的问题,使用片内 RAM”打勾只是软件仿真用的;你的 XDATA 用了 758B, 说明你特意用 XDATA 关键字定了这么大的内存,比如大数组或者内存模式时,使用了 lager 模式,那么编译器会自动把超出的部分放到 XDATA 里,我猜你应该 是这里选择了 lager 模式,不过你的内容这么大,也只能选择 lager 模式。

以上为原创,如果想看更详细的介绍,可以看以下链接:


单片机 C 语言 unsigned char code table[] code 是什么作用?

code 的作用是告诉单片机,我定义的数据要放在 ROM(程序存储区)里面,写 入后就不能再更改,其实是相当与汇编里面的寻址 MOVC(好像是),因为 C 语言 中没办法详细描述存入的是 ROM 还是 RAM(寄存器),所以在软件中添加了这一个语句起到代替汇编指令的作用,对应的还有 data 是存入 RAM 的意思。

程序可以简单的分为 code(程序)区,和 data (数据)区,code 区在运行的时候是不可以更改的,data 区放全局变量和临时变量,是要不断的改变的,cpu code 区读取指令,对 data 区的数据进行运算处理,因此 code 区存储在什么介质上并不重要,象以前的计算机程序存储在卡片上,code 区也可以放在 rom 里面, 也可以放在 ram 里面,也可以放在 flash 里面(但是运行速度要慢很多,主要读 flash 比读 ram 要费时间),因此一般的做法是要将程序放到 flash 里面,然后 loadram 里面运行的;DATA 区就没有什么选择了,肯定要放在 RAM 里面,放到 rom 里面改动不了。

完整的pdf格式文档51黑下载地址:
单片机关于RAM的作用 .pdf (92.78 KB, 下载次数: 44)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:289198 发表于 2018-12-20 14:10 | 只看该作者
ganxie~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表