news 2026/7/13 21:33:54

1位数码管模拟值实验萌新速成大法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1位数码管模拟值实验萌新速成大法

文章目录

  • 1.前言
  • 2.欣赏成果
  • 3.安装对应软件
    • 网址arduino.cc/en/software
  • 4.学习软件的使用
    • 安装结束,我们进入首页**选择我们对应的开发板Arduino UNO**
    • 选择之后就会将UNO开发板作为默认**(UNO开发板适合初学者简单易上手)**
    • 并将开发板连接到电脑**(注意:后面一定带有后缀,我前面买的盗版无法识别就没有后缀)**
  • 5.知识准备
    • i++
    • delay(1000)
    • digitalWrite(a,LOW);
    • pinMode(i,OUTPUT);
  • 6.准备道具
    • 共阳数码管
    • 共阴数码管
  • 7.代码
    • 接下验证 ,左上角的勾是验证符号
    • 查看是否验证成功,然后上传
    • 上传成功就可以欣赏到开头的结果了
  • 8.心得
  • 9.花絮
    • 在看到代码的时候,我就已经在想代码有什么可以修改的了,于是这些问题就诞生了
    • 我可否将代码与数组结合?
    • 知识补充
    • 1. 二维数组定义格式:

1.前言

这个实验教程献给所有大一想努力的新手

2.欣赏成果

共阳数码管模拟值实验成果

3.安装对应软件

首先先安装对应软件Arduino

网址arduino.cc/en/software

4.学习软件的使用

安装结束,我们进入首页选择我们对应的开发板Arduino UNO

选择之后就会将UNO开发板作为默认**(UNO开发板适合初学者简单易上手)**

并将开发板连接到电脑**(注意:后面一定带有后缀,我前面买的盗版无法识别就没有后缀)**

如果没有出现开发板(com)请检查链接器是否连接好或者开发板是否接触不良

5.知识准备

i++

需要先保存变量的原始值到临时空间,再对变量自增,最后返回临时值(多一步临时值操作)

delay(1000)

是将函数延迟1000毫秒

digitalWrite(a,LOW);

如果该引脚通过pinMode()设置为输出模式(OUTPUT),您可以通过digitalWrite()语句将该引脚设置为HIGH(5伏特)或LOW(0伏特/GND)。

pinMode(i,OUTPUT);

通过pinMode()函数,你可以将Arduino的引脚配置为以下三种模式:
输出(OUTPUT)模式
输入(INPUT)模式
输入上拉(INPUT_PULLUP)模式

6.准备道具

一个面包板
八个220欧姆电阻
一个共阳极管

道具介绍

共阳数码管

是指将所有发光二极管的阳极接到一起形成公共阳极 (COM) 的数码管,共阳数码管在应用时应将公共极 COM 接到 + 5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管

是指将所有发光二极管的阴极接到一起形成公共阴极 COM) 的数码管,共阴数码管在应用时应将公共极 COM 接到地线 GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮
我们本次实验使用共阳极管

7.代码

inta=2;// 定义数字接口2 连接aintb=3;// 定义数字接口3 连接bintc=4;// 定义数字接口4 连接cintd=5;// 定义数字接口5 连接dinte=6;// 定义数字接口6 连接eintf=7;// 定义数字接口7 连接fintg=8;// 定义数字接口8 连接ginth=9;// 定义数字接口9 连接h,也就是数码管中的dpvoidsetup(){// put your setup code here, to run once:inti;for(i=2;i<=9;i++){pinMode(i,OUTPUT);// 设置2~9号引脚为输出模式}}voidloop(){// put your main code here, to run repeatedly:digital_0();// 显示数字0delay(1000);digital_1();// 显示数字1delay(1000);digital_2();// 显示数字2delay(1000);digital_3();// 显示数字3delay(1000);digital_4();// 显示数字4delay(1000);digital_5();// 显示数字5delay(1000);digital_6();// 显示数字6delay(1000);digital_7();// 显示数字7delay(1000);digital_8();// 显示数字8delay(1000);digital_9();// 显示数字9delay(1000);}// 显示数字0(电平反转:适配共阳极)voiddigital_0(void){digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,LOW);digitalWrite(e,LOW);digitalWrite(f,LOW);digitalWrite(g,HIGH);digitalWrite(h,LOW);}// 显示数字1(电平反转)voiddigital_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,LOW);}// 显示数字2(电平反转)voiddigital_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,LOW);}// 显示数字3(电平反转)voiddigital_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,LOW);}// 显示数字4(电平反转)voiddigital_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,LOW);}// 显示数字5(电平反转)voiddigital_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,LOW);}// 显示数字6(电平反转)voiddigital_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,LOW);}// 显示数字7(电平反转)voiddigital_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,LOW);}// 显示数字8(电平反转)voiddigital_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,LOW);}// 显示数字9(电平反转)voiddigital_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,LOW);}

接下验证 ,左上角的勾是验证符号

查看是否验证成功,然后上传

上传成功就可以欣赏到开头的结果了

8.心得

我认为这是个新的开始我也遇到了很多问题(见下面),但是当我成功做出来了后感到非常自豪,所以我认为在这个时代人类要不断走出自己的舒适圈,才能前进,如果觉得有帮助就请点一下赞,我火速更新下一章,我是FOX,励志做一个博学的萌新。

9.花絮

在看到代码的时候,我就已经在想代码有什么可以修改的了,于是这些问题就诞生了

我可否将代码与数组结合?

intnums[]{2,3,4,5,6,7,8,9};constintSEGMENT_COUNT=8;byte guan[10][8]={{HIGH,HIGH,HIGH,HIGH,HIGH,HIGH,LOW,HIGH},// 0(8个元素){LOW,HIGH,HIGH,LOW,LOW,LOW,LOW,HIGH},// 1(8个元素){HIGH,HIGH,LOW,HIGH,HIGH,LOW,HIGH,HIGH},// 2(8个元素){HIGH,HIGH,HIGH,HIGH,LOW,LOW,HIGH,HIGH},// 3(8个元素){LOW,HIGH,HIGH,LOW,LOW,HIGH,HIGH,HIGH},// 4(8个元素){HIGH,LOW,HIGH,HIGH,LOW,HIGH,HIGH,HIGH},// 5(8个元素){HIGH,LOW,HIGH,HIGH,HIGH,HIGH,HIGH,HIGH},// 6(8个元素){HIGH,HIGH,HIGH,LOW,LOW,LOW,LOW,HIGH},// 7(8个元素){HIGH,HIGH,HIGH,HIGH,HIGH,HIGH,HIGH,HIGH},// 8(8个元素){HIGH,HIGH,HIGH,HIGH,LOW,HIGH,HIGH,HIGH}// 9};voidsetup(){for(inti=0;i<SEGMENT_COUNT;i++){pinMode(nums[i],OUTPUT);}}voidloop(){for(ints=0;s<SEGMENT_COUNT;s++){displayNumber(s);delay(1000);}}voiddisplayNumber(intd){if(d<0||d>9){return;}for(d=0;d<9;d++){digitalWrite(nums[i],guan[d][i]);}}

知识补充

  1. 段引脚数组
    nums:把原来分散定义的 a-h 引脚整合到一
    个数组中,方便循环操作,减少重复代码。
  2. 段码表
    guan

    二维数组,第一维表示数字(0-9),第二维表示对应段
    的电平
    把原来 10 个函数里的电平值集中存储,一目了然,修改
    时只需改数组值
  3. 通用显示函数
    displayNumber()

    接收数字参数,先做范围检查(避免数组越界)
    通过循环遍历段引脚和段码,自动设置每个引脚的电平
  4. 简化的 loop 函数:用一个 for 循环遍历 0-9,调用通用显示
    函数,替代原来重复调用 10 个函数的写法

1. 二维数组定义格式:

数据类型 数组名[行数][列数],比如
nums[3][4]。
2. 访问元素格式:
int
数组名[行下标][列下标],下标从 0 开始计
数。
3. 遍历二维数组通常用嵌套 for 循环,外层控行、内层控列。

想法二:我一开始以为它是阴极管
结果就是一直不亮,最后我直接去问豆包,,然后发现我买的是阳极管,直接裂开,阴极管和阳极管一定要看好啊,阴极管就接GND引脚接口,如果是阳极管就接5V,一定要分清楚!!!

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

Kadane 算法详解:求最大连续子数组和

Kadane 算法用来在线性时间内求「最大连续子数组和」,本质是一个一维动态规划 / 滚动数组优化思路。csdn+1​ 通用思路 定义状态:设 c u r cur cur 表示「以当前位置结尾的最大连续子数组和」,设 b e s t best best 表示「目前为止见过的最大子数组和」。csdn+1​ 转移…

作者头像 李华
网站建设 2026/7/13 13:06:06

Wan2.2-T2V-A14B已被用于新闻摘要视频自动生成试点项目

Wan2.2-T2V-A14B驱动新闻视频自动化&#xff1a;从技术突破到落地实践 在信息爆炸的时代&#xff0c;用户对内容的消费方式正经历一场静默却深刻的变革——从“读新闻”转向“看新闻”。短视频平台的崛起让图文报道逐渐退居幕后&#xff0c;而动态、直观的视频摘要成为主流入口…

作者头像 李华
网站建设 2026/7/11 12:57:50

Downkyi:B站视频下载的智能管家

还在为B站视频无法离线收藏而苦恼吗&#xff1f;Downkyi作为一款专业的哔哩哔哩视频下载工具&#xff0c;彻底解决了视频保存的难题。无论是单个精彩片段还是系列课程&#xff0c;这款软件都能轻松搞定&#xff0c;让你随时随地享受优质内容。 【免费下载链接】downkyi 哔哩下载…

作者头像 李华
网站建设 2026/7/10 21:28:37

AIGC在测试领域的全面应用:从需求生成到自动化脚本

随着人工智能生成内容&#xff08;AIGC&#xff09;技术的迅猛发展&#xff0c;软件测试领域正迎来一场深刻的变革。传统的测试方法依赖人工设计用例、执行脚本和缺陷分析&#xff0c;而AIGC通过自然语言处理、大语言模型和生成式算法&#xff0c;实现了测试流程的智能化升级。…

作者头像 李华
网站建设 2026/7/12 22:48:32

CompletableFuture的5个大坑!

往期热门文章&#xff1a;1、Spring 项目别再乱注入 Service 了&#xff01;用 Lambda 封装个统一调用组件&#xff0c;爽到飞起 2、再见Maven&#xff01;官方推出全新一代Java项目构建工具&#xff0c;性能提升2~10倍 3、程序员的伪年薪百万还能持续多久&#xff1f; 4、索引…

作者头像 李华
网站建设 2026/7/12 1:44:15

土耳其AI里程碑:Kumru本土语言模型如何重塑数字生态格局

在全球人工智能竞赛中&#xff0c;语言模型的本土化发展正成为国家数字战略的核心竞争力。土耳其近期推出的Kumru模型&#xff0c;不仅填补了该国在主流语言模型领域的空白&#xff0c;更标志着其在构建自主可控的AI生态系统上迈出了决定性步伐。这款由土耳其工程师团队独立研发…

作者头像 李华