C+ +代码如何与LED电路一起工作

2025-05-06

7段显示组件

在面包板上构建该电路或使用模拟器软件。红色表示5v,蓝色表示0v。在实际电路中,我们会使用示波器或电压表。

C+ +代码如何与LED电路一起工作 (https://ic.work/) 工控技术 第1张

看看显示组件的每条引线是如何有字母a到g,带点和-ve电源连接的。a引脚上的5v电压打开显示器的顶部条?这些通常被标记在物理设备上。

每段供电

按下开关,每次打开一段。第8个引线指向点,通常不包含代码和连接。您的代码可以在没有连接的情况下使用点,但它不会显示。

C+ +代码如何与LED电路一起工作 (https://ic.work/) 工控技术 第2张

使数字

将这些片段组合成可见的数字。我们的演示代码将为字母添加一些组合。

C+ +代码如何与LED电路一起工作 (https://ic.work/) 工控技术 第3张

用计算机实现自动化

这不是我们想手工做的事情。这正是我们想要用程序自动化的东西。ATmega328是一个单芯片计算机,连接电源,它将运行任何程序在闪存。

C+ +代码如何与LED电路一起工作 (https://ic.work/) 工控技术 第4张

C++软件

ATmega328是Arduino Uno板中的处理器。我们可以用Arduino IDE用C++或C++语言编程。一个演示程序将只使用我们在板上的32kB闪存中的2kB。

C+ +代码如何与LED电路一起工作 (https://ic.work/) 工控技术 第5张

首先,我们必须安装一个库程序,它将添加知道如何与LED电路一起工作的代码。

高级七段

更新您的Arduino代码库并搜索Advance Seven Segment。有很多为这些显示器编写的软件库。这个很小。

C+ +代码如何与LED电路一起工作 (https://ic.work/) 工控技术 第6张

它添加了两个源代码文件,您可以打开并读取、修改它们。头文件是AdvanceSevenSegment.h,它为我们将要使用的函数提供了一个声明。我们在代码中包含了这个头文件,并且这个库中的函数可以在我们的草图中使用。

C+ +代码如何与LED电路一起工作 (https://ic.work/) 工控技术 第7张

以及AdvanceSevenSegment.cpp,它提供函数定义。注意,1和0与输出引脚上的5伏和0伏匹配。通读源代码可以了解程序的工作原理。它可以是可读的。

C+ +代码如何与LED电路一起工作 (https://ic.work/) 工控技术 第8张

这里展示了c++和面向对象编程的许多原理。输入的1和0成为数据对象,我们的LED段也是如此。

编程你的Uno板

像你在图中看到的那样连接电线并上传草图。注意,当引脚13通电时,Uno板上的LED也会亮起。

C+ +代码如何与LED电路一起工作 (https://ic.work/) 工控技术 第9张

代码

打开Arduino草图并复制这段代码。它需要包含的库。显示模块循环通过数字0到9,然后在7段显示上工作的一些字母数字。

C+ +代码如何与LED电路一起工作 (https://ic.work/) 工控技术 第10张

关键的一行是数据对象构造函数AdvanceSevenSegment display(variables);取每个显示段的1和0并计算是否打开每个显示段的数学函数。

包含文件

前面我们看了库头和cpp代码。回头查看头文件和cpp源文件,了解程序如何将字母数字值转换为电压。

记事本打开这些文件。

C+ +代码如何与LED电路一起工作 (https://ic.work/) 工控技术 第11张

我们写#包括在我们的草图,然后所有上述添加。位于另一个目录中,“binary.h”位于同一目录中。

那么,就这样了?

不,才刚开始。这里我们只看到基本的7段LED组件。更多的电路组合涉及多个显示器、附加接口和芯片。

我们的单个模块在电路板上使用7或8个引脚。添加模块不会以这种方式工作。为了处理所有的连接引线,有解决方案可以在2线上串行工作,或者减少连接到4引线BCD二进制编码十进制。

我们的模块使用地面为我们所有的部分。我们在每条上加5v或3v来获得光。这被称为共享或公共阴极类型。其他公共阳极模块被连接到一个共享的正极。我们可能需要翻转我们的比特。

C+ +代码如何与LED电路一起工作 (https://ic.work/) 工控技术 第12张

是创造性的。想象Uno将此草图作为显示驱动程序设备运行。我们的草图是显示驱动软件。您可以使用串行端口功能来打印您选择的消息。

这个草图很小。在较小的芯片上运行,比如ATmega8或atiny。物理上较小,我们只使用8个引脚。

查找7段的代码和电路图可能会很混乱,因为有太多的选择。这个项目不是移位寄存器项目,它不是BCD,也不是串行接口。每个信号接口都是不同的。

这个项目是关于模块有7段a, b, c, d, e, f, g。有时被称为管,因为热发光真空管是一种显示技术。

C+ +代码如何与LED电路一起工作 (https://ic.work/) 工控技术 第13张


本文编译自hackster.io

文章推荐

相关推荐