首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >74HC164D芯片介绍

74HC164D芯片介绍

作者头像
一个平凡而乐于分享的小比特
发布2026-02-02 16:08:26
发布2026-02-02 16:08:26
2040
举报

🔥作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 🎬擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:硬件知识,本专栏为记录项目中用到的知识点,以及一些硬件常识总结 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

74HC164D芯片介绍

核心摘要

74HC164D 是一个 8位串行输入、并行输出移位寄存器。它的主要功能是将串行数据(一位一位地输入)转换为并行数据(8位同时输出),常用于微控制器的IO口扩展。

74HC164D寄存器datasheet下载地址:74HC164器件规格书

  • “移位寄存器”:意味着它内部有一串触发器(D触发器),像一个数据队列,每个时钟脉冲来临时,队列中的数据会向前移动一位。
  • “串行输入”:数据通过一两个引脚,每次只输入1比特。
  • “并行输出”:芯片有8个输出引脚(Q0 to Q7),可以同时输出内部8位寄存器的全部数据。

详细规格与特性
1. 引脚定义与功能

以常见的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。为了正常使用,通常会将其中一个引脚作为数据输入,另一个接高电平(使能数据输入);或者将两个引脚连接在一起,作为一个数据输入使用。
  • 时钟 CP: 当时钟信号从低电平变为高电平(上升沿)时,会发生两件事:
    1. 寄存器中所有位的数据都向后移动一位(Q0 -> Q1, Q1 -> Q2, …, Q6 -> Q7)。
    2. 将当前 A & B 的值送入第一位 Q0。
  • 主复位 /MR: 这是一个异步复位引脚。只要这个引脚被拉低,立即将所有输出 Q0-Q7 清零,无需时钟脉冲。正常工作时,必须将其接高电平。
2. 工作原理与时序

工作过程可以想象成一个 8个座位的传送带

  1. 初始状态/MR 为高电平,传送带准备就绪。假设所有座位(Q0-Q7)都是空的(0)。
  2. 输入数据: 确定你要输入的第一个比特(比如 1),并将其放置在 A & B 输入端。
  3. 时钟脉冲: 给 CP 引脚一个上升沿脉冲。
    • 动作: 传送带向前移动一个座位。第一个座位(Q0)现在坐上了新来的数据 1
    • 输出状态: Q0=1, Q1-Q7=0
  4. 输入下一个数据: 输入第二个比特(比如 0)。
  5. 第二个时钟脉冲
    • 动作: 传送带再次移动。原来在Q0的 1 移动到了Q1,而新的 0 进入了Q0。
    • 输出状态: Q0=0, Q1=1, Q2-Q7=0
  6. 重复过程: 重复步骤2和3共8次,就可以将8个串行比特数据全部装入移位寄存器。
  7. 并行输出: 此时,8个输出引脚 Q0-Q7 上的电平就代表了刚刚输入的8位数据。例如,如果你输入的数据序列是 1,0,1,1,0,0,1,0,那么最终 Q0(最先输入的)为 1,Q7(最后输入的)为 0

时序图是关键,它清晰地展示了数据、时钟和输出之间的关系:

代码语言:javascript
复制
时钟 CP:   __|--|__|--|__|--|__|--|__ ... (每个上升沿触发)
数据 A&B:  =[D0]=[D1]=[D2]=[D3]= ... (在时钟上升沿前必须稳定)
输出 Q0:   =[D0]===================== ...
输出 Q1:   ======[D0]================ ...
输出 Q2:   ===========[D0]=========== ...
... (数据依次向后传递)
3. 关键参数
  • 工作电压: 2.0V 至 6.0V,与微控制器常用的3.3V和5V完美兼容。
  • 高速操作: 在5V电压下,最高时钟频率可达几十MHz。
  • 输出电流: 每个输出引脚可以驱动多个LED,具体电流值需查阅数据手册。
  • 低功耗: 属于HC系列,静态功耗极低。

典型应用电路
1. LED点阵或数码管驱动

这是最经典的应用。用一个只有3个引脚(数据、时钟、复位)的微控制器,就可以控制8个甚至更多的LED。

  • 连接方式
    • 微控制器的1个IO口接74HC164的数据输入(A和B)。
    • 另一个IO口接时钟(CP)。
    • 复位(/MR)接高电平或由另一个IO口控制。
    • 74HC164的8个输出口通过限流电阻连接到8个LED的阳极,LED阴极共地。
  • 工作流程: 微控制器将希望LED亮灭的模式(如 0b10101010)通过串行方式移入74HC164,完成后8个LED就会根据预设的模式点亮。
2. 多级级联扩展输出口

如果需要驱动超过8个设备,可以将多片74HC164级联。

  • 连接方式
    • 第一片的Q7输出连接到第二片的数据输入(A和B)。
    • 所有芯片的时钟(CP)和复位(/MR)引脚分别并联在一起。
  • 工作流程: 要输出16位数据,微控制器先发送后8位,再发送前8位。在16个时钟脉冲后,先发送的位会移动到第二片芯片中,后发送的位留在第一片芯片中,从而实现16位并行输出。

优点与缺点
优点:
  1. 接口简单: 仅需2-3个微控制器IO口,即可控制8个输出,极大地节省了宝贵的IO资源。
  2. 成本低廉: 芯片非常普遍且价格便宜。
  3. 易于级联: 可以轻松地扩展出16、24、32甚至更多的输出口。
缺点:
  1. 输出无锁存: 在移位过程中,输出引脚上的数据是不断变化的,这可能会导致LED产生“闪烁”或“鬼影”现象。如果需要稳定的输出,需要在所有数据移位完成后再启用负载(例如,使用带输出使能的芯片如74HC595,或通过其他电路控制)。
  2. 速度相对较慢: 对于需要大量输出的应用,串行移位需要时间,比直接并行输出慢。
与74HC595的对比

74HC595 是74HC164的一个强有力的竞争对手,它也是一个8位串行输入、并行输出移位寄存器,但它多了两个关键特性:

  1. 输出锁存器: 它有一个单独的“锁存时钟”引脚。数据可以先在内部移位寄存器中移动,而输出保持不变。当所有数据就位后,一个锁存信号将数据从移位寄存器一次性拷贝到输出锁存器,从而消除移位过程中的闪烁。
  2. 三态输出: 输出可以被设置为高阻态,允许总线共享,更容易实现多片芯片输出隔离。

因此,在驱动LED或数码管等应用中,74HC595通常比74HC164更受青睐

总结

74HC164D 是一款简单、经济、高效的 “串并转换” 芯片。它的核心价值在于 用时间换空间,通过串行通信的方式,用少数几个IO口换取大量的并行输出能力。尽管在有更优秀的替代品(如74HC595)的今天,它仍然是理解移位寄存器原理和进行简单IO扩展的绝佳教学工具和实用选择。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 74HC164D芯片介绍
    • 核心摘要
    • 详细规格与特性
    • 典型应用电路
    • 优点与缺点
    • 与74HC595的对比
    • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档