移位寄存器是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。74LS194是一个4位双向移位寄存器,最高时钟脉冲为36MHZ
74LS194引脚功能
图1 74 LS194逻辑符号及引脚排列
其中:D0~D1为并行输入端;Q0~Q3为并行输出端;SR--右移串引输入端;SL--左移串引输入端;S1、S0-操作模式控制端; -为直接无条件清零端;CP-为时钟脉冲输入端。
74LS194功能特征
根据上面的描述,需要重点考虑的是置位、左移、右移、保持功能(异步清零不受时钟控制),一个时刻只能执行一个功能,需要一个4选1的选择器,确定执行什么功能。其电路图下图1所示(具体的功能可自行分析):
其中,S1和S0是控制端,对应的功能描述如下图2所示:
74ls194串行数据到并行数据的转换
用194可以做很多事情,如典型的环形移位器、扭环形移位器,其逻辑图如下图4所示:
如果把图4中的QA的输出变为非,则为扭环形移位器。当然,也可以利用194完成串行数据到并行数据的转换(这种转换的本质是:输入数据一位一位读取,而输出数据则一次读取),如下图5所示:
分析图5,由于S0值始终为1,S1S0有两种取值,一种为11,一种为01,当为11时,做置位操作,当为01时,做右移操作,具体分析如下(假设RxD的数据为A7A6A5A4A3AA2A1,A7先输入):
step1: 初始时,同时清零,此时右边的194的QD为0,经过一个非门后,取值为1,导致S1S0为11,做置位操作,置位为:A70111111;
step2:当时钟脉冲来临时,由于右边的194的QD为1,此时S1S0取值为01,实现右移,其状态迁移序列为:
A70111111 --》 A6A7011111 --》 A5A6A701111 --》 A4A5A6A70111 --》 A3A4A5A6A7011 --》 A2A3A4A5A6A701 --》 A1A2A3A4A5A6A70
step3:当时钟脉冲再来是,由于右边的194的QD为0,S1S0取值为11,进行置位,回到Step2,进入状态迁移循环。