使用74系列芯片作为I/O并行扩展的常见于过去单片机I/O口不够的情况,而且是需要大量的内存和程序存储器严重不足的情况下。
开关量输出的扩展经常使用的芯片是74LS273/74LS373/74LS573/74LS574等;这些芯片的共同特点是具有数据锁存的功能;
开关量输入的扩展经常使用的芯片是74LS244/74LS245/74LS240等;这些芯片的特点是三态门,可以把多个芯片的输出,并联在一起而不会互相影响;
通过138、139、153等译码选通芯片,把RD/WR/地址的高位信号(高3位或者高4位,看单片机系统中的芯片的数量)接到译码芯片,把译码芯片的输出接到锁存器的锁存输入,或者缓冲器的选通输入。下面以74LS138为例。
要特别注意到,对245、574、273等使用TTL芯片以RAM方式做I/O扩展的,跟8255、8155、8253、8251、62256等系列芯片不一样的地方,就是:
1)8255、8155、8253、8251、62256等芯片本身有wr、rd、ce等信号,所以138的地址译码输出,可以直接接到CE;但是,245、574、273等芯片,没有wr或者rd信号,因此,如果系统中有这样的芯片扩展,就需要把wr或者rd加入到138中;
2)对于245或者244,要把数据读到数据总线上,芯片的数据的使能端必须是WR和地址译码数据的混和;
3)对于要把数据总线上的数据,锁存到574或者273的数据输出端口上,必须锁存器的LE,是地址和wr的混和;
因此,138的接法是:
1、A15-》138的A2(3)
2、A14-》138的A1(2)
3、A13-》138的A0(1)
4、RD和WR接74LS00,00的输出接138的E3(6)
5、138的输出接245的E或者574的CLK;
这样,使用 MOVX a,@dptr的时候,才能在245的E上出现带地址的RD信号;
使用 MOVX @dptr,A的时候,才能在574的CLK上出现带地址的WR信号;
参见574的真值表,可见,E应该接低电平;
373、573与273、574有所区别:
1、573是从低-》高-》低,在从高-》低的瞬间,锁存数据;但是,在高电平的时候,数据是直通的,所以也可以使用这个特性做缓冲器,把LE直接接高电平;OE是三态门,直接接地;
2、但是138的输出是,当地址的输入有效的时候,是低电平,其它时间是高电平,所以在时序上跟573是不配合的,因此,573不能作为数据锁存器,除非138的输出加一个反向门接到LE;
而574是上升沿锁存数据,138的输出直接作为锁存脉冲即可;
如果系统中没有8255、8155、8253、8251、62256这样的芯片,也可以使用139,RD和wr分别接入一个2-4译码器,译码器的输出分别接到245的E和574的LE,这样可以省去一个74LS00。
地址、数据、RD、WR等时序是51在MOVX a,@dptr或者MOVX @dptr,A时自动产生的。
245、244不具备锁存的功能,具备选通输入或者输出的功能,所以可以作为扩展I/O输入;
245、244同时作为总线芯片的另外一个特点是驱动能力加强了,可以提供比较大的输出电流,所以经常用来直接驱动光耦、发光管等,也可以用于驱动微型的继电器!
也可以利用三态门的选通功能,把作为多个子板(地址不同)的输出并联在一起,
三态门芯片主要是74LS245、74LS244和74LS240;还有一些芯片但是不怎么常用;
1、数据总线:
只能使用74LS245,因为数据总线是双向的;而74LS245是双向的总线驱动器,有一个芯片管脚DIR是控制方向的;
2、地址总线
使用74LS244,也可以使用74LS245,因为245的输入输出排列在芯片一侧,比较好布线
74LS240比较少使用到,因为它是反向的。
244、245作为数据总线和地址总线芯片使用在:
1、电路板上大量使用TTL芯片,比如,74LS574、74LS273、74LS245、74LS244作为I/O并行扩展;因为芯片比较多,单片机的数据和地址总线驱动能力比较弱,无法带动这么大的负载;
而且,往往电路板的面积比较大,线路比较长;使用总线驱动芯片成了唯一的选择;
2、多板结构的仪器或者设备,例如STD总线的CPU模板和其它的接口模板;还有ISA总线的板卡,尤其是工控行业的ISA总线的I/O板,更是经常看见一片74LS245;这是作为数据总线驱动芯片的;
3、也可以利用三态门的选通功能,把作为多个子板(地址不同)的输出并联在一起
例如在我设计的一个多板的系统中,每个板子有2位的地址;一共有16个输出;
每个电路板根据地址选择其中的4路输出;其它的12路为高阻态。
通过拨码开关作为地址选择输出是哪4路;
然后把这4块的电路板的输出通过背板并联接到一个CPU板进行处理,解决了这4块同样的电路板输出并联在一起的问题。
文章评论(0条评论)
登录后参与讨论