unsigned char code KeyCodeMap[4][4] = { //矩阵按键编号到标准键盘键码的映射表
{ '1', '2', '3', 0x26 }, //数字键1、数字键2、数字键3、向上键
{ '4', '5', '6', 0x25 }, //数字键4、数字键5、数字键6、向左键
{ '7', '8', '9', 0x28 }, //数字键7、数字键8、数字键9、向下键
{ '0', 0x1B, 0x0D, 0x27 } //数字键0、ESC键、 回车键、 向右键
};
void KeyAction(unsigned char keycode)
{
if ((keycode>='0') && (keycode<='9')) //输入字符
{
NumKeyAction(keycode - '0');
}
else if (keycode == 0x26) //向上键,+
{
OprtKeyAction(0);
} else if (keycode == 0x0D) //回车键,计算结果
{
GetResult();
}
else if (keycode == 0x1B) //Esc键,清除
{
Reset();
LcdShowStr(15, 1, "0");
}
}
问:在LCD上可以直接keycode - '0'得出想要的数吗,为什么要用字符,不用0x26 的格式
|