四川通信建设工程有限公司网站,网络广告例子,网站推广流程,手机网站常用代码文章目录 实验演示共阴极数码管和共阳极数码管的区别所需器材连接草图程序代码代码说明代码功能概述核心数据结构关键函数逻辑 小结 实验演示 共阴极数码管和共阳极数码管的区别
在开始实验之前#xff0c;请让我简单解释一下共阴极数码管和共阳极数码管的区别#xff0c;这…文章目录实验演示共阴极数码管和共阳极数码管的区别所需器材连接草图程序代码代码说明代码功能概述核心数据结构关键函数逻辑小结实验演示共阴极数码管和共阳极数码管的区别在开始实验之前请让我简单解释一下共阴极数码管和共阳极数码管的区别这是这个实验中一个非常重要的概念共阴极把所有段的 “负极” 捆在一起接GND想点亮某一段就给该段的 “正极” 接高电平相当于给这段通正向电共阳极把所有段的 “正极” 捆在一起接VCC想点亮某一段就给该段的 “负极” 接低电平相当于给这段通反向电就以上面的实验演示来说可以看到我的数码管下方连接的是arduino的5v引脚在使用我下面的代码能够点亮说明是共阳极数码管但如果是连接的是arduino的GND引脚那就不能点亮所需器材Arduino 板1个USB下载数据线1根面包板1个杜邦线若干1k 电阻8 个共阳极数码管1个连接草图程序代码// 一维数组映射a~h段到Arduino 2~9号引脚a2, b3, c4, d5, e6, f7, g8, h9constintsegPins[8]{2,3,4,5,6,7,8,9};// 二维数组共阳极数码管0~9对应的a~h引脚电平LOW点亮HIGH熄灭// 行数字0-9列a, b, c, d, e, f, g, hhdp小数点// 共阳极逻辑段引脚输出LOW则点亮输出HIGH则熄灭constintnumSegs[10][8]{{LOW,LOW,LOW,LOW,LOW,LOW,HIGH,LOW},// 0: a-f亮g灭小数点亮{HIGH,LOW,LOW,HIGH,HIGH,HIGH,HIGH,LOW},// 1: b-c亮其余灭小数点亮{LOW,LOW,HIGH,LOW,LOW,HIGH,LOW,LOW},// 2: a,b,d,e,g亮c,f灭小数点亮{LOW,LOW,LOW,LOW,HIGH,HIGH,LOW,LOW},// 3: a,b,c,d,g亮e,f灭小数点亮{HIGH,LOW,LOW,HIGH,HIGH,LOW,LOW,LOW},// 4: b,c,f,g亮a,d,e灭小数点亮{LOW,HIGH,LOW,LOW,HIGH,LOW,LOW,LOW},// 5: a,c,d,f,g亮b,e灭小数点亮{LOW,HIGH,LOW,LOW,LOW,LOW,LOW,LOW},// 6: a,c,d,e,f,g亮b灭小数点亮{LOW,LOW,LOW,HIGH,HIGH,HIGH,HIGH,LOW},// 7: a,b,c亮其余灭小数点亮{LOW,LOW,LOW,LOW,LOW,LOW,LOW,LOW},// 8: 全亮{LOW,LOW,LOW,LOW,HIGH,LOW,LOW,LOW}// 9: a,b,c,d,f,g亮e灭小数点亮};voidsetup(){// 遍历引脚数组初始化所有段引脚为输出模式for(inti0;i8;i){pinMode(segPins[i],OUTPUT);}}voidloop(){// 循环显示0~9每个数字显示1秒for(intnum0;num10;num){displayNumber(num);// 调用通用显示函数delay(1000);}}voiddisplayNumber(intnum){// 边界检查防止传入非法数字导致数组越界if(num0||num9){return;}// 遍历所有段引脚按共阳极段码设置电平for(inti0;i8;i){digitalWrite(segPins[i],numSegs[num][i]);}}代码说明代码功能概述该Arduino程序控制共阳极7段数码管循环显示数字0-9。通过预定义的段码表numSegs和引脚映射segPins实现动态数字显示核心数据结构segPins数组定义数码管a~h段对应的Arduino引脚2-9号引脚顺序为a→hnumSegs二维数组存储0-9数字的共阳极段码逻辑每行对应一个数字0-9每列对应a~h段电平LOW点亮HIGH熄灭第8位h控制小数点关键函数逻辑setup()初始化所有段引脚为输出模式确保能驱动数码管。loop()主循环每1秒切换显示一个数字0→9调用displayNumber()实现具体显示。displayNumber(int num)参数验证仅处理0-9的输入数字显示根据numSegs数组设置各引脚电平共阳极逻辑下LOW点亮对应段小结这虽然是一个简单的实验但是每一个环节都是环环相扣就像一个部件都是由于许多个零件组成的即使零件再小但只要缺少一个零件就无法运行即使其中的代码再简单也需要怀着一颗细致的心