流水灯电路用拨码开关来控制某个LED亮灭,但是又不想让开关与LED一一对应,因为对应的太死,就没办法实现流水的效果。可以先用一个“并入串出”芯片,获取所有拨码开关的状态,再用一个“串入并出”的芯片,来控制多个LED。
74HC165是一个8位串行或并行输入,串行输出的移位寄存器。74HC165具有一个串行输入(DS引脚),8个并行数据输入(A-H)和两个互补串行输出的功能。当S/L引脚为低时,A-H端的数据进入移位寄存器。当S/L引脚为高时,数据从DS引脚串行进入寄存器。当使能时钟时,数据在时钟CP上升时按位输出。以下是它的引脚说明表格与功能框图,参考了几个不同型号的数据手册,加上了一些个人的理解。
引脚 | 名称 | 常见别名 | 功能 | 说明 |
1 | S/L | 并行/串行输入选择 | 为低时,并行数据进入移位寄存器;为高时,串行数据进入移位寄存器 | |
2 | CLK | CP | 时钟输入 | 上升沿有效 |
3-6 11-14 | A-H | D0-D7 | 并行数据输入 | |
7 | 末级互补输出 | 上升沿时,把移位寄存器的数据按位从此引脚输出 | ||
9 | QH | Q7 | 末级串行输出 | 上升沿时,把移位寄存器的数据按位从此引脚输出 |
10 | SI | DS | 数据串行输入 | |
15 | CLKINH | 输入时钟使能 | 低电平有效 | |
8 , 16 | GND,VCC | 地,电源 | 供电引脚 |
74HC165是“并入串出”,数据一下子全部进入寄存器,然后一位一位的输出。它的常见用法为在PL为低电平的时候,装载并行数据。然后时钟使能,在时钟输入上升沿的时候,把移位寄存器从高位开始,按位移出。串行输入可以接上一级的串行输出,实现级联,或者接自身的串行输出,形成循环。结合下列的时序图可以方便理解。输入的并行数据是10101011。