📄 key.c
字号:
#include <reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define ulint unsigned long int
sbit ACC_0 =ACC^0;
sbit KeyButton =P1^6;
sbit Button1 =P2^0;
#define Keyio P0
uchar code Kconst=0x75;//1为重复输出,0不重复
uchar Kinput;
uchar Ktemp;
uchar Kstore;
uchar Kready;
uchar Koutput;
/*code uchar value[16]=
{
0x01,0x02,0x03,0x0a,
0x04,0x05,0x06,0x0b,
0x07,0x08,0x09,0x0c,
0x0e,0x00,0x0f,0x0d
}; */
uchar Key(void)
{
uchar i,temp;
temp=0xfe;
Kinput=0;
for(i=0;i<8;i++)
{
KeyButton=1;
Keyio=temp;
KeyButton=1;
KeyButton=1;
KeyButton=1;
KeyButton=1;
KeyButton=1;
if(KeyButton==0)
Kinput|=(~Keyio);
temp=_crol_(temp,1);//不带进位的左移
}
Button1=1;
if(Button1==0)
Kinput=0x3;
Keyio=0xff;
Kready=Ktemp&Kinput|Kready&(Ktemp^Kinput);
Ktemp=Kinput;
/*以下表示式用于输出重复键和非重复键*/
if(Kready!=0x3)
Koutput=Kready&(~Kstore|Kconst);
else
Koutput=Kready&(~Kstore);
Kstore=Kready;
return Koutput;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -