为了设计时的便利, 这里我改变了数据左移和右移的参考方向, 需读者注意: 在博文"74LS194功能实验"中, 我以高->低作为参考方向, 而在本篇博文中, 我以低->高作为参考方向.
要想设计出8位双向移位寄存器, 就必须要明确74LS194的SR、SL引脚的功能: 当寄存器数据左移时, (系统CLK脉冲上升沿处)最右位由SL的状态填充; 当寄存器数据右移时, (系统CLK脉冲上升沿处)最左位由SR的状态填充. 从这里就能看出我改变数据移位参考方向的意义所在了(为了和芯片规定的移位方向保持一致). 说得更简洁一些, 现在我以QAQBQCQD排列方式为参考方向.
在弄清SR、SL引脚的功能后, 我们来看一下该如何在2片74LS194间传递数据:
①为了保持系统移位方向的一致性, 2片74LS194的S1、S0引脚分别对应相接.
②8位数据左移时, 由外部串行输入决定高位74LS194的最右位的状态: 高位74LS194的SL引脚接外部串行输入.
③8位数据左移时, 高位74LS194最左位数据传到低位74LS194最右位: 高位74LS194的QA接低位74LS194的SL.
④8位数据右移时, 由外部串行输入决定低位74LS194的最左位的状态: 低位74LS194的SR引脚接外部串行输入.
⑤8位数据右移时, 低位74LS194最右位数据传到高位74LS194最左位: 低位74LS194的QD接高位74LS194的SR.