key.c

来自「音响效果程序」· C语言 代码 · 共 54 行

C
54
字号
#include <reg52.h>
char kbhit( void )
{
	unsigned char RestoreP1, RestoreIE;
	char ret=0;
	unsigned char InP1;
	RestoreIE = IE;
	EA = 0;
	RestoreP1 = P1;
	P1 = 0x0f;
	InP1 = P1;
	P1 = RestoreP1;
	IE = RestoreIE;
	if( InP1 != 0x0f ) ret=1;
	return( ret );
}

char getKey( void )
{
	code char KeyCode[]={
	/* 0    1    2    3     4	 5	  6	   7	 8	  9	   A	B	  C	   D	E	 F  */ 
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,	//0 
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //1
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //2 
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //3
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //4 
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //5 
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //6 
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0x0F, 0xff,0xff,0xff,0x0B, 0xff,0x07,0x03,0xff, //7
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //8 
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //9 
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //A 
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0x0E, 0xff,0xff,0xff,0x0A, 0xff,0x06,0x02,0xff, //B 
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //C 
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0x0D, 0xff,0xff,0xff,0x09, 0xff,0x05,0x01,0xff, //D 
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0x0C, 0xff,0xff,0xff,0x08, 0xff,0x04,0x00,0xff, //E 
	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff  //F 
	};
	unsigned char RestoreP1, RestoreIE;
	unsigned char ret=0;
	unsigned char Xkey, Ykey;
	RestoreIE = IE;
	EA = 0;
	RestoreP1 = P1;
	P1=0x0f; Xkey=P1;
	P1=0xf0; Ykey=P1;
	P1 = RestoreP1;
	IE = RestoreIE;
	ret = KeyCode[Xkey | Ykey];
	if( ret > 15 ) ret=127;
	return( ret );
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?