for(j=110;j>0;j--);
}
//初始化函数
voidinit()
{
TMOD=0x11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
km_sock=0;
km_reversion=0;
}
//显示函数
voiddisplay()
{
if(set==2){if(min==0)num_1=min;elsenum_1=min-1;if(min!
=0)num_2=60-s;elsenum_2=ss;}
if(set==0){num_1=sock_min;num_2=sock_s;}
if(set==1){num_1=reversion_min;num_2=reversion_s;}
date[0]=num_1/10;
date[1]=num_1%10;
date[2]=num_2/10;
date[3]=num_2%10;
duan=0xff;
wei_one=0;
duan=datedu[date[0]];
delay(5);
wei_one=1;
duan=0xff;
wei_two=0;
if(s%2>0)
duan=datedu[date[1]];
else
duan=d[date[1]];
delay(5);
wei_two=1;
duan=0xff;
duan=0xff;
wei_three=0;
duan=datedu[date[2]];
delay(5);
wei_three=1;
duan=0xff;
duan=0xff;
wei_four=0;
duan=datedu[date[3]];
delay(5);
wei_four=1;
}
voidscanf()
{
if(set_key==0)
{
delay(10);
if(set_key==0)
{
while(!
set_key)display();
delay(10);
while(!
set_key)display();
set++;
if(set==3)set=0;
}
}
////////////////////////////////////////////set
if(add_key==0&&set==0&&flog==0)
{
delay(10);
if(add_key==0&&set==0)
{
while(add_key==0&&set==0)display();
delay(10);
while(add_key==0&&set==0)display();
sock_min++;
if(sock_min>=60)
sock_min=0;
ss=sock_s;
min=sock_min;
}
}
////////////////////////////////////////////addsockmin
if(add_key==0&&set==0&&flog!
=0)
{
delay(10);
if(add_key==0&&set==0)
{
while(add_key==0&&set==0)display();
delay(10);
while(add_key==0&&set==0)display();
sock_s++;
if(sock_s>=60)
sock_s=0;
ss=sock_s;
min=sock_min;
}
}
/////////////////////////////////////////////// addsocks
if(add_key==0&&set==1&&flog==0)
{
delay(10);
if(add_key==0&&set==1)
{
while(add_key==0&&set==1)display();
delay(10);
while(add_key==0&&set==1)display();
reversion_min++;
if(reversion_min>=60)
reversion_min=0;
ss=reversion_s;
min=reversion_min;
}
}
////////////////////////////////////////////////addreversionmin
if(add_key==0&&set==1&&flog!
=0)
{
delay(10);
if(add_key==0&&set==1)
{
while(add_key==0&&set==1)display();
delay(10);
while(add_key==0&&set==1)display();
reversion_s++;
if(reversion_s>=60)
reversion_s=0;
ss=reversion_s;
min=reversion_min;
}
}
////////////////////////////////////////////////addreversions
if(del_key==0&&set==0&&flog==0)
{
delay(10);
if(del_key==0&&set==0)
{
while(del_key==0&&set==0)display();
delay(10);
while(del_key==0&&set==0)display();
sock_min--;
if(sock_min<0)
sock_min=59;
ss=sock_s;
min=sock_min;
}
}
///////////////////////////////////////////////delsockmin
if(del_key==0&&set==0&&flog!
=0)
{
delay(10);
if(del_key==0&&set==0)
{
while(del_key==0&&set==0)display();
delay(10);
while(del_key==0&&set==0)display();
sock_s--;
if(sock_s<0)
sock_s=59;
ss=sock_s;
min=sock_min;
}
}
///////////////////////////////////////////////delsocks
if(del_key==0&&set==1&&flog==0)
{
delay(10);
if(del_key==0&&set==1)
{
while(del_key==0&&set==1)display();
delay(10);
while(del_key==0&&set==1)display();
reversion_min--;
if(reversion_min<0)
reversion_min=59;
ss=reversion_s;
min=reversion_min;
}
}
////////////////////////////////////////////////delreversionmin
if(del_key==0&&set==1&&flog!
=0)
{
delay(10);
if(del_key==0&&set==1)
{
while(del_key==0&&set==1)display();
delay(10);
while(del_key==0&&set==1)display();
reversion_s--;
if(reversion_s<0)
reversion_s=59;
ss=reversion_s;
min=reversion_min;
}
}
//////////////////////////////////////////////////delreversions
if(move_key==0)
{
delay(10);
if(move_key==0)
{
while(move_key==0)display();
delay(10);
while(move_key==0)display();
flog=~flog;
}
}
}
voiddisposal()
{
if(km1==1&&temp==0&&km2==0)
{
TR0=0;
km_reversion=0;
/*for(xx=110;xx>0;xx--)
for(yy=3000;yy>0;yy--)
display();*/
km_sock=1;
temp=1;
TR0=1;
}
if(km2==1&&temp==1&&km1==0)
{
TR0=0;km_sock=0;
/*for(xx=110;xx>0;xx--)
{
for(yy=3000;yy>0;yy--)display();
}*/
km_reversion=1;
temp=0;
TR0=1;
}
}
voidmain()
{
init();
while
(1)
{
scanf();
display();
disposal();
}
}
//中断函数
voidtime0()interrupt1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;
if(a==20)
{
if(km1==0&&km2==0)
{
if(sock_min!
=0||sock_s!
=0||reversion_min!
=0||reversion_s!
=0)
{km1=1;ss=sock_s;min=sock_min;}
}
if(min==0&&ss==0&&km1==1&&km2==0)
{
km1=0;
km2=1;
ss=reversion_s;
min=reversion_min;
}
if(min==0&&ss==0&&km1==0&&km2==1)
{
km2=0;
km1=1;
ss=sock_s;
min=sock_min;
}
if(min==0)
{ss--;
if(ss<0)
ss=0;}
else
s++;//秒
a=0;
}
if(s==60)
{
s=0;
/*if(km1==1&&km2==0&&min==sock_min)
{
min=sock_min;
}
if(km1==0&&km2==1&&min==reversion_min)
{
min=reversion_min;
}*/
min--;
if(min<0)
min=0;
}
}