【物联网】超详细的74HC595应用指南:以STM32控制点阵屏为例【附74HC595芯片使用教程】

  • 一、功能概述:
  • 二、芯片的基本介绍
  • 三、引脚及功能
  • 四、内部结构和原理
  • 内部结构:
  • 实现原理:
  • 五、多个74HC595级联
  • 连接图:
  • 连接步骤:
  • 六、点阵屏
  • 连接图:
  • 控制流程:
  • 使用STM32F103控制点阵屏
  • 1. 硬件连接:
  • 2. 控制逻辑:
  • 3. 示例代码:
  • 七、应用场景
  • 一、功能概述:

    平时我们需要实现使用单片机点亮一个LED灯,那就要使用一个配置一个单片机的GPIO口输出高电平,但是点阵屏大到广告屏少说也有几百个LED灯,先不说浪费引脚的问题,单是单片机是否有这么多个GPIO口,这种情况下74HC595就派上用场了,它可以将串行的数据输出转化成并行输出的形式,这就使用1个GPIO口就可以控制8个LED,经过级联可以实现更少的IO口,这就是这个芯片最简单,也是最广泛的应用。

    二、芯片的基本介绍

    74HC595芯片是一种8位移位寄存器,可以通过串行数据输入的方式将数据存储在内部的寄存器中,并通过并行数据输出的方式将数据输出到相应的输出引脚上。它还具有级联能力,可以通过多个芯片级联扩展输出位数。它的主要功能包括:

    1. 8位移位寄存器:可以存储8位二进制数据。
    2. 串行数据输入:通过SER引脚输入数据。
    3. 时钟输入:通过SRCLK引脚提供时钟信号。
    4. 数据锁存:通过RCLK引脚锁存数据。
    5. 并行数据输出:通过QA~QH引脚输出数据。

    三、引脚及功能

    引脚及其功能
    以下是74HC595芯片的引脚及其功能的详细说明:

    1. VCC (Pin 16):

    2. 功能: 正电源引脚,用于给芯片供电。
    3. 连接: 将此引脚连接到正电源(通常为+5V)。
    4. GND (Pin 8):

    5. 功能: 地引脚,为芯片提供电路共同的参考地。
    6. SER (Pin 14):

    7. 功能: 串行输入引脚,用于输入要移位的数据。
    8. 连接: 将此引脚连接到微控制器或其他输出源的数据引脚。
    9. SRCLK (Pin 11):

    10. 功能: 移位寄存器时钟引脚,用于控制数据移位。
    11. 连接: 将此引脚连接到微控制器或其他控制源的时钟引脚。
    12. RCLK (Pin 12):

    13. 功能: 输出寄存器时钟引脚,用于锁存数据并输出到输出引脚。
    14. 连接: 将此引脚连接到微控制器或其他控制源的时钟引脚。
    15. QA-QH (Pins 15-1):

    16. 功能: 并行输出引脚,输出锁存的数据。
    17. 连接: 这些引脚连接到目标设备,例如LED点阵屏或其他外部设备的行选引脚。
    18. OE (Pin 13):

    19. 功能: 输出使能引脚,用于控制输出引脚的使能状态。
    20. 连接: 根据设计需求,将此引脚连接到高电平或低电平,以使输出引脚处于使能或禁用状态。

    四、内部结构和原理

    内部结构:

    74HC595芯片由一个移位寄存器和一个输出寄存器组成。移位寄存器用于接收串行输入数据并进行位移操作,输出寄存器用于锁存移位寄存器中的数据并提供并行输出。

    实现原理:

    1. 数据输入:

    2. 串行输入:输入数据通过SER引脚以串行方式输入到移位寄存器中。
    3. 时钟信号:SRCLK引脚提供时钟信号,当信号上升沿到达时,移位寄存器中的数据将进行位移操作。
    4. 数据位移:

    5. 移位操作:在每个时钟脉冲上升沿时,移位寄存器中的数据向左移动一位,新的数据从SER引脚输入并进入移位寄存器的最低位。
    6. 串行输入:通过连续的位移操作,数据位逐渐从SER引脚传递到移位寄存器的高位。
    7. 数据锁存和并行输出:

    8. 数据锁存:当需要锁存数据时,使用RCLK引脚提供一个时钟信号。在信号上升沿到达时,移位寄存器中的数据将被锁存到输出寄存器中。
    9. 并行输出:输出寄存器中的数据通过并行输出引脚(QA~QH)提供,并可连接到外部设备,如LED点阵屏。每个引脚对应输出寄存器中的一个位,其状态取决于锁存的数据。

    通过该移位寄存器和输出寄存器结构,74HC595允许我们通过串行输入数据并通过逐位位移的方式控制并行输出引脚,实现对外部设备的控制。通过适时提供时钟信号,可以控制数据的输入、位移和输出锁存的时机,从而实现灵活的数据控制和显示效果。

    五、多个74HC595级联

    连接图:

    连接步骤:
    1. 第一步:将第一个74HC595的QH'引脚(引脚9)连接到第二个74HC595的SER(引脚14)引脚,这将建立级联连接。
    2. 第二步:连接第一个74HC595的SRCLK(引脚11)RCLK(引脚12)引脚以及第二个74HC595的SRCLK(引脚11)引脚,以相同的时钟信号驱动两个芯片。
    3. 第三步:将第一个74HC595的QA-QH引脚(引脚15-1)连接到需要控制的8位输出设备的输入引脚。
    4. 第四步:将第二个74HC595的QA-QH引脚(引脚15-1)连接到另外8位输出设备的输入引脚。
    5. 第五步:分别连接每个74HC595的VCC引脚(引脚16)到正电源(通常为+5V),并将两者的GND引脚(引脚8)连接到共同的地线。

    通过这种级联连接的方式,使用两枚74HC595芯片可以实现十六位输出控制。数据通过SER引脚串行输入到第一个芯片的移位寄存器,然后逐位向第二个芯片的移位寄存器传递。通过控制时钟信号,数据被移位和锁存到输出寄存器,并通过QA-QH引脚并行输出到外部设备。这样,您就可以通过编程控制和控制信号模式来控制这十六位输出设备的状态。

    六、点阵屏

    点阵屏是以逐行扫面的方式进行的,要不断刷新显示数据,间隔时间很少,所以在人眼上看就是同步进行的。

    连接图:

    控制流程:

    控制LED点阵屏的基本流程如下:

  • 输入要显示的图案或字符的数据,通常使用一个8×8的二维数组存储。
  • 逐行遍历二维数组,按行输出数据到74HC595的SER引脚。
  • 在每次输出数据之前,通过SRCLK引脚提供一个上升沿时钟信号,将数据移位至寄存器。
  • 在所有数据输入完成后,通过RCLK引脚提供一个上升沿时钟信号,将数据锁存到寄存器中。
  • 通过级联的74HC595芯片,逐行输出控制LED点阵屏的行选引脚。
  • 在一定的时间间隔后,刷新显示下一行的数据,通过调节刷新速度可以实现持续的动画效果。
  • 使用STM32F103控制点阵屏
    1. 硬件连接:
  • 将STM32F103的相应引脚与74HC595芯片进行连接,例如将STM32F103的GPIO引脚连接到74HC595的SER(串行数据输入)、SRCLK(移位寄存器时钟)和RCLK(锁存寄存器时钟)引脚。
  • 将74HC595芯片的输出引脚(QA-QH)连接到LED点阵屏的行选和列选引脚。
  • 2. 控制逻辑:
  • 准备要显示的图案或字符的编码数据,将其存储到适当的变量或数组中。
  • 编写逻辑代码来控制数据的传输和控制信号的生成,以实现位移寄存器和锁存寄存器的操作。
  • 使用适当的时钟信号触发数据的位移和锁存,使数据从移位寄存器移入到输出寄存器中,并在输出寄存器中锁定。
  • 使用GPIO引脚控制数据信号的传输和时钟信号的周期性触发。
  • 3. 示例代码:
    #include "stm32f10x.h"
    
    // 定义74HC595芯片引脚连接
    #define SER\_PIN GPIO\_Pin\_0
    #define SRCLK\_PIN GPIO\_Pin\_1
    #define RCLK\_PIN GPIO\_Pin\_2
    **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
    
    **深知大多数嵌入式工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
    
    **因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
    
    ![img](https://i3.wp.com/img-blog.csdnimg.cn/img_convert/3ffcfb174dd6b4d68f901fac2fcf7c50.png)
    
    ![img](https://i3.wp.com/img-blog.csdnimg.cn/img_convert/0af1c8c9437977a380bb1bdf0e64855f.jpeg)
    
    ![img](https://i3.wp.com/img-blog.csdnimg.cn/img_convert/db198cc2a6ca132c7050860b13752685.png)
    
     **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!**
    
    ![img](https://i3.wp.com/img-blog.csdnimg.cn/img_convert/3de085d568ca97d73ebbb22b429427f1.png)
    
    ![img](https://i3.wp.com/img-blog.csdnimg.cn/img_convert/67c4901745815c79ee8154c3f587d8ca.png)
    
     
    
    **由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
    
    **如果你觉得这些内容对你有帮助,可以+V:Vip1104z获取!!! (备注:嵌入式)**
    
    <img src="https://img-community.csdnimg.cn/images/73bb5de17851459088c6af944156ee24.jpg" alt="img" style="zoom: 67%;" />
    
    
    
    # 最后
    
    **资料整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~**
    
    **你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!**
    
    04z获取!!! (备注:嵌入式)**
    
    <img src="https://img-community.csdnimg.cn/images/73bb5de17851459088c6af944156ee24.jpg" alt="img" style="zoom: 67%;" />
    
    
    
    # 最后
    
    **资料整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~**
    
    **你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!**
    
    **[更多资料点击此处获qu!!](https://bbs.csdn.net/topics/618376385)**
    

    作者:cheryl0317

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【物联网】超详细的74HC595应用指南:以STM32控制点阵屏为例【附74HC595芯片使用教程】

    发表回复