完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
就是个位的变化总是跳跃的,比如按一次键,个位就从1跳到6,没有规律;其他三位正常;
请问应该怎么调呢? /* 实验程序三 功能介绍: 数码管初始显示1234,并可由键盘对数字进行加减 */ #include |
|
相关推荐
5个回答
|
|
|
這問題出在您是想要按一次,加減一次,但因為只有判斷按下而沒有之後判斷鬆開,所以邏輯上會一直判斷為按下就一直加到6了
因此更改如下 void key_scanf() { if(key1==0) { delay(10); if(key1==0) { if(aa==0) aa=9999; //四位数,如果到了0,到最大 else aa--; //否则,减一 while(key1==0); //判斷手鬆開,完成一次按下 } } if(key2==0) { delay(10); if(key2==0) { if(aa==9999) aa=0; //四位数,如果到了最大,归零 else aa++; //否则,加一 while(key2==0); //判斷手鬆開,完成一次按下 } } } 以上供參考 |
|
|
|
|
|
|
|
|
|
|
|
你没有按键松开的检测,这样数值是一直在变化的,只不过是你不松开的话数值不显示,加上一个按键 松开检测,还有,如果死循环做按键松开检测,那么你的显示就用定时器,不然你不松开按键数码管是不会显示的!
|
|
|
|
|
|
按键未消抖或者是消抖的事件不够长,导致多次触发了中断
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1078 浏览 1 评论
1896 浏览 0 评论
1875 浏览 1 评论
3299 浏览 5 评论
3623 浏览 9 评论
1079浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1403浏览 1评论
1897浏览 0评论
1212浏览 0评论
1350浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-15 09:36 , Processed in 1.088289 second(s), Total 86, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4919