#include<reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit p1=P2^6;
sbit p2=P2^5;
sbit p3=P2^4;
sbit p4=P2^3;
sbit p5=P2^2;
sbit p6=P2^1;
sbit p7=P2^0;
sbit p8=P3^5;
sbit p9=P3^6;
sbit p10=P3^7;
sbit k1=P1^4;
sbit k2=P1^5;
sbit k3=P1^6;
sbit k4=P1^7;
sbit k5=P3^0;
sbit k6=P3^1;
sbit k7=P3^2;
sbit k8=P3^3;
sbit k9=P1^0;
sbit k10=P1^1;
sbit k11=P1^2;
sbit k12=P1^3;
sbit dp=P0^7;
sbit ts=P3^4;
int fen=12;miao=0;fenshu=0;fenshu1=0;shezhi=0;mSec;a1;a2;a3;a4;kaishi=0;fs;sjd=0;shanshuo=0;tishi=1;xxx;xx=0,dd=0;
uchar data_7seg[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
int count;count1;count2;
//void key();
void qudou(void)
{ int i;
for(i=0;i<2400;i++);
}
void Delay1ms(unsigned int xs)
{ unsigned int i,j;
for(i=0;i<xs;i++)
for(j=0;j<0;j++);
}
void interrupt_0_initial()
{
IT0=0;
EX0=1;
EA=1;
}
void time1_initial()
{
TMOD=0x10;
TH0=(65535-5000)/256;
TL0=(65535-5000)%256;
EA=1;
}
void xianshi()
{ p1=0;p2=0;p3=0;p4=0;p5=0;p6=0;p7=0;p8=0;p9=0;p10=0;
if(shezhi==1)
{if(shanshuo==1)
P0=data_7seg[10];
else
P0=data_7seg[fen/10];}
else
P0=data_7seg[fen/10];
p1=1;p2=0;p3=0;p4=0;p5=0;p6=0;p7=0;p8=0;p9=0;p10=0;
Delay1ms(10);
p1=0;p2=0;p3=0;p4=0;p5=0;p6=0;p7=0;p8=0;p9=0;p10=0;
if(shezhi==2)
{if(shanshuo==1)
P0=data_7seg[10];
else
P0=data_7seg[fen%10];}
else
P0=data_7seg[fen%10];
dp=dd;
p1=0;p2=1;p3=0;p4=0;p5=0;p6=0;p7=0;p8=0;p9=0;p10=0;
Delay1ms(10);
p1=0;p2=0;p3=0;p4=0;p5=0;p6=0;p7=0;p8=0;p9=0;p10=0;
if(shezhi==3)
{if(shanshuo==1)
P0=data_7seg[10];
else
P0=data_7seg[miao/10];}
else
P0=data_7seg[miao/10];
p1=0;p2=0;p3=1;p4=0;p5=0;p6=0;p7=0;p8=0;p9=0;p10=0;
Delay1ms(10);
p1=0;p2=0;p3=0;p4=0;p5=0;p6=0;p7=0;p8=0;p9=0;p10=0;
if(shezhi==4)
{if(shanshuo==1)
P0=data_7seg[10];
else
P0=data_7seg[miao%10];}
else
P0=data_7seg[miao%10];
p1=0;p2=0;p3=0;p4=1;p5=0;p6=0;p7=0;p8=0;p9=0;p10=0;
Delay1ms(10);
p1=0;p2=0;p3=0;p4=0;p5=0;p6=0;p7=0;p8=0;p9=0;p10=0;
if(fenshu/100==0)
P0=data_7seg[10];
else P0=data_7seg[fenshu/100];
p1=0;p2=0;p3=0;p4=0;p5=1;p6=0;p7=0;p8=0;p9=0;p10=0;
Delay1ms(10);
p1=0;p2=0;p3=0;p4=0;p5=0;p6=0;p7=0;p8=0;p9=0;p10=0;
if(fenshu%100/10==0)
if(fenshu/100==0)
P0=data_7seg[10];
else P0=data_7seg[fenshu%100/10];
else P0=data_7seg[fenshu%100/10];
p1=0;p2=0;p3=0;p4=0;p5=0;p6=1;p7=0;p8=0;p9=0;p10=0;
Delay1ms(10);
p1=0;p2=0;p3=0;p4=0;p5=0;p6=0;p7=0;p8=0;p9=0;p10=0;
P0=data_7seg[fenshu%100%10];
p1=0;p2=0;p3=0;p4=0;p5=0;p6=0;p7=1;p8=0;p9=0;p10=0;
Delay1ms(10);
p1=0;p2=0;p3=0;p4=0;p5=0;p6=0;p7=0;p8=0;p9=0;p10=0;
if(fenshu1/100==0)
P0=data_7seg[10];
else P0=data_7seg[fenshu1/100];
p1=0;p2=0;p3=0;p4=0;p5=0;p6=0;p7=0;p8=1;p9=0;p10=0;
Delay1ms(10);
p1=0;p2=0;p3=0;p4=0;p5=0;p6=0;p7=0;p8=0;p9=0;p10=0;
if(fenshu1%100/10==0)
if(fenshu1/100==0)
P0=data_7seg[10];
else P0=data_7seg[fenshu1%100/10];
else P0=data_7seg[fenshu1%100/10];
p1=0;p2=0;p3=0;p4=0;p5=0;p6=0;p7=0;p8=0;p9=1;p10=0;
Delay1ms(10);
p1=0;p2=0;p3=0;p4=0;p5=0;p6=0;p7=0;p8=0;p9=0;p10=0;
P0=data_7seg[fenshu1%100%10];
p1=0;p2=0;p3=0;p4=0;p5=0;p6=0;p7=0;p8=0;p9=0;p10=1;
Delay1ms(10);
}
void key()
{ k1=1;
if(k1==0)
{ qudou();
if(k1==0)
{if(kaishi==0)
{shezhi++;
if(shezhi==5) shezhi=0;
}while(k1==0);
}
k2=1;
if(k2==0)
{ qudou();
if(k2==0)
{a1=fen/10;
a2=fen%10;
a3=miao/10;
a4=miao%10;
switch(shezhi)
{case 0:
kaishi=!kaishi;
break;
case 1:
a1=a1+1;
if(a1>=10) a1=9;
break;
case 2:
a2=a2+1;
if(a2>=10) a2=9;
break;
case 3:
a3=a3+1;
if(a3>=6) a3=5;
break;
case 4:
a4=a4+1;
if(a4>=10) a4=9;
break;
}
fen=a1*10+a2;
miao=a3*10+a4;
}while(k2==0);
}
k3=1;
if(k3==0)
{ qudou();
if(k3==0)
{a1=fen/10;
a2=fen%10;
a3=miao/10;
a4=miao%10;
switch(shezhi)
{case 0:
if(kaishi==0)
{fs=fenshu;
fenshu=fenshu1;
fenshu1=fs;}
break;
case 1:
a1=a1-1;
if(a1<=0) a1=0;
break;
case 2:
a2=a2-1;
if(a2<=0) a2=0;
break;
case 3:
a3=a3-1;
if(a3<=0) a3=0;
break;
case 4:
a4=a4-1;
if(a4<=0) a4=0;
break;
}
fen=a1*10+a2;
miao=a3*10+a4;
}while(k3==0);
}
k4=1;
if(k4==0)
{ qudou();
if(k4==0)
{if(shezhi>0) shezhi=0;
else if(kaishi==0){fenshu=0;fenshu1=0;}
}while(k4==0);
}
k5=1;
if(k5==0)
{ qudou();
if(k5==0)
{ fenshu=fenshu+1;
}while(k5==0);
}
k6=1;
if(k6==0)
{ qudou();
if(k6==0)
{ fenshu=fenshu+2;
}while(k6==0);
}
// k7=1;
// if(k7==0)
// { qudou();
// if(k7==0)
// { fenshu=fenshu+3;
// }while(k7==0);
// }
k8=1;
if(k8==0)
{ qudou();
if(k8==0)
{ fenshu=fenshu-1;
}while(k8==0);
}
k9=1;
if(k9==0)
{ qudou();
if(k9==0)
{ fenshu1=fenshu1+1;
}while(k9==0);
}
k10=1;
if(k10==0)
{ qudou();
if(k10==0)
{ fenshu1=fenshu1+2;
}while(k10==0);
}
k11=1;
if(k11==0)
{ qudou();
if(k11==0)
{ fenshu1=fenshu1+3;
}while(k11==0);
}
k12=1;
if(k12==0)
{ qudou();
if(k12==0)
{ fenshu1=fenshu1-1;
}while(k12==0);
}
if(fenshu<=0) fenshu=0;
if(fenshu1<=0) fenshu1=0;
if(fenshu>=999) fenshu=999;
if(fenshu1>=999) fenshu1=999;
}
void bisai()
{ k4=1;
if(k4==0)
{ qudou();
if(k4==0)
{fen=12;miao=0;kaishi=0;shezhi=0;tishi=1;ts=1;shanshuo=0;count=0;count1=0;count2=0;fenshu=0;fenshu1=0;sjd=0;
}while(k4==0);
}
}
void main()
{ interrupt_0_initial();
time1_initial();
TMOD=0x1;
TH0=0xb1;
TL0=0xe0;
TR0=1;
ET0=1;
EA=1;
// interrupt_0_initial();
// time1_initial();
while(1) //ÎÞÏÞÑ»·
{ xianshi(); //ÏÔʾ
if(kaishi==0) dd=0;
if(sjd==0)
key();
else
bisai();
if(kaishi==0)
ts=1;
else
ts=tishi;
if(xx==1)
{for(xxx=0;xxx<1000;xxx++)
{ts=0;dd=0;xianshi();}
ts=1;xx=0;}
}
}
void time0(void) interrupt 1
{ TH0=0xb1;
TL0=0xe0;
if(shezhi==0)
{if(kaishi==1)
{ if(sjd==0)
{count++;
if(count==50)
{ count=0;
miao--;
if(fen>0)
{if(miao<0){miao=59;fen--;}}
else
{if(miao<=0)
{sjd=1;kaishi=0;fen=0;miao=0;dd=1;xx=1;tishi=1;
}}
} }} }
if(shezhi==0)
{if(kaishi==1)
{ if(sjd==0)
{count1++;
if(count1==25)
{ count1=0;
if(fen==0)
if(miao<=10)
tishi=!tishi;
dd=!dd;
} }} }
if(shezhi==0)
shanshuo=0;
else
{count2++;
if(count2==10)
{ count2=0;
shanshuo=!shanshuo;}}
// k7=1;
// { qudou();
// if(k7==0)
// { fen=0;
// miao=30;
// {count++;
// if(count==50)
// { count=0;
// miao--;
// }
// if(miao==0)
// {tishi=!tishi;
// dd=!dd; }
// while(k7==0);
// }
//}
// }
}
void time1() interrupt 3
{ TH0=0xb1;
TL0=0xe0;
k7=1;
{ qudou();
if(k7==0)
{ fen=0;
miao=30;
{count++;
if(count==50)
{ count=0;
miao--;
}
if(miao==0)
{tishi=!tishi;
dd=!dd; }
while(k7==0);
}
}
}
}
void interrupt_0() interrupt 0
{
do
{
ET0=1;
TR0=1;
}while(k7==0);
ET0=0;
TR0=0;
count=mSec;
mSec=0;
}
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。