📄 key.c
字号:
#include<reg51.h> //头文件
#include<stdio.h>
int hang; //定义行号
int lie; //定义列号
int KeyScan(); //子函数声明
void Delay();
void main() //主函数
{
int Key;
while(1) //开始循环扫描键盘
{
Key=KeyScan(); //键盘扫描子函数
if(Key==1) //如果扫描到按键按下
{
P2=0x80; //点亮发光二极管
}
Delay(); //延时
P2=0x00; //熄灭发光二级管
}
}
void Delay() //延时子函数
{
long i;
for(i=10000;i>0;i--); //可以根据系统的时钟频率来调整
}
int KeyScan() //键盘扫描子函数
{
P1=0xF0; //列输出全0
if((P1&0xF0)!=0xF0) //扫描行,如果不全为0,则进入
{
switch(P1) //获得行号
{
case 0x70:
hang=1;
break;
case 0xB0:
hang=2;
break;
case 0xD0:
hang=3;
break;
case 0xE0:
hang=4;
break;
default:
break;
}
Delay(); //延时去抖动
P1=0x0F; //行输出全0
if((P1&0x0F)!=0x0F) //扫描列,如果不全为0,则确认按键按下
{
switch(P1) //获得列号
{
case 0x07:
lie=1;
break;
case 0x0B:
lie=2;
break;
case 0x0D:
lie=3;
break;
case 0x0E:
lie=4;
break;
default:
break;
}
return 1; //扫描到按键按下,返回1
}
}
else
{
return 0; //未扫描到按键按下,返回0
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -