Ardunio开发实例-使用74HC595移位寄存器扩展I/O口

本文通过Arduino UNO R3介绍如何使用74HC595移位寄存器扩展I/O口,以控制多个LED。详细讲解了硬件连接、软件设置及代码实现,包括流水灯效果和通过PWM控制LED亮度,展示了移位寄存器在物联网项目中的应用。
摘要由CSDN通过智能技术生成

使用74HC595移位寄存器扩展I/O口

在数字电路中,移位寄存器(英语:shift register)是一种在若干相同时间脉冲下工作的以触发器级联为基础的器件,每个触发器的输出接在触发器链的下一级触发器的“数据”输入端,使得电路在每个时间脉冲内依次向左或右移动一个比特,在输出端进行输出。这种移位寄存器是一维的,事实上还有多维的移位寄存器,即输入、输出的数据本身就是一些列位。实现这种多维移位寄存器的方法可以是将几个具有相同位数的移位寄存器并联起来。

很多单片机的I/O口有限,需要扩展,移位寄存器提供了一个简单的解决方案。在本次实例里,将使用74HC595移位寄存器来实现对多个LED的控制。

1、硬件准备

  • Arduino UNO R3开发板一块
  • 数据线一条
  • 笔记本电脑(PC)一台
  • 连接线
  • 8个发光LED
  • 8个220欧阻
  • 面板板一个

74HC595寄存器的说明

74HC595有16个脚位,每个脚位的名称如下:

这是我的带有RTC(实时时钟)的数字时钟项目,它使用4位数字和7段显示,包括有趣的温度和湿度特性。 在显示控制中,我使用Arduino Uno R3和74HC595的02 IC(带输出锁存器的8位移位寄存器)。 移位寄存器使用对于保存Arduino的输出端非常重要,并且仅需Arduino的3个输出即可控制显示。 有两种突破:一种是针对温度(ºC-摄氏/ºF-华氏度)和湿度(以%为单位)的传感器,另一种针对RTC(实时时钟)。 组装非常简单,但是必须注意跳线的连接。 组件的组装非常简单,但是由于电线连接,您需要仔细遵循原理图。此项目中有2个移位寄存器:一个用于控制显示的每个部分,另一个用于控制显示的内容。 以下二进制数据表示LED显示屏的数字(0至9)与段(A至G)之间的关系: B01111110-0 B00110000-1 B01101101-2 B01111001-3 B00110011-4 B01011011-5 B01011111-6 B01110000-7 B01111111-8 B01111011-9 为了在LED显示屏上依次显示时间,温度和湿度的所有数据,我使用了带有函数millis()和while()的“计时器” 。在这种情况下,每条信息的03秒钟后将依次在显示屏上显示每条信息。简单高效。 您可以通过几种不同的方式应用此函数millis()来管理程序运行期间的时间。在许多情况下,您可以使用它代替某些计时器库。 另一个有用的功能是digitalWrite() 可以简化将数据写入移位寄存器的过程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

视觉&物联智能

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值