2、低8 位地址锁存
通常的设计电路是使用8D 锁存器74LS373 实现地址锁存,74HC573 与之逻辑功能相同,只是引脚布局不一样,使用74HC573 布线更容易。
74LS373 真值表如图4所示。
在输出允许OE 为L、控制使能LE 为H 时,输出为跟随状态;
OE 为L、LE 为L 时,输出为保持状态。
地址锁存电路如图5 所示。OE 接地,LE 接单片机的ALE脚将产生满足时序的低8 位地址信号。
执行以下三条指令会得到如图6所示的时序图。
MOV DPTR,# 0FF55H;低8 位地址为55H
MOV A,# 0AAH;待发送数据0AAH→A( 55H 取反)
MOVX,@DPTR,A;A 中的0AAH送地址为0FF55H 的对象中会。
从图6 中可以看出,P0 口先送55H,在ALE 下降沿实现地址锁存,随后送出数据0AAH,在WR 有效( 低电平) 期间锁存器输出低8 位地址55H,P0 口送出数据0AAH。
3、带译码器的复杂地址接口电路
理论上高8 位地址线可以产生256 个有效地址,如何实现地址“扩展”呢? 地址扩展准确描述是地址译码,例如3 根地址线可以译码成8 个地址,4根译码成16 个有效地址。这里选择3-8 译码器实现地址译码,电路图以及对应的编址如表1 所示。
五、单片机总线编址电路实例
带总线扩展接口的单片机系统,包括外部32k RAM 扩展、LCD1602 接口、输入输出口。
带编址扩展的单片机最小系统电路如图7 所示。
使用74HC573 锁存低8 位地址;74138 实现8 个地址扩展,74138 的A、B、C 接A8 ~A10,E1 接A15, E2、E3 接地常有效,得到0F8FFH 到0FFFFH8 个地址( 无关位用1 表示) 或者8000H 到8700H( 无关位用0 表示) 。
32k RAM 接口如图8 所示。
D0~D7 接数据总线P0 口,地址线A0~A14接单片机地址总线低15 位,单片机地址线A15 接RAM 片选信号,低电平有效,这样RAM 地址分配从0000H 到7FFFH,与74138 译码地址不冲突。