🔥作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 🎬擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:硬件知识,本专栏为记录项目中用到的知识点,以及一些硬件常识总结 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖
74HC164D 是一个 8位串行输入、并行输出移位寄存器。它的主要功能是将串行数据(一位一位地输入)转换为并行数据(8位同时输出),常用于微控制器的IO口扩展。
74HC164D寄存器datasheet下载地址:74HC164器件规格书
以常见的14引脚SOIC或DIP封装为例:

引脚编号 | 引脚名称 | 功能 |
|---|---|---|
1 | A | 串行数据输入 A |
2 | B | 串行数据输入 B |
3 | Q0 | 移位寄存器第0位输出 |
4 | Q1 | 移位寄存器第1位输出 |
5 | Q2 | 移位寄存器第2位输出 |
6 | Q3 | 移位寄存器第3位输出 |
7 | VSS | 电源地 (GND) |
8 | CP | 时钟输入,上升沿触发移位 |
9 | /MR | 主复位,低电平有效。当为低电平时,清除所有输出(Q0-Q7为低) |
10 | Q4 | 移位寄存器第4位输出 |
11 | Q5 | 移位寄存器第5位输出 |
12 | Q6 | 移位寄存器第6位输出 |
13 | Q7 | 移位寄存器第7位输出 |
14 | VCC | 电源正极 (通常为 +2.0V 至 +6.0V,常用 5V 或 3.3V) |
关键引脚详解:
A & B。为了正常使用,通常会将其中一个引脚作为数据输入,另一个接高电平(使能数据输入);或者将两个引脚连接在一起,作为一个数据输入使用。A & B 的值送入第一位 Q0。工作过程可以想象成一个 8个座位的传送带:
/MR 为高电平,传送带准备就绪。假设所有座位(Q0-Q7)都是空的(0)。1),并将其放置在 A & B 输入端。CP 引脚一个上升沿脉冲。 1。0)。1 移动到了Q1,而新的 0 进入了Q0。1,0,1,1,0,0,1,0,那么最终 Q0(最先输入的)为 1,Q7(最后输入的)为 0。时序图是关键,它清晰地展示了数据、时钟和输出之间的关系:
时钟 CP: __|--|__|--|__|--|__|--|__ ... (每个上升沿触发)
数据 A&B: =[D0]=[D1]=[D2]=[D3]= ... (在时钟上升沿前必须稳定)
输出 Q0: =[D0]===================== ...
输出 Q1: ======[D0]================ ...
输出 Q2: ===========[D0]=========== ...
... (数据依次向后传递)这是最经典的应用。用一个只有3个引脚(数据、时钟、复位)的微控制器,就可以控制8个甚至更多的LED。
0b10101010)通过串行方式移入74HC164,完成后8个LED就会根据预设的模式点亮。如果需要驱动超过8个设备,可以将多片74HC164级联。
74HC595 是74HC164的一个强有力的竞争对手,它也是一个8位串行输入、并行输出移位寄存器,但它多了两个关键特性:
因此,在驱动LED或数码管等应用中,74HC595通常比74HC164更受青睐。
74HC164D 是一款简单、经济、高效的 “串并转换” 芯片。它的核心价值在于 用时间换空间,通过串行通信的方式,用少数几个IO口换取大量的并行输出能力。尽管在有更优秀的替代品(如74HC595)的今天,它仍然是理解移位寄存器原理和进行简单IO扩展的绝佳教学工具和实用选择。