简介
通常情况下,考虑一个小型应用,您需要在Arduino(或任何微控制器)的帮助下驱动8个LED。该应用程序虽然是一个非常简单的应用程序,但需要使用Arduino Board的8个可用输入/输出引脚:每个LED一个。
现在考虑一个稍微先进的项目,你的要求是驱动相同的8个LED,还做其他的事情,比如在16×2液晶显示器上显示信息或任何信息,或者通过蓝牙设备连接以通过智能手机控制LED !!!/span》
这种类型的大型项目会占用Arduino板上的大量I/O引脚,并且可能没有足够的引脚用于连接其他设备。
什么是移位寄存器?
移位寄存器基本上是串行到并行转换器IC。它基本上通过一个引脚进行串行输入(技术上你需要至少3个引脚,我将在后面讨论)并将其转换为8位并行输出,从而有效地减少了微控制器与其之间的接口引脚数量。输出设备。
还有其他类型的移位寄存器,如串行输入并行输出(我们感兴趣的那个),串行输入串行输出,并行输入串行输出和并行输入并行OUT。有关移位寄存器的更多信息,请访问移位寄存器类型和应用程序。
在此项目中,我将使用串行输入和并行输出类型移位寄存器IC称为74HC595。
简要说明74HC595移位寄存器IC
如上所述早些时候,74HC595 IC是一个8位串行输入并行OUT移位寄存器。它是16引脚IC,提供各种封装,如DIP,SOIC,SSOP和TSSOP。
74HC595移位寄存器的引脚图
下图显示了74HC595移位寄存器的引脚图。
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 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控制
服务器
电力基础设施
电子设备
简单的串行到并行数据转换
捕获和保持逻辑
-
移位寄存器
+关注
关注
3文章
258浏览量
22263 -
74HC595
+关注
关注
7文章
191浏览量
30838 -
Arduino
+关注
关注
188文章
6468浏览量
186913
发布评论请先 登录
相关推荐
评论