📄 1.c
字号:
#include <reg51.h>
#include <stdio.h>
#define uint unsigned int
#define uchar unsigned char
#define qdshi 200
#define ljshi 10
void delay(uchar b)
{uint i,j;
for(i=0;i<b;i++)
for(j=0;j<125;j++);
}
keyprocess(unsigned char p)
{uchar flog;
if(flog==p)
{p+=0x1f;
flog=19;}
switch(p)
{ case 0x60:
P2=0XFE;
delay(255);
flog=p;
break;
case 0xa0:
P2=0xfD;
delay(255);
flog=p;
break;
case 0xc0:
P2=0xfC;
delay(255);
flog=p;
break;
case 0x7f:
case 0xbf:
case 0xdf:
P2=0xf0;
delay(255);
flog=19;
break;
default:
break;
}
}
bit keyflag;
uchar keyswith=1;
void key()
{static uchar keycounter;
uchar keyvalue;
keyvalue=P1;
if(keyvalue==0xe0)
{keycounter=0;
keyflag=0;
return;
}
else if(keyflag)
{keycounter++;
if(qdshi==keycounter)
{keycounter-=ljshi;
keyprocess(keyvalue);
}
else{return;}
}
else{
delay(10);
P1|=0xe0;
keyvalue=P1;
keyvalue=~keyvalue;
keyvalue=keyvalue&0xe0;
if(!keyvalue)
{keycounter=0;
keyflag=0;
return;
}
keyflag=1;
keyprocess(keyvalue);
}
}
void main()
{for(;;)
key();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -