|
#include<reg51.h>
unsigned char msec,sec;
void delay(unsigned char i);
void T0_INT(void)interrupt 1
{
TH0=0x3c;
TL0=0xb0;
msec++;
if(msec==20)
{
msec=0;
sec++;
if(sec==60)
{
sec=0;
}
}
}
void main()
{
unsigned char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char temp;
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
EA=1;
ET0=1;
P3=0xff;
while(1)
{
P2=0X01;
P1=led[sec%10];
delay(10);
P2=0x02;
P1=led[sec/10];
delay(10);
temp=~P3;
temp=temp&0x2c;
if(temp==0)
{
if(temp==0x04)
TR0=0;
if(temp==0x08)
TR0=1;
if(temp==0x20)
{TR0=0;sec=0;msec=0;}
}
}
}
|
|