📄 key.c
字号:
// 键盘程序 4X4方式
// author:wacke
// date :2005/7/15
#include "key.h"
uchar kbscan(void) //扫描当前键盘情况
{
uchar key,temp;
P1=0xf0;
if(P1!=0xf0)
{
delay(1);
temp = P1;
if(temp!=0xf0)
{
temp = temp|0x0f;
P1 = temp;
delay(5);
key = P1;
if(key != temp)
return key;
else
return 0;
}
}
return 0;
}
uchar GetKey(void) //获得一个按键
{
uchar key;
do{
key = kbscan();
}while(!key);
switch(key)
{
case 0x77:
key = '0';
break;
case 0x7b:
key = '7';
break;
case 0x7d:
key = '4';
break;
case 0x7e:
key = '1';
break;
case 0xb7:
key = 'L';
break;
case 0xbb:
key = '8';
break;
case 0xbd:
key = '5';
break;
case 0xbe:
key = '2';
break;
case 0xd7:
key = 'R';
break;
case 0xdb:
key = '9';
break;
case 0xdd:
key = '6';
break;
case 0xde:
key = '3';
break;
case 0xe7:
key = 'C';
break;
case 0xeb:
key = 'D';
break;
case 0xed:
key = 'U';
break;
case 0xee:
key = 'E';
break;
default:
key = '-';
break;
}
return key;
}
void WaitKeyUp(void) //等待所有键都被放开
{
uchar key;
do{
key = kbscan();
}while(key);
}
void delay(uchar time) //内部用,延时程序
{
uchar i,j;
for(i = 0; i < time; i++)
for(j = 0; j < 0xff; j++);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -