(十二)arduino入门:74HC595数码管

一、本节介绍

在本实验中,您将学习如何使用74HC595驱动7段显示。

通常,驱动单个7段显示器有两种方法。一个是将其8个引脚直接连接到Arduino Uno板上的八个端口,这是我们以前完成的。另一个是将74HC595连接到Arduino Uno板的三个端口,并将7段显示器连接到74HC595。在这个实验中,我们将使用后者。这样可以节省五个端口。考虑到Arduino Uno板的有限端口,这是非常重要的。

二、材料准备

  • 8 *电阻(220Ω)
  • 1 * 74HC595
  • 1 * Arduino Uno板
  • 杜邦线
  • 1 *面包板
  • 1 * USB数据线
  • 1 * 数码管

三、原理讲解

74HC595

74HC595由8位移位寄存器和具有三态并行输出的存储寄存器组成。它将串行输入转换为并行输出,以便可以保存MCU的IO端口。74HC595广泛用于指示多路径LED和驱动多位分段显示。“三态”是指将输出引脚设置为高电平,低电平或“高阻抗”的事实。通过数据锁定,即时输出在移位期间不受影响; 通过数据输出,您可以更轻松地级联74HC595s。

image https://bbs.qutaojiao.com/assets/images/1-va1lEIMU9B8OMHXS.jpeg

image https://bbs.qutaojiao.com/assets/images/1-6kQwQjlXfK1n7VWu.jpeg

74HC595和它们的功能:

Q0-Q7:8位并行数据输出引脚,可直接控制8段LED或8段显示8针。

Q7:串行输出引脚,连接到另一个74HC595的DS,以连接多个74HC595s

MR:复位引脚,低电平有效; 这里直接连接到5V。

SH:移位寄存器的时序输入。在上升沿,移位寄存器中的数据依次移动一位,即Q1中的数据移动到Q2,等等。在下降沿,移位寄存器中的数据保持不变。

ST:存储寄存器的时序输入。在上升沿,移位寄存器中的数据移入存储器寄存器。

OE:输出使能引脚,低电平有效,连接到GND。

Ds:串行数据输入引脚

VCC:正电源电压

GND:接地

这里使用shiftout()函数,它与Arduino IDE一起使用。只需输入介于0和255之间的数字,存储寄存器就可以将其转换为8位二进制数并行输出。这允许您轻松控制7段显示的8个引脚,并创建任何所需的模式。

四、实验步骤

步骤1:建立电路

image https://bbs.qutaojiao.com/assets/images/1-ADnvzaN9obNRmG0p.png

image https://bbs.qutaojiao.com/assets/images/1-TD7BR1JuhfFEjPt8.png

原理图

image https://bbs.qutaojiao.com/assets/images/1-U93k2JGLO932ZlRh.png

步骤2:编写程序

步骤3:编译程序

步骤4:将程序烧写到Arduino Uno板中

您现在应该看到从0到F的7段显示周期。

image https://bbs.qutaojiao.com/assets/images/1-CL1ZO2VPZhVgyD3D.jpeg

本节程序:

/******************************/
//通过74HC595使用三根线控制数码管
//2017.10.17
/******************************/

int latchPin = 5;
int clockPin = 12;
int dataPin = 11; //定义的几个引脚连接74hc573
void setup ()
{
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT); //设置三个脚都是输出状态
}

余下代码登陆可见:

当前内容已被隐藏,您需要登录才能查看
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论