📄 keyboard_deal_int1.c
字号:
void Key_Int(void) interrupt 2 using 1
{
unsigned char data i,SendCmd[4]={0x1B,0x2A,0x00,0x1B};
unsigned char data Key_Val;
unsigned int delaytime;
for (delaytime = 0; delaytime < 0x3ff; delaytime++);//键盘去抖动
Key = 1;
if (!Key)
{
Key_Val = KeyComd[P4 & 0x0f];
switch (Key_Val)
{
case 1:
SendCmd[0] = 0xff;//发送键盘命令值
SendCmd[1] = 0x00;
break;
case 2:
SendCmd[0] = 0xfe;
SendCmd[1] = 0x01;
break;
case 3:
SendCmd[0] = 0xfd;
SendCmd[1] = 0x02;
break;
case 4:
SendCmd[0] = 0xfb;
SendCmd[1] = 0x04;
break;
case 5:
SendCmd[0] = 0xfa;
SendCmd[1] = 0x05;
break;
case 6:
SendCmd[0] = 0xf9;
SendCmd[1] = 0x06;
break;
case 7:
SendCmd[0] = 0xf7;
SendCmd[1] = 0x08;
break;
case 8:
SendCmd[0] = 0xf6;
SendCmd[1] = 0x09;
break;
case 9:
SendCmd[0] = 0xf5;
SendCmd[1] = 0x0a;
break;
case 10:
SendCmd[0] = 0xf3;
SendCmd[1] = 0x0c;
break;
case 11:
SendCmd[0] = 0xf2;
SendCmd[1] = 0x0d;
break;
case 12:
SendCmd[0] = 0xf1;
SendCmd[1] = 0x0E;
break;
case 13:
SendCmd[0] = 0xef;
SendCmd[1] = 0x10;
case 14:
SendCmd[0] = 0xee;
SendCmd[1] = 0x11;
break;
case 15:
SendCmd[0] = 0xed;
SendCmd[1] = 0x12;
break;
default:break;
}
SendCmd[2] = 0xff;
SendCmd[3] = 0x00;
for (i = 0; i < 4; i++)//串口发送
{
ACC = SendCmd[i];
TB8 = P;
SBUF = SendCmd[i];
err = 0;
while (!TI)
{
err++;
if (err > 5000)
{
break;
}
}
TI = 0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -