📄 main.c
字号:
#include "AT89X52.h"
#define uchar unsigned char
#define uint unsigned int
#define Ls138 P1
#define key P2
code uchar led[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};
void delay(uint i);
void display(uchar number);
void keypress(void);
void keyrelease(void);
uchar ch = 0;
bit time_flag = 0,fkeypress = 0,firstin = 0;
main()
{
// uchar j;
SCON = 0x00;
TMOD = 0x01;
TH0 = 0x3c;
TL0 = 0xb0;
EA =1;
ET0 = 1;
TR0 = 1;
display(led[ch]);
while(1)
{
/*for(j=0;j<10;j++)
{
display(led[j]);
delay(10000);
}*/
if(!fkeypress)
{
keypress();
}
if(fkeypress)
{
keyrelease();
}
if(fkeypress&&!firstin)
{
firstin = 1;
ch++;
if(ch>9)
{
ch = 0;
}
}
if(time_flag)
{
time_flag = 0;
display(led[ch]);
}
}
}
void delay(uint i)
{
while(--i);
}
void display(uchar number)
{
uchar i;
for(i=1;i<7;i++)
{
Ls138 = i;
SBUF = ~number;
while(!TI);
TI = 0;
}
}
void time0() interrupt 1 using 0
{
TR0 = 0;
TH0 = 0x3c;
TL0 = 0xb0;
time_flag = 1;
TR0 =1;
}
void keypress(void)
{
key = 0xff;
if(!(key&0x80))
{
delay(600);
}
else
{
fkeypress = 0;
firstin = 0;
return;
}
key = 0xff;
if(!(key&0x80))
fkeypress = 1;
}
void keyrelease(void)
{
key = 0xff;
if((key&0x80))
{
delay(600);
}
else
{
return;
}
key = 0xff;
if((key&0x80))
fkeypress = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -