📄 key.c
字号:
#include<reg51.h>
#include<absacc.h>
#define uint unsigned int
#define uchar unsigned char
/*********延时程序****************/
void delay_10ms(void)
{ uchar i,j;
for(i=2000;i>0;i--)
for(j=24800;j>0;j--);
}
/****扫描按键函数******/
uchar keyscan(void)
{
uchar temp;
uchar key=20;
P1=0x7f;
temp=P1;
temp=temp&0x0f;
if(temp!=0x0f)
{
delay_10ms();
switch(temp&0x0f)
{
case 0x0e:
key=4;
break;
case 0x0d:
key=8;
break;
case 0x0b:
key=13;
break;
case 0x07:
key=16;
break;
default:break;
}
}
P1=0xbf;
temp=P1;
temp=temp&0x0f;
if(temp!=0x0f)
{
delay_10ms();
switch(temp&0x0f)
{
case 0x0e:
key=3;
break;
case 0x0d:
key=7;
break;
case 0x0b:
key=11;
break;
case 0x07:
key=15;
break;
default:break;
}
}
P1=0xdf;
temp=P1;
temp=temp&0x0f;
if(temp!=0x0f)
{
delay_10ms();
switch(temp&0x0f)
{
case 0x0e:
key=2;
break;
case 0x0d:
key=6;
break;
case 0x0b:
key=10;
break;
case 0x07:
key=14;
break;
default:break;
}
}
P1=0xef;
temp=P1;
temp=temp&0x0f;
if(temp!=0x0f)
{
delay_10ms();
switch(temp&0x0f)
{
case 0x0e:
key=1;
break;
case 0x0d:
key=5;
break;
case 0x0b:
key=9;
break;
case 0x07:
key=13;
break;
default:break;
}
}
return key;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -