如何级联移位寄存器(74HC595)


        在这个项目中,我们将使用 74HC595 移位寄存器将 2 个移位寄存器级联在一起。这样级联移位寄存器现在可以控制 16 个输出。

        当然您可以级联任意数量的移位寄存器。如果您要级联第三个移位寄存器,它可以控制 24 个输出。如果您级联第四个移位寄存器,它可以控制 32 个输出。

        但在这个项目电路中,我们将只级联一个移位寄存器,总共有2个。

        级联移位寄存器非常简单,只要您知道如何操作即可,因为 74HC595 专门设计为能够添加额外的移位寄存器。因此,只要您知道如何连接它,它就非常简单。

        如上所述,优点是我们可以控制更多输出。我们将添加 一个移位寄存器,我们就可以控制 16 个输出。

        我们需要为这个项目准备16个电阻器和 LED。

组件:

  • 74HC595移位寄存器
  • 16 个 LED
  • 16个220Ω电阻
  • Arduino

        74HC595 移位寄存器是电子行业中最流行、应用最广泛的移位寄存器之一。单个 74HC595 可以控制 8 个输出。这意味着它可以控制例如 8 个 LED。

        该移位寄存器共有16个引脚。

        移位寄存器的引脚排列如下所示。

74HC595移位寄存器引脚排列


下表总结了这些引脚连接。

别针功能
QA-QH移位寄存器的输出一个8个输出引脚
VCC (引脚16)移位寄存器电源接口
GND(引脚 8)移位寄存器的接地
Q H '(引脚 9)串行输出用于将数据移位到另一个 74HC595 移位寄存器(级联引脚
CLEAR (引脚 10)这会将移位寄存器中的所有位设置为 0,拉低则关闭。清除寄存器引脚
SRCLK(引脚 11)如果拉高,这会将移位寄存器中的所有值向前移动一位。存入引脚
RCLK(引脚 12)当拉高时,它会输出新的移位寄存器值。输出数据引脚(将寄存器中的数据输出到对应的管脚)
OE(引脚 13)当接地时启用输出,当高电平时禁用输出。(常接地)使能引脚
SER(引脚 14)这是新串行数据的输入引脚。(接arduino 开发板管脚)

        首先我们接通电源。因此我们将移位寄存器的 两个 V CC连接到 5V arduino 端子。我们将移位寄存器的接地连接到 GND arduino 端子。这样可以为两个移位寄存器提供足够的电源。

        接下来,我们将两个SRCLK(引脚 11)连接到 arduino 的数字引脚 9。

        我们将RCLK(引脚 12)连接到 arduino 上的数字引脚 8。

        对于第一个移位寄存器,我们将串行数据输入引脚14连接到 arduino 上的数字引脚7。第二个移位寄存器上的数据输入将与Q H '(引脚 9)连接。

        由于我们要级联一个额外的移位寄存器,因此对于移位寄存器,我们将串行数据输出线连接到第二个移位寄存器上的串行数据输入线。这样可以让数据无缝地从移位寄存器流到第二个移位寄存器,我们可以将其理解成级联形成了一个16位的移位寄存器。

        最后,我们将 LED 连接到输出引脚 Q A - Q H。我们为每个 LED 连接一个限流 220Ω 电阻。

        74HC595 移位寄存器有 8 个输出。这意味着您可以将最多 8 个输出设备(例如 LED 或蜂鸣器)连接到移位寄存器。

        为了给 74HC595 移位寄存器供电,我们为 V CC提供 +5V ,并将 GND 连接到 arduino 上的地。

        将移位寄存器连接到arduino 时,SER(引脚 14)连接到 arduino 上的数字引脚 7。通过此连接,通过我们的代码,我们将写入想要在输出端显示的数据。例如,我们可以将 11111111 写入串行数据线。每一次将移位寄存器的11管脚拉高时会将一个1移入存储寄存器,然后将其拉低,重复以上动作8次,才能将所有的数据移入寄存器中。如果是两个移位寄存器串联,这个过程就需要16次了,一旦我们完成数据的移入,下一步将移位寄存器的12管脚拉高就可以一次性将寄存器中的数据输出到输出管脚,这意味着我们将数据从存储寄存器传输到输出端,这意味着 LED 全部会亮起。

级联移位寄存器电路:

代码:

int big=8 ; 
int push= 9; 
int datain  = 7; // 数据资料

int datainput[16]={1,0,1,0,1,0,1,0,
                   1,0,1,0,1,0,1,0};

void setup() {
  pinMode(big,OUTPUT);
  pinMode(push,OUTPUT);
  pinMode(datain,OUTPUT);
 
}

void loop() {
  digitalWrite(big,LOW);// 开启数据通道
  
  //先推上去的是最后一位也就是第八位,最后是第一位。

  for (int i=0;i<16;i++){
  	pushsomething(datainput[i]);
  } 
  //全部放入寄存器后,统一一次性输出到各个管脚。  
  digitalWrite(big,HIGH);  
}
void pushsomething(int number){
  digitalWrite(push,LOW);// 准备将一位数据存入寄存器
  digitalWrite(datain,number);//发送数据
  digitalWrite(push,HIGH);//数据存入寄存器
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/734903.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Rxjava2最全面的解析

说到区别&#xff0c;可能有的小伙伴会问&#xff0c;我没看过rxjava1。可以直接看rxjava2么。个人觉得不必要&#xff0c;因为 rxjava2.x 是按照 Reactive-Streams specification 规范完全的重写的&#xff0c;完全独立于 rxjava1.x 而存在&#xff0c;它改变了以往 rxjava1的…

1999-2022年 297个地级市-医院卫生院数量及床位数量(数据收集)

全国297个地级市的医院卫生院数量的稳步增长是医疗事业发展的一个重要标志。政府的持续投入和对医疗设施的改善&#xff0c;不仅提升了医疗服务的硬件水平&#xff0c;也通过引进和培养医疗人才、优化服务流程&#xff0c;提高了医疗服务的整体质量。这些举措极大地增强了人民群…

WordPress项目教程:自动采集并发布,让你轻松实现网站内容更新

随着互联网的发展&#xff0c;越来越多的人开始关注自己的个人网站&#xff0c;通过网站展示自己的才华、分享知识、推广产品等。然而&#xff0c;个人网站的运营并非易事&#xff0c;尤其是内容更新方面。为了解决这个问题&#xff0c;今天我们将为大家推荐一款WordPress插件主…

测试辅助工具(抓包工具)的使用3 之 弱网测试

1.为什么要进行弱网测试&#xff1f; 1.带宽1M和带宽100M打开tpshop网站效果一样吗&#xff1f; 2.手机使用2G网络和使用3G网络打开京东的效果一样吗&#xff1f; 弱网环境下&#xff0c;出现丢包、延时软件的处理机制&#xff0c;避免造成用户的流失。 2.如何进行弱网测试&…

记一道MO数学练习题

手玩发现&#xff0c; 要么是行共线&#xff0c; 也就是说&#xff08;1,1&#xff09;填1之后&#xff0c;&#xff08;1,4&#xff09;要填1&#xff0c;&#xff08;1,7&#xff09;要填1&#xff0c; 事实上&#xff0c;可以给&#xff08;1&#xff0c;x&#xff09;&a…

YOLOv10目标检测算法的使用

目录 一、环境安装 1、创建虚拟环境 2、安装依赖 二、数据集准备 1、预训练权重 2、数据划分 3、建立数据集的yaml文件 三、训练 1、终端运行指令 2、建立一个 python 文件运行 四、验证 1、终端运行指令 2、建立一个 python 文件运行 五、模型推理 1、单张图片推…

AtCoder Beginner Contest 359(ABCDEFG题)视频讲解

A - Count Takahashi Problem Statement You are given N N N strings. The i i i-th string S i S_i Si​ ( 1 ≤ i ≤ N ) (1 \leq i \leq N) (1≤i≤N) is either Takahashi or Aoki. How many i i i are there such that S i S_i Si​ is equal to Takahashi? C…

基于IDEA的Maven(坐标信息介绍和编写)

这篇博客来学习和分析一下&#xff1a; " pom.xml " 所生成的最基本的信息。 之前的博客中讲到&#xff0c;学 Maven 就是学 " pom.xml " 的配置。后面也会围绕这个文件进行学习。 目录 一、分析 pom.xml 文件 &#xff08;1&#xff09;分析的 "p…

YOLOv9基础 | 实时目标检测新SOTA,手把手带你深度解析yolov9论文!

前言:Hello大家好,我是小哥谈。YOLOv9是Chien-Yao Wang等人提出的YOLO系列的最新版本之一(截止到目前,YOLOv10已发布),于2024年2月21日发布。它是 YOLOv7的改进版本,两者均由Chien-Yao Wang及其同事开发。本节课就以YOLOv9论文为基础带大家深入解析YOLOv9算法。🌈 …

React+TS前台项目实战(十五)-- 全局常用组件Table封装

文章目录 前言Table组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示 总结 前言 在这篇文章中&#xff0c;我们将对本系列项目中常用的表格组件Table进行自定义封装&#xff0c;以提高性能并适应项目需求。后期也可进行修改和扩展&#xff0c;以满足项目的需求。 Table组…

html--404页面

<!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge,chrome1"> <title>404 错误页面不存在&…

【Linux】进程间通信3——线程安全

1.Linux线程互斥 1.1.进程线程间的互斥相关背景概念 临界资源&#xff1a; 多线程执行流共享的资源叫做临界资源。临界区&#xff1a; 每个线程内部&#xff0c;访问临界资源的代码&#xff0c;就叫做临界区。互斥&#xff1a; 任何时刻&#xff0c;互斥保证有且只有一个执行…

一年前 LLM AGI 碎片化思考与回顾系列⑦ · 在SystemⅡ未知之境之中徘徊

阅读提示&#xff1a; 本篇系列内容的是建立于自己过去一年在以LLM为代表的AIGC快速发展浪潮中结合学术界与产业界创新与进展的一些碎片化思考并记录最终沉淀完成&#xff0c;在内容上&#xff0c;与不久前刚刚完稿的那篇10万字文章「融合RL与LLM思想&#xff0c;探寻世界模型以…

乾坤微服务的使用

前言&#xff1a; 在这里整理下用乾坤来开发微服务的一些资料。 使用好处&#xff1a; 使用乾坤可以实现什么效果呢&#xff1f;众所周知&#xff0c;前端的框架五花八门&#xff0c;react/vue/angular等各领风骚&#xff0c;那么如果我们有需要把不同技术栈的项目整合起来&…

UFS Power Mode Change 介绍

一. UFS Power Mode Change简介 1.UFS Power Mode指的是Unipro层的Power State, 也可以称为链路(Link)上的Power Mode, 可以通过配置Unipro Attribute, 然后控制切换Unipro Power State, 当前Power Mode Change有两种触发方式&#xff1a; (1) 通过DME Power Mode Change触发…

Tortoise 删除文件

1、右击需要删除的文件&#xff0c;选择Delete 2、提交

遗传算法求解时间窗车辆路径规划问题(附python代码)

摘要 本研究提出了一种基于遗传算法的车辆路径规划&#xff08;VRP&#xff09;问题求解框架&#xff0c;它能够有效地处理一系列复杂约束&#xff0c;包括软时间窗、硬时间窗、行驶距离限制、车辆最大载重量、多个配送中心的协调、特定的配送顺序&#xff0c;以及多种车型的选…

【Python系列】探索 NumPy 中的 mean 函数:计算平均值的利器

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【AI技术】GPT-4o背后的语音技术猜想

前言&#xff1a; 本篇文章全文credit 给到 台大的李宏毅老师&#xff0c;李宏毅老师在机器学习上风趣幽默、深入浅出的讲解&#xff0c;是全宇宙学AI、讲中文学生的福音&#xff0c;强力推荐李宏毅老师的机器学习课程和深度学习 人工智能导论&#xff1b; 李宏毅老师的个人长…

LabVIEW机器视觉在质量控制中的应用

基于LabVIEW的机器视觉系统在质量控制中应用广泛&#xff0c;通过图像采集、处理和分析&#xff0c;自动检测产品缺陷、测量尺寸和识别标记&#xff0c;提高生产效率和产品质量。下面介绍LabVIEW机器视觉系统在质量控制中的实现方法、应用场景及其优势。 项目背景 在现代制造业…