|
74HC573和74LS373原理一样,8数据锁存器。主要用于数码管、按键等等的控制 1. 真值表 参见74LS373的PDF的第2页: Dn LE OE On H H L H L H L L X L L Qo X X H Z 这个就是真值表,表示这个芯片在输入和其它的情况下的输出情况。 每个芯片的数据手册(datasheet)中都有真值表。 布尔逻辑比较简单,在此不赘述; 2. 高阻态 就是输出既不是高电平,也不是低电平,而是高阻抗的状态;在这种状态下,可以 多个芯片并联输出;但是,这些芯片中只能有一个处于非高阻态状态,否则会将芯 片烧毁; 高阻态的概念在RS232和RS422通讯中还可以用到。 3. 数据锁存 当输入的数据消失时,在芯片的输出端,数据仍然保持; 这个概念在并行数据扩展中经常使用到。 4. 数据缓冲 加强驱动能力。74LS244/74LS245/74LS373/74LS573都具备数据缓冲的能力。 OE:output_enable,输出使能; LE:latch_enable,数据锁存使能,latch是锁存的意思; Dn:第n路输入数据; On:第n路输出数据; 再看这个真值表,意思如下: 第四行:当OE=1是,无论Dn、LE为何,输出端为高阻态; 第三行:当OE=0、LE=0时,输出端保持不变; 第二行第一行:当OE=0、LE=1时,输出端数据等于输入端数据; 结合下面的波形图,在实际应用的时候是这样做的: a. OE=0; b. 先将数据从单片机的口线上输出到Dn; c. 再将LE从0->1->0 d. 这时,你所需要输出的数据就锁存在On上了,输入的数据在变化也影响不到输 出的数据了;实际上,单片机现在在忙着干别的事情,串行通信、扫描键盘……单 片机的资源有限啊。 在单片机按照RAM方式进行并行数据的扩展时,使用movx @dptr, A这条指令时,这 些时序是由单片机来实现的。 后面的表格中还有需要时间的参数,你不需要去管它,因为这些参数都是几十ns级 别的,对于单片机在12M下的每个指令周期最小是1us的情况下,完全可以实现;如 果是你自己来实现这个逻辑,类似的指令如下: mov P0,A ;将数据输出到并行数据端口 clr LE setb LE clr LE ;上面三条指令完成LE的波形从0->1->0的变化 74ls573跟74LS373逻辑上完全一样,只不过是管脚定义不一样,数据输入和输出端 |