📄 key.c
字号:
//工作源代码(c51函数)
//ckey_temp 为返回的键值,cKeyData为键盘在总线中的地址0x8000;
#include <reg51.h>
#define BYTE unsigned char
BYTE xdata cKeyData _at_ 0x8000;
/*
功能:
扫描键盘值。
参数:
无。
返回值:
键盘按键值。
*/
BYTE ckey_iO()
{
BYTE ckey_temp;
BYTE ckey_i;
ckey_i = 1;
ckey_temp = 0xff;
cKeyData = 0x07;
if(ckey_i == 0)
{
Wait(30);
if(ckey_i == 0)
{
cKeyData = 0x87;
if(ckey_i)
{
cKeyData = 0x83;
if(ckey_i)
ckey_temp = 10;
else
{
cKeyData = 0x85;
if(ckey_i)
ckey_temp = 6;
else
{
cKeyData = 0x86;
if(ckey_i)
key_tem = 1;
else
ckey_temp = 0xff;
}
}
}
else
{
cKeyData = 0x47;
if(ckey_i)
{
cKeyData = 0x43;
if(ckey_i)
ckey_temp = 11;
else
{
cKeyData = 0x45;
if(ckey_i)
ckey_temp = 7;
else
{
cKeyData = 0x46;
if(ckey_i)
ckey_temp=2;
else
ckey_temp=0xff;
}
}
}
else
{
cKeyData = 0x27;
if(ckey_i)
{
cKeyData = 0x23;
if(ckey_i)
ckey_temp=12;
else
{
cKeyData = 0x25;
if(ckey_i)
ckey_temp=8;
else
{
cKeyData = 0x26;
if(ckey_i)
ckey_temp=3;
else
ckey_temp=0xff;
}
}
}
else
{
cKeyData = 0x17;
if(ckey_i)
{
cKeyData = 0x13;
if(ckey_i)
ckey_temp=13;
else
{
cKeyData = 0x15;
if(ckey_i)
ckey_temp=9;
else
{
cKeyData = 0x16;
if(ckey_i)
ckey_temp=4;
else
ckey_temp=0xff;
}
}
}
else
{
cKeyData = 0x0f;
if(ckey_i)
{
cKeyData = 0x0b;
if(ckey_i)
ckey_temp=14;
else
{
cKeyData = 0x0d;
if(ckey_i)
ckey_temp=0;
else
{
cKeyData = 0x0e;
if(ckey_i)
ckey_temp=5;
else
ckey_temp=0xff;
}
}
}
else
ckey_temp=0xff;
}
}
}
}
for(;;)
{
dog=!dog;
ckey_i=1;
Wait(10);
cKeyData = 0x07;
if(ckey_i==1)
{
Wait(30);
if(ckey_i==1)
break;
}
}
}
else
ckey_temp=0xff;
}
cKeyData = 0x07;
return(ckey_temp);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -