📄 keydrive.c
字号:
#include <at89x51.h>
void delay10ms(void)
{
unsigned char i;
unsigned char j;
for(i=50;i>0;i--)
for(j=200;j>0;j--);
}
unsigned char kbbit(void)
{
unsigned char temp;
P1 = 0xf0;
if (P1 == 0xf0) temp=0;
else
{ //抗干扰处理
delay10ms();
P1=0Xf0;
if(P1==0Xf0) temp=0;
else temp=1;
}
return(temp);
}
/*********************************
name :keyup
function: 判断键盘是否抬起
说明:若键盘抬起则返回1 ,否则为0
***********************************/
unsigned char keyup(void)
{
unsigned char ch;
P1=0Xf0;
ch=P1;
if(ch==0xf0) return(1); //键盘已经抬起
else return(0);
}
unsigned char getch(void)
{
unsigned char X,Y,Z;
P1 = 0x0f;
X = P1;
P1 = 0xf0;
Y = P1;
Z =X|Y;
switch(Z)
{
case 0xee: return ( 0 );break;
case 0xde: return ( 1 );break;
case 0xbe: return ( 2 );break;
case 0x7e: return ( 3 );break;
case 0xed: return ( 4 );break;
case 0xdd: return ( 5 );break;
case 0xbd: return ( 6 );break;
case 0x7d: return ( 7 );break;
case 0xeb: return ( 8 );break;
case 0xdb: return ( 9 );break;
case 0xbb: return ( 10 );break;
case 0x7b: return ( 11 );break;
case 0xe7: return ( 12 );break;
case 0xd7: return ( 13 );break;
case 0xb7: return ( 14 );break;
case 0x77: return ( 15 );break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -