📄 keyscan.c
字号:
#include "AT89X52.H"
#include "SysFunction.h"
//按键音输出端
#define port_alarmout P2_0
//自动键延时计数
#define Autoclick 10
#define uchar unsigned char
sbit k_ok=P0^6;
sbit k_cancel=P0^7;
sbit k_up=P0^4;
sbit k_down=P0^5;
#define key_NoKey 0
#define key_ok 0x05
#define key_cancel 0x06
#define key_up 0x07
#define key_down 0x08
#define key_ok_L 0x85
#define key_cancel_L 0x86
#define key_up_L 0x87
#define key_down_L 0x88
unsigned char key_scan()
{
uchar key,clc=Autoclick;
key=key_NoKey;
k_ok=1;
k_cancel=1;
k_up=1;
k_down=1;
if(k_ok==0)
{
key=key_ok;
};
if(k_cancel==0)
{
key=key_cancel;
};
if(k_up==0)
{
key=key_up;
};
if(k_down==0)
{
key=key_down;
};
if (key!=key_NoKey)
{
port_alarmout=0;
delayms(20);
port_alarmout=1;
}
while(!(k_ok==1 && k_cancel==1 && k_up==1 && k_down==1) && clc!=0)
{
delayms(1);
// P1=0xf0;
k_ok=1;
k_cancel=1;
k_up=1;
k_down=1;
clc--;
}
if(clc==0)
{
return 0x80|key;
}
else
{
return key;
}
}
unsigned char key_scanW()
{
unsigned char keytmp;
do
{
keytmp=key_scan();
//WTD();
}
while(keytmp==key_NoKey);
return keytmp;
}
/*
//获得取消键
unsigned char key_Cancle()
{
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -