完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void main (void)
{ unsigned char num=0; key0=1; key1=1; //按键输入端口电平置高 key2=1; //key3=1; Init_timer0(); while (1) //主循环 { if(!key0) { DelayMs(10); if(!key0) { while(!key0); num++; if(num==4) { num=0; } } } if(num==1) { TempData[6]=dofly_DuanMa[s/10];//分解显示信息,如要显示68,则68/10=6 68%10=8 TempData[7]=dofly_DuanMa[s%10]; DelayMs(250); DelayMs(250); TempData[6]=0; TempData[7]=0; DelayMs(250); DelayMs(250); } TempData[6]=dofly_DuanMa[s/10];//分解显示信息,如要显示68,则68/10=6 68%10=8 TempData[7]=dofly_DuanMa[s%10]; TempData[5]=0x40; if(num==2) { TempData[3]=dofly_DuanMa[m/10];//分解显示信息,如要显示68,则68/10=6 68%10=8 TempData[4]=dofly_DuanMa[m%10]; DelayMs(250); DelayMs(250); TempData[3]=0; TempData[4]=0; DelayMs(250); DelayMs(250); } TempData[3]=dofly_DuanMa[m/10];//分解显示信息,如要显示68,则68/10=6 68%10=8 TempData[4]=dofly_DuanMa[m%10]; TempData[2]=0x40; if(num==3) { TempData[0]=dofly_DuanMa[h/10];//分解显示信息,如要显示68,则68/10=6 68%10=8 TempData[1]=dofly_DuanMa[h%10]; DelayMs(250); DelayMs(250); TempData[0]=0; TempData[1]=0; DelayMs(250); DelayMs(250); } TempData[0]=dofly_DuanMa[h/10];//分解显示信息,如要显示68,则68/10=6 68%10=8 TempData[1]=dofly_DuanMa[h%10]; // Display(0,8); //显示全部8位 //主循环中添加其他需要一直工作的程序 } } num值0~1的变换轻按按键key0即可,1~2,2~3则需重按key0,这应该也不是DelayMS()的问题,我改变过DelayMS()的值,也没有解决上述问题!会不会是后面的执行程序太多而耽误的问题呢? |
|
相关推荐
2个回答
|
|
本帖最后由 moonyuan 于 2015-8-27 20:39 编辑
当你 num = 0 是, 后续的程序不成立, 那么程序有足够时间 去响应按键。 当num = 1,2,3,程序不断进入Delay。阻塞性的延时,程序自然不会实时响应按键啦。 对策: 1) 短按按键 改为 长按按键 2) 增加 按键标记, 只有按键按下的时候才执行 需要执行的代码 ( 见以下代码 ) 3) 改用 状态机 希望这些有帮助
最佳答案
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
250 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
473 浏览 2 评论
571 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译
260 浏览 0 评论
400 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11974 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 02:44 , Processed in 0.597121 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191