#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code wei[]={0xfe,0xfd,0xfb,0xf7};
sbit k1=P3^2;
sbit k2=P3^3;
sbit k3=P3^4;
sbit k4=P3^5;
sbit dian=P1^0;
sbit sound=P1^5;
uchar shi=0;
uchar fen=0;
uchar a=0,b=0,c;
void delay(uint i)
{
uint x,y;
for(x=0;x<i;x++)
for(y=0;y<100;y++);
}
void keyK1()
{
if(!k1)
delay(30);
if(!k1)
fen+=2;
while(!k1);
}
void keyK2()
{
if(!k2)
delay(30);
if(!k2)
shi+=5;
while(!k2);
}
void keyK3()
{
if(!k3)
delay(30);
if(!k3)
fen--;
while(!k3);
}
void keyK4()
{
if(!k4)
delay(30);
if(!k4)
shi--;
while(!k4);
}
void Display()
{
P2=wei[3];
P0=table[fen%100/10];
delay(4);
P2=wei[2];;
P0=table[fen%10];
delay(4);
P2=wei[1];
P0=table[shi%100/10];
delay(4);
P2=wei[0];
P0=table[shi%10];
delay(4);
}
void main()
{
dian=0;
TMOD=0x01;
TH0=(65535-46083)/256;
TL0=(65535-46083)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
Display();
keyK1();
keyK2();
keyK3();
keyK4();
}
}
void Time0() interrupt 1
{
TH0=(65535-46083)/256;
TL0=(65535-46083)%256;
a++;
if(a==20)
{
b++;
a=0;
dian=~dian;
}
if(b==60)
{
shi++;
b=0;
}
if(shi==60)
{
shi=0;
fen++;
}
if(fen==24)
{
fen=0;
}
}
|