74HC595 芯片原理和 Arduino 使用实例 – Arduino 实验室

2016年12月20日admin未分类0

74HC595 简单说来就是具有8位移位寄存器和一个存储器,以及三态输出功能。 这里我们用它来控制8个LED小灯。我们为什么要用74HC595来控制小灯呢?一定会有很多朋友会问这个问题,我想问的是我们要是单纯的用Arduino控制8个小灯的话要占用多少个I/O呢?答案是8个,但是我们的Arduino 168有几个I/O口呢?加上模拟接口也就20个吧,这8个小灯占用了太多的资源了,我们用74HC595的目的就是减少I/O口的使用数量。用74HC595以后我们可以用3个数字I/O口控制8个LED小灯岂不美哉。

原理说明
先转一段百度百科上74HC595芯片的简介。

74HC595具有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器有相互独立的时钟。数据在SH_cp(移位寄存器时钟输入)的上升沿输入到移位寄存器中,在ST_cp(存储器时钟输入)的上升沿输入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。

看不懂吧,没关系,我们先看一下芯片的引脚图:

分别解释一下:

  • GND接地,VCC接5V电源,这个就不用说了。
  • Q0-Q7这8根引脚是芯片的输出引脚,直接跟数码管的8段引脚相连。对应关系要看你怎么接线和写代码时传送数据的顺序了。
  • DS是串行输入引脚,所谓串行就是使数据在一根信号线上按顺序一位一位地传输,就像一串糖葫芦。这个引脚我们接到树莓派任意一个GPIO口上(输出模式)。
  • SHCP是移位寄存器的时钟引脚。听上去有点复杂,其实很简单。74HC595内部有一个8位的移位寄存器用来保存从DS引脚输入的数据。那么74HC595怎么知道什么时候该从DS引脚上取数据了呢?正是通过SHCP这个时钟引脚来实现的。只有在SHCP发生一次上升沿的时候,74HC595才会从DS引脚上取得当前的数据(高/低电平)并把取到的这一位数据保存到移位寄存器里。同样的,这个引脚也接到树莓派任意一个GPIO口上。当我们向芯片发送数据时,要先在DS引脚上准备好要传送的数据,然后制造一次SHCP引脚的上升沿(先拉低电平再拉高电平),74HC595会在这个上升沿将DS引脚上的数据存入移位寄存器D0,同时D0原来的数据会顺移到D1,D1的数据位移到D2。。。D6的数据位移到D7。而原先D7的数据已经没有地方储存了,这一位数据会被输出到引脚Q7S上。这个引脚的作用我们下一篇再说,本文暂时用不到这个引脚。(注意这里说的不是输出引脚Q0-Q7,而是指内部的8位移位寄存器里每一个“小房间”,芯片手册上并没有给这些小房间编号,这里为了说明方便进行了编号)
  • STCP是芯片内部另外一个8位锁存寄存器的时钟引脚。当移位寄存器的8位数据全部传输完毕后,制造一次锁存器时钟引脚的上升沿(先拉低电平再拉高电平)。74HC595会在这个上升沿将移位寄存器里的8位数据复制到锁存器中(锁存器里原来的数据将被替换)。注意,到这里为止,这8位数据还只是被保存在锁存器里,并没有输出到数码管上。这个引脚同样连接到树莓派任意一个GPIO口上即可。
  • OE是输出使能引脚,在其他芯片里也很常见。作用是控制锁存器里的数据是否最终输出到Q0-Q7输出引脚上。低电平时输出,高电平时不输出(既不是高电平,也不是低电平而是高阻态,不通电)。本例为了方便直接接在GND上使其一直保持低电平输出数据。
  • MR是用来重置内部寄存器的引脚。低电平时重置内部寄存器(MemoryReset?)。本例为了方便直接连接在Vcc上一直保持高电平。
  • Q7S引脚,串行输出引脚,本文不使用,下一篇再解释它的作用。
  • 关于锁存器。顾名思义就是将数据保存并锁定。一旦进入了锁存器,除非断电或重置数据(MR口设置为低电平),锁存器的数据不会再改变。好处是,当你需要更新数据时,将数据串行输入移位寄存器的过程中,锁存器里的数据不会有任何影响,也就不会有闪烁了。一直到移位寄存器8位数据准备完毕,再制造一次STCP的上升沿一次性更新锁存器的数据,更新输出。

关于锁存器。顾名思义就是将数据保存并锁定。一旦进入了锁存器,除非断电或重置数据(MR口设置为低电平),锁存器的数据不会再改变。好处是,当你需要更新数据时,将数据串行输入移位寄存器的过程中,锁存器里的数据不会有任何影响,也就不会有闪烁了。一直到移位寄存器8位数据准备完毕,再制造一次STCP的上升沿一次性更新锁存器的数据,更新输出。
另外,我做了一个动画帮助你理解整个过程。

下面是我们要准备的元器件。
74HC595 直插芯片*1、红色M5 直插LED*4、绿色M5 直插LED*4、220Ω直插电阻*8、面包板*1、面包板跳线*1 扎。

准备好元件我们就按下面的原理图连接电路。

此电路图看似复杂,我们仔细分析以后再结合参考实物就会发现很简单。
下面是参考源程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int latchPin = 5;
int clockPin = 4;
int dataPin = 2; //这里定义了那三个脚
void setup ()
{
  pinMode(latchPin,OUTPUT);
  pinMode(clockPin,OUTPUT);
  pinMode(dataPin,OUTPUT); //让三个脚都是输出状态
}
void loop()
{
  for(int a=0; a<256; a++)   //这个循环的意思是让a这个变量+1一直加到到256,每次循环都进行下面的活动
  {
    digitalWrite(latchPin,LOW); //将ST_CP口上面加低电平让芯片准备好接收数据
    shiftOut(dataPin,clockPin,MSBFIRST,a);
    //这个就是用MSBFIRST参数让0-7个针脚以高电平输出(LSBFIRST 低电平)是dataPin的参数,
     //clockPin的参数是变量a,前面我们说了这个变量会一次从1+1+到256,是个十进制数,
    // 输入到芯片后会产生8个二进制数,达到开关的作用
    digitalWrite(latchPin,HIGH); //将ST_CP这个针脚恢复到高电平
    delay(1000); //暂停1秒钟让你看到效果
  }
}

下载完程序大家就可以看到8 个小灯闪烁的美妙场景了。

(0)

相关推荐

  • 通俗易懂的74HC595芯片讲解

    74HC595是一个8位串行输入.平行输出的位移缓存器:平行输出为三态输出.在SCK的上升沿,单行数据由SDL输入到内部的8位位移缓存器,并由Q7'输出,而平行输出则是在LCK的上升沿将在8位位移缓存 ...

  • 74hc595芯片使用方法

    时间:2013-08-27 17:33:35 关键字:595   74   hc   芯片    [导读]74hc595外形图74595的数据端:QA--QH: 八位并行输出端,可以直接控制数码管的8 ...

  • 【电路“芯”说】单片机IO扩展

    世界上最尴尬的事情是什么?这个我真不知道.但是做电子系统时最尴尬的事莫过于想要增加一个新的功能却发现单片机的引脚不够. 在我们日常的电路设计时,除了最基本的产品需求要满足之外,还需要考虑的就是整个电路 ...

  • 青少年机器人技术等级考试6月实操试题-视频解读

    三级 实操主题:距离指示器 知识点: (1)超声波测距 (2)舵机转动控制 (3)PWM模拟输出 (4)多分支选择结构 (5)IPO信息处理基本流程 任务描述:采用图形化编程,通过超声波传感器检测距离 ...

  • 74HC595级联介绍篇(一)

    图1 先来大概翻译下datasheet中对74HC595的总体概述: 74HC595是一个8位串行输入,可串行或并行输出的移位寄存器存储寄存器和三态输出. 移位寄存器和存储寄存器时钟都是分开的. 该设 ...

  • ESP32芯片-LEDC外设(另附Arduino代码)

    在文档内,我们就看这里就好 在大量的说明舵机之前,不妨让我们先来了解一些关于芯片本身的能力: https://docs.espressif.com/projects/esp-idf/en/latest ...

  • 心脑血管病的8种常用药,讲明药效原理和副...

    心脑血管病的8种常用药,讲明药效原理和副作用 第1种:阿司匹林--阻断血小板"互相牵手"预防血栓,可导致胃出血: 第2种:地平类药物--使血管舒张心输出量减少,可导致球形牙龈.心慌 ...

  • 全球WiFi、蓝牙、NB-IoT芯片原厂汇总(国产 VS 国外)

    WiFi芯片 蓝牙芯片 NB-IoT芯片 ---- / END / ---- 来源:ITTBANK

  • 全球WiFi、蓝牙、NB-IoT芯片原厂汇总(国产与国外)

    WiFi芯片 蓝牙芯片 NB-IoT芯片 ---- / END / ---- 注:如有遗漏错误之处请指正,联系方式如下:

  • 氮化镓芯片走向高度集成化,四大芯片原厂已经布局

    前言 氮化镓快充市场的持续升温,让众多产业链相关企业看到了机遇,纷纷布局.在氮化镓技术的助推下,"高功率.高效率.高密度"已经成为快充领域的高频词汇,但并不是所有应用了氮化镓技术的 ...

  • 氮化镓成“十四五规划”重点项目,16家芯片原厂曝光

    从2018年开始,多款基于氮化镓技术开发的快充充电器相继量产,氮化镓也正式开启了在消费类电源领域商用. 近日,氮化镓半导体材料被正式写入"十四五规划"中,这就意味着氮化镓产业将在未 ...

  • 【课件】《生物学》必修1 §5.3 细胞呼吸的原理和应

    必修1 分子与细胞 课件 PPTX文件大小292.38M 人教版<生物学>必修1课件随着教学活动的进行,正在一课一课的制作中.因为个人教学风格会左右课件的制作,所以之前课件也仅仅以图片的方 ...

  • 鸡鸭鱼肉去腥的原理和5个去腥小妙招

    鸡鸭鱼肉要做得好吃,去腥是前提,腥味去掉了,也就成功了一大半. 腥味是什么? 为了显得专业,我给腥味做一个化学定义:鸡鸭鱼肉本身含有的某种物质,或放置一段时间后产生的某种物质,这些物质散发的让人不愉快 ...