📄 keyboard.c
字号:
#include<reg51.h>
typedef unsigned char uchar;
sbit vclk = P1^0;
sbit qh = P1^1;
sbit sl = P1^2;
bit flag;
void delay(uchar count)
{
int i,j;
for(j = count ; j ; j --)
for(i = 125 ; i; i --);
}
void out_164(uchar set)
{
SBUF = set;
while(!TI);
TI = 0;
}
uchar in_165()
{
uchar i,result;
sl = 0;
sl = 1;
for(i = 8; i; i --)
{
result <<= 1;
vclk = 0;
if(qh == 1)
result = result | 0x01;
else
result = result & 0xfe;
vclk = 1;
}
return result;
}
void init()
{
SCON = 0x00;
TI = 0;
out_164(0x00);
vclk = 0;
}
void main()
{
init();
do
{
while(in_165() == 0xff);
delay(10);
if(in_165() != 0xff)
flag = 0;
else
flag = 1;
}while(flag);
out_164(0x07);
if(in_165() == 0xf7)
{
P2 = 0x02;
}
if(in_165() == 0xfb)
{
P2 = 0x11;
}
//后边还可以检查其他按钮;;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -