📄 gkim.c
字号:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit we1=P2^4;
sbit we2=P2^5;
sbit we3=P2^6;
sbit we4=P2^7;
sbit s1=P3^2;
sbit s2=P3^3;
sbit s3=P3^4;
sbit s4=P3^5;
uchar i,t1,t2,f1,f2,s1num,count;
char miao,fen,shi,num;
uchar fen1,fen2,shi1,shi2,miao1,miao2;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,
0x73,0x6d,0,0x40,0x76,
0x80};
void delay(uint z)
{uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(uchar one,uchar two,uchar three,uchar four)
{
P0=table[one];
we4=1;
delay(1);
we4=0;
P0=table[two];
we3=1;
delay(1);
we3=0;
P0=table[three];
we2=1;
delay(1);
we2=0;
P0=table[four];
we1=1;
delay(1);
we1=0;
}
void init()
{ for(i=0;i<100;i++)
display(19,19,19,19);
TMOD=0x01;
EA=1;
ET0=1;
TR0=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
void keyscan()
{
if(s1==0&&num==0)
{
delay(5);
if(s1==0)
{ s1num++;
while(!s1);
if(s1num==1)
{ TR0=0;
t1=shi1;
t2=shi2;
f1=fen1;
f2=fen2;
shi1=19;
shi2=19;
fen1=miao1;
fen2=miao2;
}
if(s1num==2)
{
fen1=f1;
fen2=f2;
shi1=21;
shi2=21;
}
if(s1num==3)
{
f1=fen1;
f2=fen2;
shi1=t1;
shi2=t2;
fen1=21;
fen2=21;
}
if(s1num==4)
{ s1num=0;
TR0=1;
fen1=f1;
fen2=f2;
}
}
}
if(s1num!=0)
{
if(s2==0)
{
delay(5);
if(s2==0)
{
while(!s2);
if(s1num==1)
{
miao++;
if(miao==60)
miao=0;
miao1=miao/10;
miao2=miao%10;
fen1=miao1;
fen2=miao2;
}
if(s1num==2)
{
fen++;
if(fen==60)
fen=0;
fen1=fen/10;
fen2=fen%10;
}
if(s1num==3)
{
shi++;
if(shi==24)
shi=0;
shi1=shi/10;
shi2=shi%10;
}
}
}
if(s3==0)
{
delay(5);
if(s3==0)
{
while(!s3);
if(s1num==1)
{
miao--;
if(miao==-1)
miao=59;
miao1=miao/10;
miao2=miao%10;
fen1=miao1;
fen2=miao2;
}
if(s1num==2)
{
fen--;
if(fen==-1)
fen=59;
fen1=fen/10;
fen2=fen%10;
}
if(s1num==3)
{
shi--;
if(shi==-1)
shi=23;
shi1=shi/10;
shi2=shi%10;
}
}
}
}
if(s4==0&&s1num==0)
{
delay(5);
if(s4==0)
{
num++;
while(!s4);
if(num==2)
num=0;
}
}
}
void main()
{
init();
while(1)
{ keyscan();
if(num==0)
{
display(shi1,shi2,fen1,fen2);
if(s1num==0)
{ we3=1;
P0=table[21];
delay(1);
we3=0;
}
}
else
{
display(19,19,miao1,miao2);
}
}
}
void time0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
count++;
if(count==20)
{
count=0;
miao++;
if(miao==60)
{
miao=0;
fen++;
if(fen==60)
{
fen=0;
shi++;
if(shi==24)
shi=0;
shi1=shi/10;
shi2=shi%10;
}
fen1=fen/10;
fen2=fen%10;
}
miao1=miao/10;
miao2=miao%10;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -