📄 key.c
字号:
#include <reg51.h>
#include <init.h>
extern void Delay(unsigned char i);
extern void LCD_Write_Com(unsigned char com) ;
extern void LCD_Write_Dat(unsigned char dat) ;
extern unsigned char LCD_Read_Com(void);
unsigned char tr[]={0x83,0x84,0x85,0x86,0x88,0x89,0x8b,0x8c,
0xc4,0xc5,0xc7,0xc8,0xca,0xcb};
/*************键盘查询扫描函数*************************/
unsigned char Key_Scan(void)
{
unsigned char a,b,temp;
temp=0xff;
KEY=0x0f;
// while(c--!=0)
// {
if(KEY!=0x0f)
{
Delay(20);
if(KEY!=0x0f)
{
a=KEY;
KEY=0xf0;
b=KEY;
a=a|b;
switch(a)
{
case 0xe7:temp='1';break;
case 0xd7:temp='2';break;
case 0xb7:temp='3';break;
case 0x77:temp='T';break;
case 0xeb:temp='4';break;
case 0xdb:temp='5';break;
case 0xbb:temp='6';break;
case 0x7b:temp='C';break;
case 0xed:temp='7';break;
case 0xdd:temp='8';break;
case 0xbd:temp='9';break;
case 0x7d:temp='W';break;
case 0xee:temp='0';break;
case 0xde:temp='L';break;
case 0xbe:temp='R';break;
case 0x7e:temp='B';break;
default:break;
}
}
}
// if (temp!=0xff) break;
// }
return temp;
}
/*
unsigned char Key_Scan(void)
{
unsigned char a,b,temp;
temp=0xff;
KEY=0x0f;
b=0x7f;
if((KEY&0x0f)!=0x0f)
{
Delay(20);
if((KEY&0x0f)!=0x0f)
{
for(a=0;a<4;a++)
{
KEY=b;
if((KEY&0x0f)!=0x0f)
{
temp=KEY;
break;
}
else
b=(b>>1)|0x80;
}
if(a>=4)
return 0xff;
switch(temp)
{
case 0x77:temp='1';break;
case 0x7b:temp='2';break;
case 0x7d:temp='3';break;
case 0x7e:temp='T';break;
case 0xb7:temp='4';break;
case 0xbb:temp='5';break;
case 0xbd:temp='6';break;
case 0xbe:temp='C';break;
case 0xd7:temp='7';break;
case 0xdb:temp='8';break;
case 0xdd:temp='9';break;
case 0xde:temp='W';break;
case 0xe7:temp='0';break;
case 0xeb:temp='L';break;
case 0xed:temp='R';break;
case 0xee:temp='B';break;
default:break;
}
}
}
return temp;
}*/
void Left(void)
{
unsigned char i,j,tmp;
j=LCD_Read_Com();
i=0;
while(j!=tr[i])
i++;
if(i==0)
tmp=tr[13];
else
tmp=tr[--i];
LCD_Write_Com(tmp);
}
void Right(void)
{
unsigned char i,j,tmp;
j=LCD_Read_Com();
i=0;
while(j!=tr[i]) //先找出当前光标在什么位置
i++;
if(i==13)
tmp=tr[0];
else
{
i++;
tmp=tr[i];
}
LCD_Write_Com(tmp);
// LCD_Write_Com(0x0f);//开显示,开光标,闪烁
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -