news 2026/4/8 16:16:40

1位数码管模拟值实验

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1位数码管模拟值实验

文章目录

  • 所需的材料以及电路连接图
  • 了解共阴数码管
    • 各个引脚的作用
    • 实验流程
  • 实验代码
  • 最终所得结果(如下视频)

所需的材料以及电路连接图

Arduino 板1个
USB下载数据线1根
面包板1个
杜邦线若干
1k 电阻 8 个
共阴极数码管1个

按照如下方式连接

了解共阴数码管

各个引脚的作用

将数码管的正面朝向我们,自上而下从左往右的引脚分别定义成 1~10,其中 3 号引脚和 8 号引脚都是公共端,用于接入电路中的阴极(也叫GND),数码管中共有8个发光二极管,分别表示成 a ~ h(h 为小数点),各个引脚所控制的发光二极管图中也标出来了:1 -> g
2 -> f
4 -> a
5 -> b
6 -> e
7 -> d
9 -> c
10 -> h

实验流程

这里采用 8 号引脚作为 GND连接端(3号引脚功能也是一样的),每个发光二极管的引脚均接入一个1k的电阻,防止电流过大烧毁二极管。
按照发光二极管从 a ~ h 的顺序分别接上arduino主板上的数字口 2 ~ 8和10。

实验代码

// 定义数码管各段对应的引脚(共阳极)// a:2, b:3, c:4, d:5, e:6, f:7, g:8, h(dp):9inta=2;intb=3;intc=4;intd=5;inte=6;intf=7;intg=8;inth=9;// 小数点dp// 新增:通用清零函数,切换数字前先熄灭所有段(电平已互换)voidclearDisplay(){digitalWrite(a,HIGH);digitalWrite(b,HIGH);digitalWrite(c,HIGH);digitalWrite(d,HIGH);digitalWrite(e,HIGH);digitalWrite(f,HIGH);digitalWrite(g,HIGH);digitalWrite(h,HIGH);}voidsetup(){// 设置2~9号引脚为输出模式for(inti=2;i<=9;i++){pinMode(i,OUTPUT);}// 初始化时先清零,避免上电乱码clearDisplay();}voidloop(){// 依次显示0-9,每个数字停留1秒(切换前先清零)clearDisplay();digital_0();delay(1000);clearDisplay();digital_1();delay(1000);clearDisplay();digital_2();delay(1000);clearDisplay();digital_3();delay(1000);clearDisplay();digital_4();delay(1000);clearDisplay();digital_5();delay(1000);clearDisplay();digital_6();delay(1000);clearDisplay();digital_7();delay(1000);clearDisplay();digital_8();delay(1000);clearDisplay();digital_9();delay(1000);}// 显示数字0(共阳极:亮=LOW,灭=HIGH,小数点灭)voiddigital_0(void){digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,LOW);digitalWrite(e,LOW);digitalWrite(f,LOW);digitalWrite(g,HIGH);// g段灭digitalWrite(h,HIGH);// 小数点灭}// 显示数字1voiddigital_1(void){digitalWrite(a,HIGH);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,HIGH);digitalWrite(e,HIGH);digitalWrite(f,HIGH);digitalWrite(g,HIGH);digitalWrite(h,HIGH);}// 显示数字2voiddigital_2(void){digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,HIGH);digitalWrite(d,LOW);digitalWrite(e,LOW);digitalWrite(f,HIGH);digitalWrite(g,LOW);digitalWrite(h,HIGH);}// 显示数字3voiddigital_3(void){digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,LOW);digitalWrite(e,HIGH);digitalWrite(f,HIGH);digitalWrite(g,LOW);digitalWrite(h,HIGH);}// 显示数字4voiddigital_4(void){digitalWrite(a,HIGH);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,HIGH);digitalWrite(e,HIGH);digitalWrite(f,LOW);digitalWrite(g,LOW);digitalWrite(h,HIGH);}// 显示数字5voiddigital_5(void){digitalWrite(a,LOW);digitalWrite(b,HIGH);digitalWrite(c,LOW);digitalWrite(d,LOW);digitalWrite(e,HIGH);digitalWrite(f,LOW);digitalWrite(g,LOW);digitalWrite(h,HIGH);}// 显示数字6voiddigital_6(void){digitalWrite(a,LOW);digitalWrite(b,HIGH);digitalWrite(c,LOW);digitalWrite(d,LOW);digitalWrite(e,LOW);digitalWrite(f,LOW);digitalWrite(g,LOW);digitalWrite(h,HIGH);}// 显示数字7voiddigital_7(void){digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,HIGH);digitalWrite(e,HIGH);digitalWrite(f,HIGH);digitalWrite(g,HIGH);digitalWrite(h,HIGH);}// 显示数字8voiddigital_8(void){digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,LOW);digitalWrite(e,LOW);digitalWrite(f,LOW);digitalWrite(g,LOW);digitalWrite(h,HIGH);}// 显示数字9voiddigital_9(void){digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,LOW);digitalWrite(e,HIGH);digitalWrite(f,LOW);digitalWrite(g,LOW);digitalWrite(h,HIGH);}

最终所得结果(如下视频)

QQ视频20251210172009

给arduino板通电以后,数码管会按照从 0 ~ 9 的顺序每隔1秒切换显示数字。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/8 11:02:38

SMP语言基础知识-应用系统的需求是啥?是应用需求!

上篇文章介绍了需求、软件开发需求的通俗概念&#xff0c;也对软件开发需求进行了分类&#xff0c;那么应用系统的需求到底是啥&#xff0c;有啥特点。 本期我们就来谈谈应用系统需求。 一、什么是应用系统的需求 应用系统是谁提出来的&#xff1f;当然是用户提出的&#xff01…

作者头像 李华
网站建设 2026/4/6 19:23:01

跨域问题现代化解决方案与调试实践

跨域问题现代化解决方案与调试实践 【免费下载链接】laravel-cors 项目地址: https://gitcode.com/gh_mirrors/lar/laravel-cors 在前后端分离架构日益普及的今天&#xff0c;跨域资源共享已成为Web开发中的常见挑战。传统的CORS配置虽然能够解决问题&#xff0c;但在复…

作者头像 李华
网站建设 2026/4/4 3:48:14

Stream-rec实战应用:打造高效直播内容采集系统

Stream-rec实战应用&#xff1a;打造高效直播内容采集系统 【免费下载链接】stream-rec Automatic streaming record tool powered by FFmpeg. 虎牙/抖音/斗鱼/Twitch/PandaTV直播&#xff0c;弹幕自动录制 项目地址: https://gitcode.com/gh_mirrors/st/stream-rec 在当…

作者头像 李华
网站建设 2026/3/21 13:06:47

YOLO模型训练优化:从入门到精通的5个关键技巧

YOLO模型训练优化&#xff1a;从入门到精通的5个关键技巧 【免费下载链接】ultralytics ultralytics - 提供 YOLOv8 模型&#xff0c;用于目标检测、图像分割、姿态估计和图像分类&#xff0c;适合机器学习和计算机视觉领域的开发者。 项目地址: https://gitcode.com/GitHub_…

作者头像 李华