key3.h

来自「矩阵键盘扫描程序」· C头文件 代码 · 共 51 行

H
51
字号
#include<reg52.h>
#define KeyPort P0
#define uchar unsigned char
#define uint unsigned int
//uchar key[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77};

/*----------11.0592M 延时1ms---------*/
void key_delay(uint k)			
{
	uint i,j;
	for(i=0;i<k;i++)
		for(j=0;j<=112;j++);	  //Keil仿真出来的
}

uchar key_scan(void)
{
	uchar temp;
	KeyPort=0xf0;
	if(KeyPort!=0xf0)
	{
		KeyPort=0xf0;
		key_delay(50);
		if(KeyPort!=0xf0)
		{
			temp=KeyPort;
			KeyPort=0x0f;
			switch(KeyPort|temp)
			{
				case 0xee:return '0';
				case 0xde:return '1';
				case 0xbe:return '2';
				case 0x7e:return '3';
				case 0xed:return '4';
				case 0xdd:return '5';
				case 0xbd:return '6';
				case 0x7d:return '7';
				case 0xeb:return '8';
				case 0xdb:return '9';
				case 0xbb:return 'A';
				case 0x7b:return 'B';
				case 0xe7:return 'C';
				case 0xd7:return 'D';
				case 0xb7:return 'E';
				case 0x77:return 'F';
				default:return 0xff;
			}
		}
	}
	else return 0;
}

⌨️ 快捷键说明

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