⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyscan_4x4.h

📁 C语言的模块移植通用很好
💻 H
字号:
uchar key,value,variable;

void keyscan();
void scan();
void count_key();
void keyscan()
{
	uchar i;
	uchar key_table[]={0xfe,0xfd,0xfb,0xf7};
	P3=0xf0; 
	value=P3;
	if(value!=0xf0)		 //判断是否有键按下
	{
		for(i=0;i<4;i++)
		{
			P3=variable=key_table[i];
			scan();
		}
	}		
}

void scan()
{
	value=P3;
	value=value&0xf0;
	if(value!=0xf0)
	{
		delay(5);
		value=P3;
		value=value&0xf0;
		if(value!=0xf0)
		{
			while(P3!=variable);  //判断是否松手				
			delay(1);
			count_key();
		}
	}
}

void count_key()
{
	if(value==0xe0)
	{
	    if(variable==0xfe) key=0;
	    if(variable==0xfd) key=4;
	    if(variable==0xfb) key=8;
	    if(variable==0xf7) key=12;
	} 
	
	if(value==0xd0)
	{
		if(variable==0xfe) key=1;
	    if(variable==0xfd) key=5;
	    if(variable==0xfb) key=9;
	    if(variable==0xf7) key=13;
	} 

	if(value==0xb0)
	{
		if(variable==0xfe) key=2;
	    if(variable==0xfd) key=6;
	    if(variable==0xfb) key=10;
	    if(variable==0xf7) key=14;
	} 

	if(value==0x70)
	{
		if(variable==0xfe) key=3;
	    if(variable==0xfd) key=7;
	    if(variable==0xfb) key=11;
	    if(variable==0xf7) key=15;
	} 
}

⌨️ 快捷键说明

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