173 2438 5004
KEROS加密芯片——品牌直销 | 免费样品 | 技术支持
当前位置:网站首页 > 资讯中心 正文 资讯中心

单片机如何拓展寻址空间

htxw 2023-03-13 资讯中心 24 ℃

51单片机如何扩展512K的程序存储器(EPROM)?芯片是M27C4001

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分,哎!!!!

51单片机怎样扩展32k的ram,使其地址范围为2000H-5FFFH?

1、地址范围为2000H-5FFFH,只有16K。

2、将16KRAM的寻址地址脚a0-a12连接到单片机的16位扩展后的低13位地址线A0-A12上。A14接到a13上。然后用异或逻辑,将单片机A13,A14这两位做逻辑得到RAM的/CS=(A14^A13)。

=====

建议更换内部扩展RAM,或变换寻址地址范围。

想使指令寻址范围扩大到64K,可采用什么方法,举出三种例子

你是指单片机吗?8位单片机的寻址范围本身就是64K,只不过某些单片机将其中部分寻址空间另作他用了。

如果原寻址空间是32K,增加一个IO口,寻址高32K时,设置输出为1,反之为0。对于单片机而言,主要就是这种方法,如果有其它方法,也是换汤不换药!

如果要三种方案,假设单片机原始寻址范围是32768~65535,以下就是:

方案一:外部存储器是64K,那么,单片机A15不用,将IO口连接到RAM的A15

方案二:外部存储器是32K两片,除片选线之外,其它都并联至单片机,地址线用A0~A15,采用两个IO口,低32K和高32K,分别使其中一个IO口有效。

方案三:外部存储器是32K两片,除片选线之外,其它都并联至单片机,地址线用A0~A15,采用一个IO口,外接一个反相器,反相器前后分别接两片存储器的片选。

如何计算单片机扩展芯片的地址

前一个图:

每片27128的容量是128kbit,也就是8根数据线、14根地址线。4片27128刚好分完51的全部外部寻址空间。

因此P2口的最高两位通过2-4译码器连接4片27128的片选,分配了映射空间。

第1片:分配了最低的128kbit空间,当P2[7:6]为00时选通,也就是[0000H:3FFFH]。

第2片:分配了次低的128kbit空间,当P2[7:6]为01时选通,也就是[4000H:7FFFH]。

第3片:分配了次高的128kbit空间,当P2[7:6]为10时选通,也就是[8000H:BFFFH]。

第4片:分配了最高的128kbit空间,当P2[7:6]为11时选通,也就是[C000H:FFFFH]。

后一个图类似,你自己分析分析应该没什么问题。

51单片机如何扩展大容量的EPROM?芯片是M27C4001

这个常用翻页访问的方法。如果口线资源有富余的话就用口线直接做高位地址线,比如用P1口,那么就相当与多了8条地址线,这样总寻址空间就到了16M了。如果口线资源用做其他功能了,就在64K空间中划一个地址出来连接一个锁存器(比如74HC273)或者接口芯片(如8255/8155等)用这些扩展的芯片的输出做高位地址,这样也可以扩展到足够大。

单片机如何拓展寻址空间的介绍到此就结束了,感谢您耐心阅读,谢谢。

本文标签:单片机如何拓展寻址空间

<