0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Arduino篇—多位数码管的应用

冬至子 来源:X的创客课堂 作者:MRXY 2023-11-01 14:25 次阅读

课程目标

相关知识

数码管: 是由7个LED封装在一起组成的“8”字型的器件,再加上一位小数点,器件中就一共包含有8个LED灯。其他任何多位数码管也都是1位数码管集合而成。

四位数码管原理: 四位数码管一共8*4个发光二极管,包括四个数管,每个数管为a,b,c,d,e,f,g,h八段。共12个引脚,其中4个引脚控制标号1234的四个数管是否发光,8个引脚控制abcdefgh八段LED灯是否发光。

图片

图片

**控制方法:**多位数码管和前面所学习的单个数码管一样,都分为共阳和共阴两种。共阳即共阳极,共阴即共阴极。对于共阳数码管,因为阳极共用,因此各引脚实际上与阴极相连,因此需给予低电平方能触发,共阴极引脚则相反。

电路搭建

所需材料

ArduinoUNO * 1
共阳极四位数码管 *1
杜邦线若干

电路连接

数码管的abcdefg和dp接UNO的29号脚,数码管的1234接UNO的1013脚。

图片

程序编写

练习一:点亮所有数码管

编写程序,让四个数码管全部显示数字8。

图形化方式:

图片

代码方式:

/* 项目名称:点亮四位数码管
 * 项目时间:2022.03.01
 * 项目作者:MRX
 */
void setup() {
  for(int i = 2;i <= 13;i++){
    pinMode(i,OUTPUT);
  }
}
void loop() {
  for(int i = 2;i <= 9;i++){
    digitalWrite(i,LOW);
  }
  for(int i = 10;i <= 13;i++){
    digitalWrite(i,HIGH);
  }
}

练习二:四个数码管显示不同内容

通过程序编写,让数码管显示数字“1234”。

图形化方式:

按照数码管的工作原理,四个数管显示的内容始终相同啊。如果我想让数码管显示“5678”,应该怎么办呢?实验表明,如果我让数管1快速显示“1”然后关闭,数管2快速显示“2”然后关闭……所以只要速度够快,人眼看到的就是“1234”!

图片

代码方式:

/* 项目名称:显示数字1234
 * 项目时间:2022.03.01
 * 项目作者:MRX
 */
void setup() {
  for(int i = 2;i <= 13;i++){
    pinMode(i,OUTPUT);
  }
}
void num1(){
  digitalWrite(2,HIGH);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
  digitalWrite(5,HIGH);
  digitalWrite(6,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(8,HIGH);
  digitalWrite(9,HIGH);
  digitalWrite(10,HIGH);
  digitalWrite(11,LOW);
  digitalWrite(12,LOW);
  digitalWrite(13,LOW);
}
void num2() {
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(4,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,HIGH);
  digitalWrite(8,LOW);
  digitalWrite(9,HIGH);
  digitalWrite(10,LOW);
  digitalWrite(11,HIGH);
  digitalWrite(12,LOW);
  digitalWrite(13,LOW);
}
void num3() {
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
  digitalWrite(5,LOW);
  digitalWrite(6,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(8,LOW);
  digitalWrite(9,HIGH);
  digitalWrite(10,LOW);
  digitalWrite(11,LOW);
  digitalWrite(12,HIGH);
  digitalWrite(13,LOW);
}
void num4() {
  digitalWrite(2,HIGH);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
  digitalWrite(5,HIGH);
  digitalWrite(6,HIGH);
  digitalWrite(7,LOW);
  digitalWrite(8,LOW);
  digitalWrite(9,HIGH);
  digitalWrite(10,LOW);
  digitalWrite(11,LOW);
  digitalWrite(12,LOW);
  digitalWrite(13,HIGH);
}
void loop() {
  num1();
  delay(5);
  num2();
  delay(5);
  num3();
  delay(5);
  num4();
  delay(5);
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 发光二极管
    +关注

    关注

    13

    文章

    1198

    浏览量

    66290
  • 测距仪
    +关注

    关注

    0

    文章

    117

    浏览量

    18429
  • 数码管
    +关注

    关注

    32

    文章

    1882

    浏览量

    91073
  • LED封装
    +关注

    关注

    18

    文章

    359

    浏览量

    42129
  • 超声波传感器

    关注

    18

    文章

    583

    浏览量

    35929
收藏 人收藏

    评论

    相关推荐

    单片机入门之多位数码管倒计时

    在之前的文章中我们学习了单片机是如何实现一位数码管显示数字,一位数码管只能显示个位数让我们观察到,那如何显示十位数、百位数,甚至更大的数字呢
    发表于 06-26 15:41 1652次阅读
    单片机入门之<b class='flag-5'>多位数码管</b>倒计时

    ·多位数码管动态扫描程序

    本帖最后由 eehome 于 2013-1-5 09:44 编辑 ·多位数码管动态扫描程序,用实板调试通过
    发表于 06-27 15:41

    求大神赐予具有多位数码管的99se元器件库

    求大神赐予具有多位数码管的99se元器件库邮箱674918323@qq.com!!!!!!!!!!!!!!!!急
    发表于 07-12 23:16

    多位数码管动态扫描原理分析

    多位数码管扫描原理视频讲解--------------------------点击观看----------------------------------为了更好说明多位数码管的动态扫描原理,请看
    发表于 09-11 09:15

    如何实现多位数码管的显示

    AVR单片机实验二 数码管显示与外部中断实验1 实验目的掌握动态扫描与外部中断原理,以实现多位数码管显示及单一按键控制的应用。2 实验内容(1)实现4位数码管的动态扫描。(2)设定外部中断,实现按下
    发表于 11-18 07:16

    单片机驱动多位数码管

    接上一条单片机实验笔记(汇编、Proteus仿真)第五节课第五节课 内容为驱动多位数码管。和驱动一位数码管大同小异。ORG 0000HLJMP MAINORG 0100HMAIN:MOV R2
    发表于 12-01 06:52

    动态8位数码管显示更多位数的方案介绍

    第三:动态8位数码管显示 —亚龙236电路上一中已经实现了数码管的静态显示,如果按照上一的思路89s52芯片最多可以驱动4
    发表于 02-23 06:55

    多位数码管动态扫描电路图

    多位数码管动态扫描
    发表于 05-22 09:33 3202次阅读
    <b class='flag-5'>多位数码管</b>动态扫描电路图

    多位数按键加减(闪烁)数码管显示

    多位数按键加减(闪烁)数码管显示 C51单片机源码,KEIL源文件,C语言编写
    发表于 06-20 16:36 25次下载

    多位数按键加减(不闪烁)数码管显示

    多位数按键加减(不闪烁)数码管显示 C51单片机源码,KEIL源文件,C语言编写
    发表于 06-20 16:36 25次下载

    多位数大尺寸高亮度低成本LED数码管驱动电路的设计

    多位数大尺寸高亮度低成本LED数码管驱动电路的设计
    发表于 01-24 16:54 21次下载

    使用AVR编写的多位数码管代码和电路原理图资料免费下载

    本文档的主要内容详细介绍的是使用AVR编写的多位数码管代码和电路原理图资料免费下载。
    发表于 11-12 08:00 17次下载
    使用AVR编写的<b class='flag-5'>多位数码管</b>代码和电路原理图资料免费下载

    基于89C51单片机的多位数按键加减(不闪烁)数码管显示源程序

    基于89C51单片机的多位数按键加减(不闪烁)数码管显示源程序
    发表于 05-16 09:10 1次下载

    基于89C51单片机的多位数按键加减(闪烁)数码管显示源程序

    基于89C51单片机的多位数按键加减(闪烁)数码管显示源程序
    发表于 05-12 17:21 1次下载

    多位数码管驱动电路介绍

    电子发烧友网站提供《多位数码管驱动电路介绍.doc》资料免费下载
    发表于 10-27 10:22 1次下载
    <b class='flag-5'>多位数码管</b>驱动电路介绍