分享2种地址锁存法
地址锁存概述
由于51单片机的P0口是地址和数据复用,所以如果要想利用P0口的地址进行译码,就必须对P0口的地址输出进行暂时锁存,以便在后面时序中进行利用。目前,根据51单片机的时序特性,在进行地址锁存时一般可以采用两种地址锁存方案:高电平地址锁存法和下降沿地址锁存法,需要说明的是,这里所述的“高电平”和“下降沿”两个概念是针对51单片机的ALE端信号而言。下面结合具体的电路详细介绍。
1. 高电平地址锁存法高电平地址锁存法中选用74LS373或者74LS573芯片,以74LS573为例,其真值表如表4-5所示。
表4-5 74LS573真值表
由真值表不难看出,这个芯片的特点是在输出控制端OE有效(低电平)的前提下,当锁存端LE为高电平时,输出端Q随着输入端D变化,而当LE为低电平时,输出端Q保持上一次的输入端数据,这样的逻辑正好符合有关单片机ALE端信号的变化情况,即ALE端为高电平时,单片机P0口的低8位地址信号输出到74LS573的输入端,而输出端跟随变化,一旦ALE变为低电平,74LS573便不再跟随单片机的P0口地址变化,因为这时(应该是过一会儿)P0口马上就要输出8位“数据”了,这样便完成了单片机低8位地址的锁存。如图4-21所示为单片机的高电平地址锁存法接线图。
图4-21 单片机的高电平地址锁存法接线图
2. 下降沿地址锁存法下降沿地址锁存法在实际设计中并不是很常见,但是这里仍做一个简单的介绍,目的是让读者开拓思路,了解问题的实质。在这种方法中选用74LS374或者74LS574芯片,以74LS374为例,其真值表如表4-6所示。
表4-6 74LS374真值表
由真值表不难看出,这个芯片的特点是在输出控制端
有效(低电平)的前提下,当锁存端LE输入上升沿信号时,输入端D的信号才能送到输出端Q,而当LE为非上升沿时,输出端Q保持上一次的输入端数据,这样的逻辑正好符合我们在第一节分析的有关单片机ALE端信号的变化情况,即ALE端为高电平时,单片机P0口的低8位地址信号输出到74LS374的输入端,但是输出端不跟随输入端变化,一旦ALE信号变为低电平,这样便瞬间产生了一个下降沿,但是74LS374需要的是一个上升沿信号才能将数据从输入端传进输出端,为此,必须在ALE与CLK端进行反相。这样,在单片机整个读写数据的过程中,74LS374的输出端,也就是锁存的单片机的低8位地址就不再变化了,因为ALE端信号在一次读写过程中是始终保持低电平的,不会再次产生下降沿,也就不会再次更新74LS374的输出端,也同样完成了单片机低8位地址的锁存。如图4-22所示为单片机的下降沿地址锁存法接线图。
图4-22 单片机的下降沿地址锁存法接线图