51单片机 | IO扩展(串转并)-74HC595

文章目录

    • 一、74HC595 芯片介绍
    • 二、硬件设计
    • 三、软件设计
    • 四、实验现象

  在前面的实验中,我们是直接使用单片机 IO 口控制外围设备,从 LED 流水灯到动态数码管显示,可以看到这些外围设备已经占据了很多的 IO 口,而 51单片机 IO 口非常有限,如果想要连接更多外围设备,此时可以通过 IO 扩展来实现。本节介绍一种 IO 口扩展方式- 串转并,使用的芯片是 74HC595。开发板板载 1 个 74HC595 芯片,仅需单片机 3 个 IO 口即可扩展 8 个,如果需要还可以将 2 个 74HC595 级联扩展出 16 个 IO,这就实现用少数 IO 资源控制多个设备。本节所实现的功能是:通过 74HC595 模块控制 LED 点阵以一行循环滚动显示。

一、74HC595 芯片介绍

  74HC595 是一个 8 位串行输入、并行输出的位移缓存器,其中并行输出为三态输出(即高电平、低电平和高阻抗)。芯片管脚及功能说明如下:
51单片机 | IO扩展(串转并)-74HC595_第1张图片
  上面两张都是 74HC595 芯片管脚图,可以发现左侧的 1 脚是 QB,而右侧芯片的 1 脚是 Q1,左侧芯片的 11 脚是 SCK,而右侧芯片的 11 脚是SH_CP,还有很多其他管脚不一样,其实这个都没有什么,每个人在绘制芯片管脚图时命名可能不一样而已,看一个芯片重点是管脚功能。

  • 15 和 1 到 7 脚 QA--QH:并行数据输出
  • 9 脚 QH 非:串行数据输出,将第九脚连接到另一个 芯片的第十四脚,就通过级联进行了扩展
  • 10 脚 SCLK 非( MR) : 低电平复位引脚
  • 11 脚 SCK( SHCP) : 移位寄存器时钟输入
  • 12 脚 RCK( STCP) : 存储寄存器时钟输入
  • 13 脚 G 非( OE) : 输出有效
  • 14 脚 SER( DS) : 串行数据输入

  74HC595 是具有 8 位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是单独的时钟。数据在 SCK 的上升沿输入,在 RCK 的上升沿进入到存储器中。如果两个时钟连在一起,则移位寄存器总是比存储器早一个脉冲。移位寄存器有一个串行输入(DS),和一个串行输出(Q7 非),和一个异步的低电平复位,存储寄存器有一个并行 8 位的,具有三态的总线输出,当 MR 为高电平,OE 为低电平时,数据在 SHCP 上升沿进入移位寄存器,在 STCP 上升沿输出到并行端口。

二、硬件设计

  本实验使用到硬件资源如下:

  • 8*8LED 点阵模块
  • 74HC595 模块

  开发板上的 74HC595 模块电路如下图所示:
51单片机 | IO扩展(串转并)-74HC595_第2张图片

  • 如果不使用595即不输出使能,可以用跳线帽将VCC与OE连接;如果使用595即输出使能,可以用跳线帽将OE与GND 连接。

从上图中可以看出,74HC595 需要用到的控制管脚 SERRCLKSRCL

你可能感兴趣的:(51单片机(A4开发板),51单片机)