📄 keymatrix.c
字号:
/* ***********************************************
键盘扫描程序
完成日期:
修改日期:
修改人员:
修改日期:
修改人员:
***********************************************
*/
#include <reg52.h>
#include "type.h"
// ===============================================
// 键盘延迟程序
// 输入参数:d数据范围[0,255],该参数决定延迟时间
// 输出参数:无
void KeyDelay(UCHAR d)
{
UCHAR i;
while(d--)
{
for ( i = 0; i < 220 ;i ++);
}
}
// ===============================================
// 键盘扫描码获取程序
// 功能简述:当按键按下后以第一次按下的键为有效键
// 输入参数:无
// 输出参数:扫描码
UCHAR getKey(void)
{
UCHAR idx=0,rt;
while(TRUE)
{
idx ++;
idx &= 3;
P1 = ~(1<<idx);
if ( (P1 & 0XF0) != 0XF0)
{
//some key pressed
KeyDelay(20);
if ( (P1 & 0XF0) != 0XF0)
{
rt = (P1&0xf0)+idx;
while(TRUE)
{
if ((P1 & 0XF0) == 0XF0)
{
KeyDelay(20);
if((P1 & 0XF0) == 0XF0)
{
break;
}
}
}
return rt;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -