扫描的时候确实挺慢的,我再修改一下 |
你把程序对比一下就知道问题在哪![]()
|
你这个函数又长又浪费机时 uchar keyscan() { KEYBOARD=0xf0;//键盘列全置1 delay_10ms(); if(KEYBOARD!=0xf0)//有键按下 { temp=KEYBOARD;//保存此时键值 delay_10ms(); if(KEYBOARD==temp)//再次确认键盘是否按下 { uchar i; KEYBOARD=0x0f;//键盘行全置1; delay_10ms(); keynum=temp|KEYBOARD//保存键盘的行值 for(i=0;i<16;i++) { if(keycode[i]==~keynum) return (i); } } return -1; } } |