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

    文章

    1138

    浏览量

    65689
  • 测距仪
    +关注

    关注

    0

    文章

    103

    浏览量

    18295
  • 数码管
    +关注

    关注

    31

    文章

    1827

    浏览量

    89950
  • LED封装
    +关注

    关注

    18

    文章

    347

    浏览量

    41786
  • 超声波传感器

    关注

    18

    文章

    552

    浏览量

    35602
收藏 人收藏

    评论

    相关推荐

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

    本帖最后由 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

    掌握通过并行接口芯片对键盘进行扫描并在多位数码管显示数字的方法

    实验九、键盘扫描及数码管显示实验1、实验目的学习了解键盘扫描的基本原理。掌握通过并行接口芯片对键盘进行扫描并在多位数码管显示数字的方法。2、实验内容编写程序,实现如下功能:初始时数码管无显示;第一次
    发表于 01-13 08:22

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

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

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

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

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

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

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

    多位数按键加减(不闪烁)数码管显示 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 0次下载

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

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

    多位数码管驱动电路介绍

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