📄 test.c
字号:
#include<REG52.H>
typedef unsigned char uchar;
sbit LED = P2^0;
char Buff;
uchar Key_Scan();
void Serial_Init();
void delay();
main()
{
uchar kv , fgk;
Serial_Init();
while(1)
{
kv = Key_Scan();
if(!(kv & 0x20))
{
fgk = (fgk + 1)&0x01;
LED = fgk;
}
else if(!(kv & 0x10))
if(fgk)
SBUF = 9;
else
SBUF = 4;
else if(!(kv & 0x08))
if(fgk)
SBUF = 8;
else
SBUF = 3;
else if(!(kv & 0x04))
if(fgk)
SBUF = 7;
else
SBUF = 2;
else if(!(kv & 0x02))
if(fgk)
SBUF = 6;
else
SBUF = 1;
else if(!(kv & 0x01))
if(fgk)
SBUF = 5;
else
SBUF = 10;
}
}
void Serial_Init()
{
PCON = 0;
SCON = 0xD0;
TMOD = 0x21;
TH1 = 0xFD;
TL1 = 0xFD;
//EA = 1;
TR1 = 1;
}
uchar Key_Scan()
{
uchar aa , pf , fgks;
int kcount;
P1 = 0xFF;
fgks = 1;
kcount = 0;
while(fgks)
{
delay();
aa = P1;
if(aa == 0xFF)
if(kcount > 50)
fgks = 0;
else
kcount = 0;
else
if(pf != aa)
{
pf = aa;
kcount = 0;
}
else
{
if(kcount < 200)
kcount ++;
}
}
return pf;
}
void delay()
{
int i = 0;
for(i = 0; i < 100;)
i++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -