#include<reg51.h>
#include<intrins.h>
sbit Tr=P1^0;
sbit Ec=P1^1;
unsigned char data bit_data;
unsigned char code dis_tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void mDelay(unsigned int Delay)
{
unsigned int i;
for(;Delay>0;Delay--)
{
for(i=0;i<5;i++);
}
}
void display(unsigned int num)
{
bit_data=0xdf;
P2=0xff;
P0=dis_tab[num%100%10];
P2=bit_data;
mDelay(100);
bit_data=_cror_( bit_data, 1 );
P2=0xff;
P0=dis_tab[num%100/10];
P2=bit_data;
mDelay(100);
bit_data=_cror_( bit_data, 1 );
P2=0xff;
P0=dis_tab[num/100];
P2=bit_data;
mDelay(100);
}
void main()
{
unsigned int data time;
float S;
TMOD=0x01;
TH0=0;
TL0=0;
ET0=1;
EA=1;
Tr=1;
mDelay(2);
Tr=0;
while(Ec==0);
TR0=1;
while(Ec==1);
TR0=0;
time=TH0*256+TL0;
TH0=0;
TL0=0;
S=(time*1.87)/100;
mDelay(100);
while(1)
{ display(S);
}
}
|