8位串行输入并行输出移位寄存器74HC164、74HCT164是一款高速硅栅极CMOS器件,与低功耗肖特基TTL (LSTTL)器件引脚兼容。74HC164、74HCT164是一个8位边沿触发移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端子(DSA或DSB)之一串行输入;任一输入端都可用作高电平使能端,以控制另一输入端的数据输入。两个输入端要么连在一起,要么不用的输入端连接到高电平,不得悬空。
每当时钟(CP)从低电平变为高电平时,数据向右移位一位,并输入到Q0,Q0是两个数据输入端(DSA和DSB)的逻辑和,它将在时钟上升沿之前保持一个建立时间的长度。主复位(MR)输入的低电平将使所有其它输入无效,同时,寄存器将被异步清零,迫使所有输出为低电平。
特征选通串行数据输入
异步中央复位
符合JEDEC标准no。7A
静电放电(ESD)保护:
Hbmeia/jesd22-a114-b超过2000 v。
梅西亚/JESD 22-A115-A超过200 V
多种包装形式
额定温度范围为-40至85和-40至125
逻辑图
Pin信息
图5。dip 14、 so14、 ssop 14和TSSOP14封装的引脚配置
Pin描述
8位并入和1位串出移位寄存器,比较简单,就不介绍了,直接上传代码和测试文件即可。
顶层文件如下:
计数器递增1以为移位寄存器提供控制信号。移位寄存器部分分为三部分,CNT 0,cnt=0,CNT 0(当然不能小于0)。
在CNT“0”的情况下,从低7位向上7位移位一位;在cnt=0的条件下,将din赋值给d _ reg在CNT"0的情况下,保持d_reg。
最后,只需将d_reg的最高位分配给dout即可。
测试文档如下:
波形测试,达到移位寄存器的目的。如下所示:
74HC595串行输入和并行输出8位移位寄存器Arduino,通用元件添加注释。
Arduino使用的ATmega168芯片有12个数字I/O引脚,每个引脚可以控制一个数字量,从而实现类似点亮发光二极管的功能。在实际工程应用中,有时我们可能会遇到需要控制更多数字量的情况,比如同时控制16个发光二极管。这时候Arduino的数字I/O引脚就不够用了,我们必须相应的扩展。一种可行的方法是使用8位串行输入并行输出移位寄存器,如74HC595。这种芯片可以在多个阶段一起使用,因此理论上它可以通过Arduino上有限数量的引脚(至少三个)产生任意数量的数字输出。
74HC595的数据相关引脚可分为三类:
DS:串行数据输入,连接到Arduino的数字I/O引脚。
Q0 ~ Q7: 8位并行数据输出,可直接控制8个led或一个七段数码管的8个管脚。
' Q7 '级联输出端,连接74HC595的下一个DS,实现多个芯片之间的级联。
74HC595有四个控制相关引脚:
SH_CP:移位寄存器的时钟输入。在上升沿,移位寄存器中的数据依次移动一位,即Q0中的数据移动到Q1,Q1中的数据移动到Q2,以此类推。移位寄存器中的数据在下降沿保持不变。
ST_CP:存储寄存器的时钟输入。在上升沿,移位寄存器中的数据进入存储寄存器,在下降沿,存储寄存器中的数据保持不变。在应用中,ST_CP通常设置为低电平,然后在ST_CP端产生一个正脉冲来更新移位后的显示数据。
MR: RESET,在低电平时清除移位寄存器中的数据,通常在施加时直接连接到高电平(VCC)。
OE:允许输出,高电平(高阻态)禁止输出。如果针脚不紧,可以用Arduino的一个针脚控制,很容易产生闪烁和熄灭的效果。在实际应用中,它可以直接连接到低电平(GND)。
标签:器数据移位