关于单片机RAM的作用

来源:本站
导读:目前正在解读《关于单片机RAM的作用》的相关信息,《关于单片机RAM的作用》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《关于单片机RAM的作用》的详细说明。
简介:介绍了有关单片机存储器的基本知识

一、内部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为专用寄存器占用,其中还离散的分布SFR(21个特殊功能寄存器)

二、256B

其中00H~7FH

可分为3个区域:

00H~1FH 是通用寄存器区

20H~2FH 是位寻址区

30H~7FH 是用户RAM区

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

三、AT89S51单片机的ram,只有128字节,地址范围:00H~7FH。

SFR不是RAM,是特殊功能寄存器,地址范围:80H~FFH,SFR在其中离散分布着。

AT89S52单片机的ram,就有256字节,地址范围:00H~FFH。

SFR,特殊功能寄存器,仍然在地址范围:80H~FFH。

两者的地址重叠了,区别方法如下:

对80H~FFH直接寻址,就是读写SFR,特殊功能寄存器;

对80H~FFH间接寻址,就是读写RAM。

先说说这几个词是什么意思:

1,DATA,51的内部RAM,只有128B(字节)大小,不管是最新的什么增强型单片机;

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

3,CODE,代码区,即是你的代码的大小,AT89C51为4K,C52为8K等,增强型的有更多的选择。

然后说明一下,几种RAM的区别:

1,DATA,也是上面1提到的DATA RAM,占51的128B;

2,IDATA,大小也为128B,与DATA构成256字节的内存(如AT89C52)

3,PDATA,外部RAM的前256B(就是一个页的大小),是XDATA的一部分;

4,XDATA,外部RAM

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

DATA :128B

IDATA:128B

XDATA:1024B

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

提醒:《关于单片机RAM的作用》最后刷新时间 2024-03-14 01:08:59,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《关于单片机RAM的作用》该内容的真实性请自行鉴别。