8位串入、并出移位寄存器
74HC164、74HCT164 是高速硅门 CMOS 器材,与低功耗肖特基型 TTL (LSTTL) 器材的引脚兼容。74HC164、74HCT164 是 8 位边缘触发式移位寄存器,串行输入数据,然后并行输出。数据经过两个输入端(DSA 或 DSB)之一串行输入;任一输入端能够用作高电平使能端,操控另一输入端的数据输入。两个输入端或许衔接在一同,或许把不必的输入端接高电平,必定不要悬空。
时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA 和 DSB)的逻辑与,它将上升时钟沿之前坚持一个树立时刻的长度。 主复位 (MR) 输入端上的一个低电平将使其它一切输入端都无效,一同非同步地铲除寄存器,强制一切的输出为低电平。
特性
门控串行数据输入
异步中心复位
契合 JEDEC 规范 no. 7A
静电放电 (ESD) 维护:
·HBM EIA/JESD22-A114-B 超越 2000 V
·MM EIA/JESD22-A115-A 超越 200 V 。
多种封装方式
额外从 -40 °C 至 +85 °C 和 -40 °C 至 +125 °C 。
功用图
引脚信息
图 5. DIP14、SO14、SSOP14 和 TSSOP14 封装的引脚装备
引脚阐明
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, 常用元件 Add comments
Arduino选用的ATmega168芯片带12个数字I/O管脚,其间每个都能够对一个数字量进行操控,然后完成类似于点亮一个发光二极管这样的功用。在实践的工程运用里,有时咱们可能会遇到需要对更多的数字量进行操控的场合,比方一同操控16个发光二极管,这时Arduino自带的数字I/O管脚就不够用了,有必要进行相应的扩展。其间一种可行的方法便是凭借74HC595这样一个8位串入并出移位寄存器,这个芯片能够多个级连起来一同运用,因而理论上能够经过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)。