📄 键盘.c
字号:
#include<reg52.h>
#include<math.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define TRUE 1
#define FALSE 0
uchar key_flag;
uchar code key[10]={0x00,0x01,0x002,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
void delay(void);
void dy(uchar k);
uchar keyscan();
void main(void) //
{
uchar k;
while(1)
{ P1=0x0f;
if(P1!=0x0f)
{
k=keyscan();
dy(k);
}
}
}
uchar keyscan() //
{ uchar h,l,k1;
if(P1!=0x0f)
{
delay();
if(P1!=0x0f)
{
h=P1&0x0f;
P1=0xf0;
l=P1&0xf0;
k1=h|l;
return(k1);
}
else return(0xff);
}
}
void delay()
{int n;
for(n=0;n<200;n++);
}
void dy(uchar k)
{
int i,j;
switch(k)
{
case 0xee:
for(i=0;i<10;i++)
{P3=key[i];
for(j=0;j<12000;j++);
}
break;
case 0xde:
P3=0x80;break;
case 0xbe:
P3=0x80;break;
case 0x7e:
P3=0x80;break;
case 0xed:
P3=0x80;break;
case 0xdd:
P3=0x80;break;
case 0xbd:
P3=0x80 ;break;
case 0x7d:
P3=0x80;break;
case 0xeb:
P3=0x80;break;
case 0xdb:
P3=0x80;break;
case 0xbb:
P3=0x80;break;
case 0x7b:
P3=0x80; break;
case 0xe7:
P3=0x80 ;break;
case 0xd7:
P3=0x80; break;
case 0xb7:
P0=0x80;break;
case 0x77:
for(i=0;i<10;i++)
{P0=key[i];
for(j=0;j<12000;j++);
}
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -