简述51单片机的存储器逻辑空间分布,并说明当存储器地址发生重叠时应如何处?

 我来答
数码王子胖
高粉答主

2020-11-01 · 专注于电子产品,数码产品相关类型。
数码王子胖
采纳数:5273 获赞数:16703

向TA提问 私信TA
展开全部
MCS-51单片机存储器结构
1、 程序存储器
MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。
8051片内有4kB的程序存储单元,其地址为0000H—0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。但在程序存储中有些特殊的单元,这在使用中应加以注意:
其中一组特殊是0000H—0002H单元,系统复位后,PC为0000H,单片机从0000H单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中存放一条无条件转移指令,让CPU直接去执行用户指定的程序。
另一组特殊单元是0003H—002AH,这40个单元各有用途,它们被均匀地分为五段,它们的定义如下:
0003H—000AH 外部中断0中断地址区。
000BH—0012H 定时/计数器0中断地址区。
0013H—001AH 外部中断1中断地址区。
001BH—0022H 定时/计数器1中断地址区。
0023H—002AH 串行中断地址区。
可见以上的40个单元是专门用于存放中断处理程序的地址单元,中断响应后,按中断的类型,自动转到各自的中断区去执行程序。因此以上地址单元不能用于存放程序的其他内容,只能存放中断服务程序。但是通常情况下,每段只有8个地址单元是不能存下完整的中断服务程序的,因而一般也在中断响应的地址区安放一条无条件转移指令,指向程序存储器的其它真正存放中断服务程序的空间去执行,这样中断响应后,CPU读到这条转移指令,便转向其他地方去继续执行中断服务程序。
2、 数据存储器
数据存储器也称为随机存取数据存储器。MCS-51单片机的数据存储器在物理上和逻辑上都分为两个地址空间,一个是内部数据存储区和一个外部数据存储区。MCS-51内部RAM有128或256个字节的用户数据存储(不同的型号有分别),它们是用于存放执行的中间结果和过程数据的。MCS-51的数据存储器均可读写,部分单元还可以位寻址。
8051内部RAM共有256个单元,这256个单元共分为两部分。其一是地址从00H—7FH单元(共128个字节)为用户数据RAM。从80H—FFH地址单元(也是128个字节)为特殊寄存器(SFR)单元。从图1中可清楚地看出它们的结构分布。
在00H—1FH共32个单元中被均匀地分为四块,每块包含八个8位寄存器,均以R0—R7来命名,我们常称这些寄存器为通用寄存器。这四块中的寄存器都称为R0—R7,那么在程序中怎么区分和使用它们呢?聪明的INTEL工程师们又安排了一个寄存器——程序状态字寄存器(PSW)来管理它们,CPU只要定义这个寄存的PSW的第3和第4位(RS0和RS1),即可选中这四组通用寄存器。对应的编码关系如图2所示。
内部RAM的20H—2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位寻址区共有16个字节,128个位,位地址为00H—7FH。位地址分配如表1所示,CPU能直接寻址这些位,执行例如置“1”、清“0”、求“反”、转移,传送和逻辑等操作。我们常称MCS-51具有布尔处理功能,布尔处理的存储空间指的就是这些为寻址区。
沙里波特
2021-04-06 · TA获得超过5329个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:656万
展开全部

MCS-51 单片机的存储器,采用了哈佛结构。

 即:程序、数据,分别编址。

 程序、数据,两者互不相关,这就绝对没有“地址重叠”的现象。

 (题目问:重叠时如何处...? 属于【误导】。)

程序存储器 ROM

 程序存储器的地址范围:0000H~FFFFH,共有 64K。

 其中有 4K 在单片机内部。地址范围是 0000H~0FFFH。

 如果不用片内的,单片机的 EA 端应接低电平。

数据存储器 RAM

 MCS-51 单片机的 RAM 有:片内、片外两部分

 片外 RAM 的地址范围:0000H~FFFFH,共有 64K。

 片内 RAM 有 256 个地址:00H~FFH。(52 系列的增强型单片机。)

  从 00H~1FH 共 32 个单元分为四个工作寄存器组,每组含八个寄存器:R0—R7。

  从 20H~2FH 共 16 字节,为位寻址区,共有 128 个位,位地址为 00H~7FH。

  其余地址的存储单元,均无特色了。

 

此外,在单片机芯片中,还含有一些外部设备,其接口地址为:80H~FFH。

这些,是 IO 设备接口,不属于存储器。所以,就不讨论了。


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2022-05-21 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:81%
帮助的人:8340万
展开全部

51 单片机,存储器地址发生重叠?

没有的事!

51 单片机的存储器,是哈佛结构。

程序存储器、数据存储器,是各自独立的。

绝不会出现“存储器地址发生重叠”的现象。

-------------------

只有 80x86 CPU,采用的是“冯诺依曼”结构。

计算机,只有一个存储器。

全部的程序、数据,都存在一起。

此时,才有可能“存储器地址发生重叠”。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式