📄 key.c
字号:
#include<reg51.h>
#include<intrins.h>
sbit P34=0xb4;
sbit P35=0xb5;
//定义显示代码
char code disp[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
//声明获得键码函数
unsigned char get_char(void);
//声明延时函数
void delay(void);
//声明显示函数
void display(char dispchar);
main(){
unsigned char keybuf,count;
SCON=0;
ES=0;
EA=0;
count=0;
while(1)
{
keybuf=get_char();
display(keybuf);
}
}
unsigned char get_char(void){
unsigned char column=0,mask=0x00,key_code;
TI=0;
SBUF=mask;
while(TI==0);
while(1){
while((P34&P35)!=0);
delay();
if((P34&P35)!=0) continue;
else break;
}
mask=0xfe;
while(1)
{
TI=0;
SBUF=mask;
while(TI==0);
if((P34&P35)!=0)
{
mask=_crol_(mask,1);
column++;
if(column>=8) column=0;
continue;
}
else break;
}
if(P34==0) key_code=column;
else key_code=8+column;
return(key_code);
}
void delay(void){
unsigned int i=0;
while(i--);
}
void display(char dispchar)
{
P1=disp[dispchar];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -