MCS-51单片机可扩展的程序存储器和数据存储器的地址空间各为多少?

MCS-51单片机可扩展的程序存储器和数据存储器的地址空间各为多少?,第1张

51的存储器从功能上来说可以分为程序存储器和数据存储器,至于到底能扩展多少存储空间,要看你扩展的是哪一类存储器。

访问存储空间时,需要用到两个指针变量,为DPTR何PC。其中pc为程序计数器,指向下一条需要执行的指令的地址,DPTR为数据指针寄存器,这两个变量的长度都为16位,这是51单片机内部结构决定的,无法改变。所以这两个指针的寻址能力都为64K。这样看来,两类存储器的扩展能力都为64K

。但是,如果你实际扩展过存储器,你就可以发现程序存储器的扩展能力并没有64K!!!

这是为什么呢????

这得从51单片机的存储空间的编址说起。这里仅作简单说明,具体可以看教科书。简单地说,内部程序存储器和外部程序存储器是一起编址的,它们分别占用64K地址的一部分,所以外部扩展时要减去内部的地址空间,当然小于64K啦。而数据存储器是内外部分别编址,内外部数据存储器用不同的指令进行访问,所以不用担心单片机会混淆内外部数据存储器,所以外部数据存储器扩展能力有64K

51单片机最大寻址空间是64K,超过64K可以用P1口对存储器进行分页,512K 存储器,可用P1.0,P1.1,P1.2接EPROM的A16,A17,A18将其分成8个64K 的存储器页.

在页间跳转必须精确定位,在页间跳转指令后面加入几条NOP空 *** 作,在跳入的页面也加入几条NOP空 *** 作,如果你扩展ROM只是为了扩充数据存储空间,那么你可以在每页开始的一段内都放入(相同的)指令程序。

如从0页换1页,当前PC=FFF0H,ROM地址:00FFF0H

SET P1.0

NOP

NOP

NOP

NOP

SET P1.0切换后:PC=FFF2H,ROM地址:01FFF2H

要特别注意的是,中断子程序必须放在每页相同的位置安排入口,单片机上电时P1.0,P1.1,P1.2都是高电平,所以,你的初始化程序入口应在ROM的070000H处。

这么高难度,您只有5分,哎!!!!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11181334.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存