完善资料让更多小伙伴认识你,还能领取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); //判斷手鬆開,完成一次按下 } } } 以上供參考 |
|
|
|
|
|
|
|
你没有按键松开的检测,这样数值是一直在变化的,只不过是你不松开的话数值不显示,加上一个按键 松开检测,还有,如果死循环做按键松开检测,那么你的显示就用定时器,不然你不松开按键数码管是不会显示的!
|
|
|
|
按键未消抖或者是消抖的事件不够长,导致多次触发了中断
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
658 浏览 0 评论
1082 浏览 1 评论
2454 浏览 5 评论
2778 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2614 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
636浏览 9评论
632浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
765浏览 6评论
608浏览 5评论
651浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-6 23:24 , Processed in 1.014744 second(s), Total 90, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号