楼上的回答是正解! oxee,oxde等等是键值,键值是不变的,对应什么键号由自己定。你如果把 “uchar key_can; //按键值” 的注释改成 uchar key_can; //按键号 就理解了。 给你一个参考uchar KeyBoard() { uchar K_Num=Null; //键号 uchar KeyValue=Null; //键值 uchar Tmp1=Null,Tmp2=Null; //临时存储 。。。。。。 switch(KeyValue) //根据键值确定键号 { case 0xbe:K_Num=0x00; break; case 0x77:K_Num=0x01; break; case 0xb7:K_Num=0x02; break; case 0xd7:K_Num=0x03; break; case 0x7b:K_Num=0x04; break; case 0xbb:K_Num=0x05; break; case 0xdb:K_Num=0x06; break; case 0x7d:K_Num=0x07; break; case 0xbd:K_Num=0x08; break; case 0xdd:K_Num=0x09; break; case 0xe7:K_Num=0x0a; break; case 0xeb:K_Num=0x0b; break; case 0xed:K_Num=0x0c; break; case 0xee:K_Num=0x0d; break; case 0x7e:K_Num=0x0e; break; case 0xde:K_Num=0x0f; break; } } } return K_Num; //输出键号 } |
wulin 发表于 2022-2-23 12:00 那是程序没对是么 |
通常4*4矩阵键盘有16个状态,具体键值的含义完全由编写者自定义。你完全可以按你希望的数字排列。 |