怎样在Arduino中使用74HC595移位寄存器

电子说

1.3w人已加入

描述

简介

通常情况下,考虑一个小型应用,您需要在Arduino(或任何微控制器)的帮助下驱动8个LED。该应用程序虽然是一个非常简单的应用程序,但需要使用Arduino Board的8个可用输入/输出引脚:每个LED一个。

现在考虑一个稍微先进的项目,你的要求是驱动相同的8个LED,还做其他的事情,比如在16×2液晶显示器上显示信息或任何信息,或者通过蓝牙设备连接以通过智能手机控制LED !!!/span》

这种类型的大型项目会占用Arduino板上的大量I/O引脚,并且可能没有足够的引脚用于连接其他设备。

这里有移位寄存器IC来救援。

什么是移位寄存器?

移位寄存器基本上是串行到并行转换器IC。它基本上通过一个引脚进行串行输入(技术上你需要至少3个引脚,我将在后面讨论)并将其转换为8位并行输出,从而有效地减少了微控制器与其之间的接口引脚数量。输出设备。

还有其他类型的移位寄存器,如串行输入并行输出(我们感兴趣的那个),串行输入串行输出,并行输入串行输出和并行输入并行OUT。有关移位寄存器的更多信息,请访问移位寄存器类型和应用程序。

在此项目中,我将使用串行输入和并行输出类型移位寄存器IC称为74HC595。

简要说明74HC595移位寄存器IC

如上所述早些时候,74HC595 IC是一个8位串行输入并行OUT移位寄存器。它是16引脚IC,提供各种封装,如DIP,SOIC,SSOP和TSSOP。

74HC595移位寄存器的引脚图

下图显示了74HC595移位寄存器的引脚图。

Arduino

74HC595移位寄存器的引脚说明

下表介绍了74HC595移位的引脚注册简要。

图钉编号 图钉名称描述

15,1-7QA,QB - QH QA - QH(8)输出引脚

8GND接地针

9QH‘QH’输出

10SRCLR‘重置输入

11SRCLK时钟输入

12RCLK存储寄存器时钟输入

13OE’输出启用

14SER串行输入

16VCC电源电压

注意:有几家制造商74HC595移位寄存器IC和每个制造商的命名约定可能不同。根据制造商查看数据表。以上引脚名称来自德州仪器(TI)提供的数据表。

如何使用74HC595移位寄存器与Arduino?

让我构建一个简单的电路,我将只使用Arduino UNO的三个引脚并控制8个LED。这可以通过使用带有Arduino的74HC595移位寄存器实现。

需要连接到Arduino的移位寄存器的三个引脚是引脚11(时钟输入) ,12(存储寄存器时钟输入或简称锁存器输入)和14(数据输入)。

所有8个LED将连接到移位寄存器IC。 (电路设计部分的更多细节)。

电路图

下图显示了74HC595移位寄存器与Arduino UNO接口的电路图。

Arduino

所需组件

Arduino UNO

74HC595移位寄存器IC

面包板

8 X LED

8X1KΩ电阻器

5V电源

连接电线

电路设计

首先,将74HC595移位寄存器的串行输入引脚连接到Arduino的引脚4。然后将时钟和锁存引脚(即74HC595的引脚11和12)分别连接到Arduino的引脚6和5。

现在,将8个LED与单独的限流1KΩ电阻连接到74HC595 IC的8个输出引脚。接通电源后,将单独的5V电源连接到74HC595 IC,将公共GND连接到Arduino,而不是从Arduino提供5V电压。

代码

以下是按顺序打开LED的简单代码。

工作

现在让我们尝试了解这个项目的工作情况。最初,当字节变量LED设置为0时,所有LED都将关闭。现在,使用“bitSet”功能将每个位设置为1,并使用“shiftOut”功能将其移出。

相应地,每个LED将以相同的顺序打开。如果要关闭LED,可以使用“bitClear”功能。

应用程序

74HC595移位寄存器IC或任何类似的移位寄存器可用于以下应用:

LED控制

网络交换机

服务器

电力基础设施

工业控制

电子设备

简单的串行到并行数据转换

捕获和保持逻辑

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分