当前位置:   article > 正文

基于arduino的一位数码管控制_arduino数码管从0到9的程序

arduino数码管从0到9的程序

基于Mixly的一位数码管控制

硬件: arduino编程板、一位数码管、220Ω电阻、杜邦线若干。
软件: Mixly图形化编程软件。
目标: 通过mixly软件对arduino编程, 实现一位数码管可以从0-9依次显示。

(一)一位数码管是什么?

这里是引用“百度百科”
一位数码管也叫做led数码管,egment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。

共阳极一位数码管点位图
共阴极一位数码管阵脚图

(二)一位数码管的结构组成和分类

一位数码管由8个led灯组成,他们公用一极,共阴极或者共阳极。

1、共阴极

共阴极一位数码管的电路连接图

2、共阳极

共阳极一位数码管的电路连接图

(三)电路连接

共阳极一位数码管连接arduino编程板
上图为共阳极一位数码管连接到arduino编程板上,在正极上,连接一个电阻,达到保护一位数码管的作用。每个数码管的型号可能不同,根据数码管上的标号,上网查找是否为共阴极或者共阳极。
我们数码管的八个led灯连接到了arduino编程板的6-13号端口上,通过控制以上的八个端口,控制一位数码管显示的数值。

(五)一位数码管的三种控制方式(由浅入深)

1、通过规定8个端口的状态进行控制

首先,我们用最笨的办法,对八个端口分别编程,然后列出0-9号数字,写在函数中,然后调用函数,实现从0-9的依次显示。
定义数字0和数字1的函数
我们通过规定8个端口上的高低电平,对一位数码管进行编程,然后再调用函数,实现循环点亮。上图为数字0和数字1的示例,数字2-9原理一致。
主程序调用函数,对函数进行编程
我们在编写主程序时,调用函数,对每个函数进行编程即可。

2、通过一维数组进行控制

在编写上面的程序过程中,我们会发现依次编写每个端口的状态十分麻烦,我们能否通过一种简单的方法,对每个端口进行赋值?
此时,我们会用到一个新的工具:数组。
我们先把端口的数值放到一个数组里面,这样的话,在规定端口的时候,就可以直接调用“端口”数组的第1、2、3、4……8项。(下图)
端口数组

在这里插入图片描述

然后我们再通过数组,把0-9的数字用0和1表述出来(0代表低,1代表高)。
在这里插入图片描述
以数字0为例,
端口数组的第一项,赋值为“数字0”数组的第一项,
端口数组的第二项,赋值为“数字0”数组的第二项,
……
端口数组的第九项,赋值为“数字0”数组的第九项。
程序如下:
在这里插入图片描述

数字1的程序如下:
在这里插入图片描述
依次类推,所有函数如下。
在这里插入图片描述

3、通过二维数组进行控制

在上述的控制方法时,我们会发现,一维数组在罗列过程中,也会非常麻烦,所以我们将一维数组转化为二维数组。二维数组就是将多个数组再组合为一个新的数组。所以,我们可以把上面的多个一维数组写进一个新的数组里面。
在这里插入图片描述
二维数字的内容如下:
{13,12,11,10,9,8,7,6},{1,0,0,0,0,0,0,1},{1,0,1,1,0,1,1,1},{1,1,0,0,0,0,1,0},{1,0,0,1,0,0,1,0},{1,0,1,1,0,1,0,0},{1,0,0,1,1,0,0,0},{1,0,0,0,1,0,0,0},{1,0,1,1,0,0,1,1},{1,0,0,0,0,0,0,0},{1,0,0,1,0,0,0,0}

设置变量x,y,代表数组的某个位置
两个变量:管脚、状态;
管脚=二维数组第一行第一列,状态=第二行第一列,把管脚和状态给数字输出;
y增加1,重复执行8次,然后让j增加1,重复执行10次,实现从0到9的变化。
在这里插入图片描述
在这里插入图片描述

以上为一位数码管从0-9变化的三种方法。思想就是找到规律,通过数组和变量,把有简单麻烦的事情,通过有规律的变化,罗列出来。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/946711
推荐阅读
相关标签
  

闽ICP备14008679号