工作原理图GND 接地,VCC 接 5V 电源,这个就不用说了
Q0—Q7 这 8 根引脚是芯片的输出引脚,直接跟数码管的 8 段引脚相连
对应关系要看你怎么接线和写代码时传送数据的顺序了
DS 是串行输入引脚,所谓串行就是使数据在一根信号线上按顺序一位一位地传输,就像一串糖葫芦
这个引脚我们接到树莓派任意一个 GPIO 口上(输出模式)
SHCP 是移位寄存器的时钟引脚
听上去有点复杂,其实很简单
74HC595 内部有一个 8 位的移位寄存器用来保存从 DS 引脚输入的数据
那么 74HC595 怎么知道什么时候该从 DS 引脚上取数据了呢
正是通过 SHCP 这个时钟引脚来实现的
只有在 SHCP 发生一次上升沿的时候,74HC595 才会从 DS 引脚上取得当前的数据(高/低电平)并把取到的这一位数据保存到移位寄存器里
同样的,这个引脚也接到树莓派任意一个 GPIO 口上
当我们向芯片发送数据时,要先在DS 引脚上准备好要传送的数据,然后制造一次 SHCP 引脚的上升沿(先拉低电平再拉高电平),74HC595 会在这个上升沿将 DS 引脚上的数据存入移位寄存器 D0,同时 D0 原来的数据会顺移到 D1,D1 的数据位移到 D2
D6 的数据位移到 D7
而原先 D7 的数据已经没有地方储存了,这一位数据会被输出到引脚Q7S 上
这个引脚的作用我们下一篇再说,本文临时用不到这个引脚
(注意这里说的不是输出引脚 Q0-Q7,而是指内部的 8 位移位寄存器里每一个“小房间”,芯片手册上并没有给这些小房间编号,这里为了说明方便进行了编号)STCP 是芯片内部另外一个 8 位锁存寄存器的时钟引脚
当移位寄存器的 8 位数据全部传输完毕后,制造一次锁存器时钟引脚的上升沿(先拉低电平再拉高电平)
74HC595 会在这个上升沿将移位寄存器里的 8 位数据复制到锁存