完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
想做一个按键控制四位数码管 按键按一下 数码管循环显示数字 再按一下数码管归零 哪位大神帮我看看代码出了什么问题 为什么总是没有数字循环显示? int a=3; int b=4; int c=5; int d=6; int e=7; int f=8; int g=9; int d1=13; int d2=12; int d3=11; int d4=10; //第四位数码管数字 int _4_num=0; //第三位数码管数字 int _3_num=0; //第二位数码管数字 int _2_num=0; //第一位数码管数字 int _1_num=0; //总的秒数,初始值为0 int total=0; //判断按钮是否按下过 _Bool isButton=false; //判断是否开始计时 _Bool isStart=false; int k[10][8]={ {0,0,0,0,0,0,1,1},//0 {1,0,0,1,1,1,1,1},//1 {0,0,1,0,0,1,0,1},//2 {0,0,0,0,1,1,0,1},//3 {1,0,0,1,1,0,0,1},//4 {0,1,0,0,1,0,0,1},//5 {0,1,0,0,0,0,0,1},//6 {0,0,0,1,1,1,1,1},//7 {0,0,0,0,0,0,0,1},//8 {0,0,0,0,1,0,0,1}};//9 void setup() { // put your setup code here, to run once: Serial.begin(9600); //初始化引脚xxxx for(int i=3;i<=10;i++){ pinMode(i,OUTPUT); } pinMode(d1,OUTPUT); pinMode(d2,OUTPUT); pinMode(d3,OUTPUT); pinMode(d4,OUTPUT); //初始条件下默认显示为0 disShuMaG(total); //2号引脚设为中断事件触发引脚 //当产生高电平时触发 //按钮接5v attachInterrupt(0, onChanged, CHANGE); } void loop() { //初始条件下第一次按开始计时 //再次按下暂停 //当已经暂停,再次按下后重新开始计时 if(isStart && isButton==false){ //进行递增显示数字 disShuMaG(total++); } Serial.println(total); } //这是显示函数, //函数传入一个int类型的数,是要显示的数 //第二个int类型表示表示要显示的数码管 void disPlay(int num, int index){ for(int i=0;i<8;i++){ digitalWrite(index, HIGH); digitalWrite(3+i, k[num]); } digitalWrite(index, LOW); } //将总的函数转化为对应四个数码管上显示的数字 //函数传入一个int类型的数,是要显示的数 void disShuMaG(int total){ _1_num=total/1000; //第一个数码管要显示的数字 _2_num=total%1000/100; //第二个数码管要显示的数字 _3_num=total%100/10; //第三个数码管要显示的数字 _4_num=total%10; //第四个数码管要显示的数字 //进行数字显示 for(int i=0;i<25;i++){ // disPlay(_1_num, d1); // delay(1000); // disPlay(_2_num, d2); // delay(1000); disPlay(_3_num, d3); delay(1000); disPlay(_4_num, d4); delay(1000); } } //中断函数 void onChanged(){ Serial.println("onChanged"); //开始计时 if(isStart==false && isButton==false){ isStart=true; return; } //暂停 if(isStart==true && isButton ==false){ isButton=true; return; } //重新开始 if(isStart==true && isButton==true){ isStart=false; isButton=false; total=0; return; } } |
|
相关推荐
4个回答
|
|
没有人回答吗????
|
|
|
|
如果我没说错,你这个程序是复制别人的吧?
|
|
|
|
数码管的共阴共阳问题判断了吗?共阴共阳在接线上也存在些许差别
|
|
|
|
一点一点开 自己写就好了
|
|
|
|
只有小组成员才能发言,加入小组>>
WIO Terminal +MCP2515 实现车辆OBD的速度监控
10420 浏览 0 评论
60659 浏览 77 评论
6003 浏览 3 评论
一块扩展板完成Arduino的10类37项实验(代码+图形+仿真)
36962 浏览 219 评论
10059 浏览 0 评论
535浏览 1评论
请教:esp32中用u8g2显示shtc3传感器数据到i2c液晶屏,显示不稳定的问题
1310浏览 1评论
1452浏览 1评论
654浏览 0评论
575浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 02:42 , Processed in 0.929498 second(s), Total 84, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号