MCS-51 单片机的存储器地址空间如何划分?

MCS-51 单片机的存储器地址空间如何划分?各地址空间的地址范围和容量如何?
悬赏分:100 | 解决时间:2011-3-19 21:24
------------------------------------------------------
最佳答案:
关于MCS-51 单片机的存储器地址空间,讲起来,要用几页的篇幅。
简单介绍如下:
MCS-51的存储器有片内RAM、片外RAM 和 ROM 三个空间。
--------
片内RAM:
地址范围是00H到7FH (52系列延伸到FFH)。
其中00H到1FH,共32字节,分成四个工作寄存器区,每区有寄存器 R0~R7。
对此区域,可以使用 R0~R7 来操作,代码短捷,但是,只有一个当前工作区是可以这样读写的。
对此区域,也可以使用字节地址,来读写。
--
20H-2FH,共16字节,是位寻址区,共有128个“位”,位地址:00~7FH。
此区域,也可按照字节寻址,来读写。
--
30H-7FH,没有什么特色,只进行字节寻址。
--
80H-FFH,共有128个地址号码,其中离散的分布着21个特殊功能寄存器,必须直接寻址才能读写。
(52系列,在此范围,还有128字节的 RAM,必须间接寻址才能读写)。
对上述空间读写,必须使用 MOV 指令。
--------
片外RAM:
片外RAM的地址范围是0000H到FFFFH,容量即为64KB。
对片外RAM读写,必须使用 MOVX 指令。
--------
ROM:
ROM的地址范围是0000H到FFFFH,容量即为64KB。
其中0000~0FFFH,即4K,在片内,其它在片外。
(对于8031,这64K的ROM,都在片外。)
对ROM读出,必须使用 MOVC 指令。
------------------------------------------------------
回答时间:2011-3-14 17:00
回答者: 做而论道
原题网址:http://zhidao.baidu.com/question/236838392.html
======================================================
另一个问题:
mcs-51单片机片内的ram的寄存器区有多少个单元?
悬赏分:0 | 解决时间:2011-3-19 11:06
------------------------------------------------------
最佳答案:
mcs-51单片机片内的ram的寄存器区,共有32个单元。
分成四个区,每个区都有8个单元,称为R0~R7。
但是只有一个区,是当前工作区,才可以用R0~R7来寻址。
------------------------------------------------------
回答时间:2011-3-19 08:21
回答者: 做而论道
提问者对于答案的评价:xx
原题网址:http://zhidao.baidu.com/question/239605818.html
======================================================
另一个问题:
内部RAM的高128B就是SFR吗?由什么来区分?
悬赏分:5 | 解决时间:2011-3-17 19:00
------------------------------------------------------
最佳答案:
内部RAM的高128B,自然还是RAM。
只有52系列的单片机,内部有256字节的RAM,才有“内部RAM的高128B”的说法。
对于51系列的单片机,内部有128字节的RAM,没有“内部RAM的高128B”的说法。
---------
52系列的单片机,RAM的高128B,地址号码与SFR相同。
虽然地址号码相同,但是它们是完全不同的,RAM就是RAM,SFR就是SFR。
由什么来区分?
高128B的RAM,必须间接寻址;
SFR,必须直接寻址。
---------
51的单片机,根本就没有高128B的RAM,所以不存在区分的问题。
高128B,是21个SFR。
低128B,就是“内部RAM”。
读写SFR,也必须直接寻址。
---------
SFR就是SFR,和内部RAM没有任何关系。
RAM和SFR,不要混着说。
即不要说:内部RAM的高128B就是SFR,同样,
也不要说:SFR的低128B就是内部RAM。
------------------------------------------------------
回答时间:2011-3-11 14:32
回答者: 做而论道
提问者对于答案的评价:谢谢
原题网址:http://zhidao.baidu.com/question/235696245.html
======================================================
另一个问题:
单片机的ROM的容量为4KB。这里的是4KB等于多少bit?
请问:地址空间0000H~0FFFH容量为4KB。0000H~FFFFH容量为64KB,这没错吧?
可是每个地址含有16个二进制位,......我哪里理解错啦?求高手解答!
悬赏分:25 | 解决时间:2011-3-19 13:55
最佳答案:
------------------------------------------------------
每个地址含有16个二进制位,不是的。
每个地址含有8个二进制位。
单片机的数据线,是8条,所以每个地址只有8个二进制位。
单片机的地址线,是16条,所以共有64K个地址。
------------------------------------------------------
回答时间:2011-3-18 23:47 | 我来评论
回答者: 做而论道
提问者对于答案的评价:这么解释我就明白了。
原题网址:http://zhidao.baidu.com/question/239069143.html
======================================================
另一个问题:
在MCS-51单片机系统中,扩展的程序存储器和数据存储器都使用16位地址线和8位数据线,为什么不发生冲突?
-----------------------------------
回答:
扩展片外存储器,使用的是三总线结构,即AB、DB和CB。
楼主仅仅说出了16位地址线和8位数据线,这只是AB和DB。
另外的控制总线(CB)如下:
扩展程序存储器,使用PSEN引线,来控制对其读出;
扩展数据存储器,使用RD和WR引线,来控制对其读写。
因为控制总线不同,所以不发生冲突。
-----------------------------------
回答者: 做而论道 | 2011-3-20 12:18
原题网址:http://zhidao.baidu.com/question/239089025.html
======================================================

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值