单片机SRAM扩展实例

摘要: 扩展62C64静态RAM电路的连接如图8-3所示。 主要有下列控制信号。 存储器输入信号 接单片机 (P3.7)读输出信号。 存储器写输入信号 接单片机 (P3.6)写输出信号。 ALE连接方法与程序存储器相同。使用时应注意,访问内部和外部存储器 ...

扩展62C64静态RAM电路的连接如图8-3所示。

主要有下列控制信号。

存储器输入信号f29652e1d19648dba8b380d5396290e7.jpeg 接单片机ab0bfe42b0d46a40e5dcb710af9d326b.jpeg (P3.7)读输出信号。

存储器写输入信号outside_default.png 接单片机outside_default.png (P3.6)写输出信号。

ALE连接方法与程序存储器相同。使用时应注意,访问内部和外部存储器时,应分别使用MOV和MOVX指令。

外部数据存储器的访问:

27157d0d411afead3ab4393331f4296c.jpeg

图8-3  扩展8KB SRAM 6264<?XML:NAMESPACE PREFIX = O />

读(数据输入)指令  MOVX  A, @DPTR

                   MOVX    A, @Ri

写(数据输出)指令  MOVX    @DPTR , A

MOVX  @Ri,  A。

其中Ri为片内R0或R1寄存器、CPU与外部数据存储器间传送数据时,先要把访问的外部RAM高八位地址号送入P2中,然后才能执行上述读/写指令。

80C51系列单片机数据存储器的扩充与程序存储器的扩充类似,即完成3总线的连接,且其地址总线、数据总线、片选信号的连接方式与程序存储器完全相同。所不同的是数据存储器比程序存储器多了写信号28d747ba4ba3d4cd2b121a8dfbd80011.jpeg ,且其读信号1d4aa2b017543aca3c53575150550ae4.jpeg 与程序存储器的连接方法也不同。

1.线选寻址

所谓线选寻址是指不使用译码器,而直接用单片机地址线产生片选信号。现举例如下:

例8-1  用线选寻址方式将80C51单片机与2片62C64的连接 。

解:(1)地址总线AB的连接:80C51的P0.0~P0.7经74LS373与62C64(1)与62C64(2)的地址线低8位A0~A7相连。80C51的P2.0~P2.4与62C64(1)与62C64(2)的地址线高5位A8~A12相连。如图8-4所示。

(2)数据线DB的连接:80C51的P0.0~P0.7与62C64(1)与62C64(2)的数据线D0~D7相连。如图8-4所示。

(3)控制线CB的连接:80C51的读信号ab84a78d8ccc57f3f5e43fcb01bbc73c.jpeg 与62C64(1)、(2)的读信号d9544fd44ad2eb9b656321689962134a.jpeg 连接。用P2.7与62C64(1)的片选信号2e47c3e09da1ea208981fe598c30cfa1.jpeg 连接,用P2.7经反相器后与62C64(2)的片选信号d6aa2753d5f4e5cc94982ffa649a619b.jpeg 连接。当P2.7=0 时选中62C64(1),当P2.7=1 时选中62C64(2)。见图8-4。

(4)存储器地址空间的分配

fe07d27d779a768ada32116d2f62b084.jpeg

31cc4699d0006675b0030ebbe9a48288.jpeg

说明:线选连接后存储器单元的地址往往是不唯一的;程序存储器也可用类似方法扩展。

2.全译码寻址                                    

全译码寻址是指使用译码器产生片选信号。现举例如下:

例8-2  用全译码寻址方式将80C51单片机与2片62C64的连接。

解:用P2.5、P2.6、P2.7与74LS 138译码器的输入端A、B、C连接,而将其输出端的36c8e078d498a5b6e55184f99856573c.jpeg7002a750d6e7a0f953b36cd83d933ac0.jpeg 分别与62C64(1)、62C64(2)的片选信号ca08cc3a8872836ff1cb9bdc7a0e3ca0.jpeg 连接,见图8-5。在图8-5中,要使27C64(1)的片选信号有效,必须使6ff59631c2453054dd3f5826d1dc6495.jpeg 有效,要使bee8b83adcc560c61290f2a0d03a6c21.jpeg 有效又必须使74LS138译码器输入端输入001,即P2.7P2.6P25=001,同样要使62C64(2)被选中,则P2.7P2.6P25=010。由此可推出二个芯片的地址空间范围如下:

存储器地址空间的分配

b4a49e1e4d06a147259ede02dae4de4b.jpeg

feab415bd2754b3ee4822bc5628a31c8.jpeg

说明:由于采用了全译码方式,2个芯片的地址是唯一的;程序存储器也可用此方法扩展。

3.程序与数据存储器的混合扩展

在实际使用的单片机系统中,既有程序存储器又有数据存储器,因此程序与数据存储器的混合扩展是掌握单片机系统的重要技术之一,下面用例子来说明程序与数据存储器混合扩展的方法。

ab1bdc2c0d8bf6a398c941a16298faf6.jpeg

例8-3 将80C51与1片程序存储器27C64、2片数据存储器62C64进行全译码连接。解:连接图如8-6三个芯片的地址空间范围如下:

d374878f85d635edcf872dcd9ae72f51.jpeg

问题1  若要求存储器的地址空间分配如下:

      62C64(1)   0000H~1FFFH

  27C64        2000H~3FFFH

      62C64(2)   4000H~5FFFH    应如何处理?

由此可见地址空间的分配,就是74LS 138译码器输出端ee9998ebd152570302b0b7b0978b051d.jpeg 与片选信号cc1e1a7d75afb752248ba97c4fc47aec.jpeg 的连接问题,方法是:

①根据存储器芯片0号单元的二进制地址算出P2.7P2.6P2.5的取值。

②由P2.7P2.6P2.5的取值确定74LS138译码器输出信号e816870febf455d6f28aee13312440db.jpeg

③将74LS138译码器输出信号dd7b6f160801ca27582d8884afa17ede.jpeg 连接到存储器芯片的片选信号edd8bd299c605beecedfffad0e5385e0.jpeg 即可 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电子课堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值