📄 scankey.c
字号:
/******************键扫描子程序***************/
void Scankey(void)
{
uchar aj;
TOP = 1; //读下行4健
MID = 1;
BOM = 0;
Delay_us(8);
KEY1 = ((P2^0XF0)&0XF0); //求反,有键相应位1,并保存键值
KEY1 = KEY1>>4;
MID = 0; //读中行4健
BOM = 1;
Delay_us(10);
aj = ((P2^0XF0)&0XF0); //求反,有键相应位1,并保存键值
KEY1 = KEY1+aj;
TOP = 0; //读上行4健
MID = 1;
Delay_us(10);
KEY2 = ((P2^0XF0)&0XF0); //求反,有键相应位1,并保存键值
KEY2 = KEY2>>4;
}
/*****************键后处理*******************/
void Kprec(void)
{
uint x,temp;
temp=KEY2; //键前沿检出
x = KEY2^LKEY2; //上次本次键不同为1
KEY2 = x&KEY2; //且本次为1即键前沿
x = temp; //本次键值替代上次
LKEY2 = temp;
temp = KEY1;
x = KEY1^LKEY1; //上次本次键不同为1
KEY1 = x&KEY1; //且本次为1即键前沿
x = temp; //本次键值替代上次
LKEY1 = temp;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -