#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code dispcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x80,0xBF,0x86,0xCB,0xCF,0xEF,0xED,0xFD,0x87,0xFF,0xDF};
uchar miao=0;
uchar fen=0;
uchar shi=0;
uchar mstcnt=0;
int disp=0;
int a=0,K1num;
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P14=P1^4;
void delay(uchar k);
void time_pro();
void display();
void display1();
void keyscan();
void delay(uchar k)
{
uchar j;
while((k--)!=0)
{
for(j=0;j<125;j++)
{;}
}
}
void time_pro(void)
{
if(miao==60)
{
miao=0;
fen++;
if(fen==60)
{
fen=0;
shi++;
if(shi==60)
{
shi=0;
fen=0;
miao=0;
}
}
}
}
void dispaly(void)
{
P2=0xfe;
P0=dispcode[shi/10];
delay(4);
P2=0xfd;
P0=(dispcode[(shi%10)])|0x80;
delay(4);
P2=0xfb;
P0=dispcode[fen/10];
delay(4);
P2=0xf7;
P0=(dispcode[(fen%10)])|0x80;
delay(4);
P2=0xef;
P0=dispcode[miao/10];
delay(4);
P2=0xdf;
P0=(dispcode[(miao%10)])|0x80;
delay(4);
}
void keyscan(void)
{
if(P10==0) //
{
delay(30);
K1num++;
if (P10==0)
{
miao++;
if(K1num==0)
{
if(miao==60)
{
miao=0;
}
}
if(K1num==1)
{
miao=0;
K1num=0;
}
}
while(P10==0)
display();
}
if(P11==0) //
{
delay(30);
if (P11==0)
{
fen++;
if(fen==60)
{
fen=0;
}
}
while(P11==0)
display();
}
if(P12==0) //
{
delay(30);
if (P12==0)
{
shi++;
if(shi==24)
{
shi=0;
}
}
while(P12==0)
display();
}
void timer0(void) interrupt 1 using 0;
{
TH0=0x3c;
TMOD=0x11;
mstcnt++;
if(mstcnt==20)
{
miao++;
mstcnt=0;
}
}
void main(void)
{
P1=0xff;
TMOD=0x11;
TH0=0x3c;
TL0=0xb0;
EA=1;
ET0=1;
TR0=1;
while