楼上的回答是正解!
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; //输出键号
}
|