<br />我用8279扩展4*4的键盘,但是发现其中一个键盘的值按下后得不到,而其他按键的值可以<br />正常得到,不知道为什么,请各位大哥大姐指导一下,不胜感激!<br />void key()interrupt 2 using 2<br />{<br /> uchar kk;<br /> COM8279=0xd1;<br /> COM8279=0x00;<br /> COM8279=0x2a;<br /> <br /> kk=COM8279;<br /> while (kk&0x0f==0); //无键按下等待<br /> COM8279=0x40; //读fifo ram 命令<br /> flag=1;<br />}<br /><br />void dealkey()<br />{<br /><br /> if(flag==1)<br /> {<br /> flag=0;<br /> m=DAT8279;<br /> <br /> }<br /> switch(m)<br /> {<br /> case 0xd8:<br /> keyVal=0xd8; <br /> break;<br /> case 0xd9:<br /> keyVal=0xd9;<br /> break;<br /> case 0xda:<br /> keyVal=0xda;<br /> break;<br /> case 0xdb://得不到键值的按键,但此键若与其它按键做成组合键,<br /> 却能得到正确键值,不知为什么<br /> keyVal=0xdb;<br /> break;<br /> case 0xd3:<br /> keyVal=0xd3;<br /> break; <br /> default:break; <br /> }<br /><br /> <br /> |
|