数码管显示原理:通过a.b.c.d.e.f.g.h灯点亮组合成所要显示的数字即可,如下1-6控制a-h,9-12控制第一到第四个数字,理解为总开关:当9.1.2.3输出,即显示数字7

数码管为共阴或共阳类,无论那种,都是部分连接一个引脚,如上四个数字管的a-h都是连接到一个引脚,当需要不同位数上显示不同数字时,需要动态显示。

动态显示即让不同位数的数码管间歇显示,达到最终目的。下图示个十百千位各显示1ms为一循环,250循环为1秒,数字num+1,因为循环显示时间间隔短,所以看到的时同时显示的假象

数码管引脚根据连接需要自行定义

完整代码

int G=2;

int C=3;

int H=4;

int A=5;

int F=6;

int B=7;

int E=8;

int D=9;

int COM1=10;//ge-10

int COM2=13;//shi-13

int COM3=12;//bai-12

int COM4=11;//qian-11

int num;int i=0;

unsigned char table[10][8] =

{ // a b c d e f g h

{1, 1, 1, 1, 1, 1, 0, 0},//0

{0, 1, 1, 0, 0, 0, 0, 0},//1

{1, 1, 0, 1, 1, 0, 1, 0},//2

{1, 1, 1, 1, 0, 0, 1, 0},//3

{0, 1, 1, 0, 0, 1, 1, 0},//4

{1, 0, 1, 1, 0, 1, 1, 0},//5

{1, 0, 1, 1, 1, 1, 1, 0},//6

{1, 1, 1, 0, 0, 0, 0, 0},//7

{1, 1, 1, 1, 1, 1, 1, 0},//8

{1, 1, 1, 1, 0, 1, 1, 0},//9

};

void setup()

{Serial.begin(9600);

pinMode(A,OUTPUT); //设置为输出引脚

pinMode(B,OUTPUT);

pinMode(C,OUTPUT);

pinMode(D,OUTPUT);

pinMode(E,OUTPUT);

pinMode(F,OUTPUT);

pinMode(G,OUTPUT);

pinMode(H,OUTPUT);

pinMode(COM1,OUTPUT);

pinMode(COM2,OUTPUT);

pinMode(COM3,OUTPUT);

pinMode(COM4,OUTPUT);

}

void loop()

{

Display(num);

num++;

Serial.println(num);

}

void Display(int num)

{ for(int z=0;z<229.5;z++)//根据实际输出调整为229达到1秒

{Display(4,num/1000%10);

delay(1);

Display(3,num/100%10);

delay(1);

Display(2,num/10%10);

delay(1);

Display(1,num/1%10);

delay(1);

}

}

void Display(unsigned char com,unsigned char num)

{

digitalWrite(A,LOW); //去除余晖

digitalWrite(B,LOW);

digitalWrite(C,LOW);

digitalWrite(D,LOW);

digitalWrite(E,LOW);

digitalWrite(F,LOW);

digitalWrite(G,LOW);

digitalWrite(H,LOW);

switch(com) //选通位选

{

case 1:

digitalWrite(COM1,LOW); //选择位1

digitalWrite(COM2,HIGH);

digitalWrite(COM3,HIGH);

digitalWrite(COM4,HIGH);

break;

case 2:

digitalWrite(COM1,HIGH);

digitalWrite(COM2,LOW); //选择位2

digitalWrite(COM3,HIGH);

digitalWrite(COM4,HIGH);

break;

case 3:

digitalWrite(COM1,HIGH);

digitalWrite(COM2,HIGH);

digitalWrite(COM3,LOW); //选择位3

digitalWrite(COM4,HIGH);

break;

case 4:

digitalWrite(COM1,HIGH);

digitalWrite(COM2,HIGH);

digitalWrite(COM3,HIGH);

digitalWrite(COM4,LOW); //选择位4

break;

default:break;

}

digitalWrite(A,table[num][0]); //a查询码值表

digitalWrite(B,table[num][1]);

digitalWrite(C,table[num][2]);

digitalWrite(D,table[num][3]);

digitalWrite(E,table[num][4]);

digitalWrite(F,table[num][5]);

digitalWrite(G,table[num][6]);

digitalWrite(H,table[num][7]);

}

arduino+四位数码管从0到9999爬升相关推荐

  1. Arduino 四位数码管控制

    材料 物品 个数 Arduino UNO 1 按钮 3 共阳极四位数码管 1 双公口杜邦线 若干 面包板 1 功能设计 时间显示 调节时间 接线 D1表示加粗的引脚 Arduino 四位数码管 2 a ...

  2. arduino四位数码管 同时输出四位数字

    四位数码管和三位数码管原理类似,只不过四位数码管有4个共用的COM口. 根一共有4个公共端和8个接口,共12个引脚. 先设置所有引脚为输出状态,通过数组的形式,确定每个数字的0\1状态. 我使用的是共 ...

  3. Arduino基础入门篇17—四位数码管的驱动

    本篇介绍四位数码管的使用,通过数码管库驱动四位数码管从0开始累加显示数字. 1. 四位数码管介绍 根据实际需要,把多个一位数码管封装在一起就成了多位数码管.常见的有两位.三位.四位.五位.六位等. 数 ...

  4. arduino二位数码管_Arduino基础入门篇17—四位数码管的驱动

    本篇介绍四位数码管的使用,通过数码管库驱动四位数码管从0开始累加显示数字. 1. 四位数码管介绍 根据实际需要,把多个一位数码管封装在一起就成了多位数码管.常见的有两位.三位.四位.五位.六位等. 多 ...

  5. 国产航顺HK32F030M:TM1624四位数码管驱动显示

    1. 什么是数码管? 一位LED数码管的实物外形如图所示,它将a.b.c.d.e.f.g.dp共8个LED排成图示的 "8." 字形,通过让a.b.c.d.e.f.g不同的段发光来 ...

  6. 使用Arduino和四位数码管实现数字时钟

    数字挂钟现在越来越受欢迎,它们比模拟时钟更好,因为它提供了小时.分钟和秒的准确时间,并且易于读取数值.一些数字时钟也有许多设施,如显示温度.湿度.设置多个闹铃等.大多数数字时钟使用七段数码管. 我们之 ...

  7. Arduino使用TM1650四位数码管模块

    相关资料链接 链接:https://pan.baidu.com/s/1eE0rkaSJsKJMU_RUorS5OA 提取码:3ujh 1.1 介绍: 这个模块主要由一个0.36英寸 红色共阳 4位数码 ...

  8. Arduino学习笔记01:四位数码管的使用以及相关类库的编写

    本小白遇到的问题: Q1:四位数码管怎么接线 拆开包装的一瞬间本小白惊呆了:MD居然有十二个引脚!!老子的OLED屏幕才4个引脚!! 经过一番简单的搜索.本小白找到了这个: 怎么说呢,不明觉厉吧,不过 ...

  9. 【Arduino】四位数码管显示

    程序名称:数码管静态显示 程序功能:四位数码管显示 程序版本:Ver 1.0 编写日期:2020/07/30 作者信息:天津科技大学创新实验室-JC /************************ ...

最新文章

  1. 如何用飞书统计并跟进个税年度汇算清缴情况?
  2. numpy.exp()简单理解
  3. 前端学习(2487):在VUE中使用element-ui的el-select组件时出现该报错
  4. CSS3 创建简单的网页动画 – 实现弹跳球动
  5. Spring Cloud云架构 - commonservice-sso服务搭建(一)
  6. 基于QGraphics的简易画板1
  7. bzoj千题计划277:bzoj4513: [Sdoi2016]储能表
  8. 这4个免费办公神器有多良心?用后就离不开,可惜一般人都不知道
  9. 新加坡大数据初创公司 Latize 获 150 万美元风险融资
  10. 2014.12.03 页面控件
  11. CICS的临时存储队列操作
  12. 输入一个数求其倒数c语言,C语言答案(1)
  13. 本人见过的最有用的日志!不来转藏肯定后悔
  14. fw313r手机登录_迅捷(FAST)fw313r路由器手机设置教程 | 192路由网
  15. html子布局不超出父布局,flex布局子元素超出父元素
  16. Timeline编辑器绘制流程
  17. 论文解读--Multi-class Road User Detection with 3+1D Radar in the View-of-Delft Dataset
  18. Java方法 的学习
  19. pytorch网络知识点四_thop计算Parameter和FLOPs,__all__的作用, GFLOPs =? GMacs
  20. android 判断是白天还是晚上,然后设置地图模式

热门文章

  1. Mybatis-Plus 时间范围查询
  2. 甘特图——轻松搞定项目进度管理
  3. SQL系列五——子查询(SELECT)和组合查询(UNION)
  4. python年龄阶段划分_Python Pandas中的年龄分组/分类列
  5. Spring ----AOP
  6. 程序猿之--基本素质
  7. 变频器与PLC通讯的精简设计
  8. html-js-css素材网站
  9. 给KEIL5增加F4系列的库
  10. 如何在centos上面下载录屏软件SimpleScreenrecorder