📄 main.txt
字号:
#include<reg52.h>
//////////////////////////////////////////////////////////////////
/* ??? */
#define UCHARCODE unsigned char code
#define UCHARDATA unsigned char data
#define UCHAR unsigned char
#define UINTDATA unsigned int data
//////////////////////////////////////////////////////////////////
UCHARCODE uccRemove[3]={0x03,0x05,0x06};
UCHARDATA i; /* ???? */
UCHARDATA j; /* ???? */
UCHARDATA ucdKBScanResult; /* ??????? */
UCHARDATA ucdKBScan_Acc; /* ????????? */
UCHARDATA ucdReceiver; /* P0???????? */
UCHARDATA ucdIncrease; /* ?? */
/////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
UCHARDATA ucdINT1Acc; /* ??1?????? */
UCHARDATA ucdINT1Counter; /* ??1????? */
//////////////////////////////////////////////////////////////////
/* ????? */
UCHARCODE uccTab[20] = {
0x3f,0x06,0x5b,0x4f, /* 0 1 2 3 */
0x66,0x6d,0x7d,0x07, /* 4 5 6 7 */
0x7f,0x6f,0x77,0x7c, /* 8 9 a b */
0x58,0x5e,0x79,0x71, /* c d e f */
0x00,0x0c,0x40 /* _| - */
};
////////////////////////////////////////////////////////////////////
void KBScan(void);
void InitTimer();
//////////////////////////////////////////////////////////////////
void main()
{
InitTimer(); /* ????? */
while(1)
{
KBScan(); /* ???? */
}
}
//////////////////////////////////////////////////////////////////
void InitTimer()
{
TMOD = 0x11;
EA = 1;
ET1 = 1;
TR1 = 1;
ET0 = 1;
TR0 = 1;
}
void Display() interrupt 3 using 2 //LED DISPLAY
{
TL1 = 0xf0;
TH1 = 0xf9;
P2 = 0;
P1 = P1&0xf0;
P1 = P1|ucdINT1Acc;
ucdINT1Acc = ucdINT1Acc<<1;
P2 = uccTab[ucdKBScanResult];
//////////////////////////////////////////////////////////////////////
ucdINT1Counter = ucdINT1Counter + 1;
if(ucdINT1Acc >= 16)
{
ucdINT1Counter = 0;
ucdINT1Acc = 1;
}
}
void KBScan(void)
{
ucdKBScan_Acc = uccRemove[ucdIncrease];
ucdIncrease = ucdIncrease + 1;
if(ucdIncrease >= 3)
{
ucdIncrease = 0;
}
ucdKBScan_Acc = ucdKBScan_Acc|0xf0;
P0 = P0&0xc0;
P0 = P0|ucdKBScan_Acc;
for(i = 0; i < 100; i++)
for(j = 0; j < 80; j++)
ucdReceiver = P0;
ucdReceiver = ucdReceiver&0x3f;
if(ucdReceiver == 0x1b)
ucdKBScanResult = 0;
else if(ucdReceiver == 0x2b)
ucdKBScanResult = 1;
else if(ucdReceiver == 0x33)
ucdKBScanResult = 2;
else if(ucdReceiver == 0x1d)
ucdKBScanResult = 3;
else if(ucdReceiver == 0x2d)
ucdKBScanResult = 4;
else if(ucdReceiver == 0x35)
ucdKBScanResult = 5;
else if(ucdReceiver == 0x1e)
ucdKBScanResult = 6;
else if(ucdReceiver == 0x2e)
ucdKBScanResult = 7 ;
else if(ucdReceiver == 0x36)
ucdKBScanResult = 8;
else
ucdKBScanResult = 30;
//return ucdKBScanResult;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -