case 2://清零
TR0=0;//关中断
keycnt=-1;//显示清零
break; case 3: //运行
TR0=1; //开中断
keycnt=0;不理解keycnt的值为什么你要给-1和0,既然你前面写的是keycnt++,那么keycnt的值最好都是大于等于1的数字。另一个问题就是你的switch语句里面咋没有default,有的时候你按键按下时,keycnt的值可能会累加好几次,导致case语句里面找不到你要的值。导致程序跑飞,按键不灵。你的方法和思路都正确,不过软件漏洞比较多! |