#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[] = {0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e};
sbit START=P3^0;
sbit EOC=P3^1;
sbit OE=P3^2;
sbit dot=P1^0;
void delay(uint x)
{
while(x--);
}
void main()
{
uint temp;
START=0;
OE=0;
START=1;
START=0;
while(1)
{
if(EOC == 1)
{
OE = 1;
temp=P0;
temp=temp*1.0/255*500;
OE = 0;
P2 = 0xfe;
P1 = table[temp%10];
delay(500);
P2 = 0xfd;
P1 = table[temp/10%10];
delay(500);
P2 = 0xfb;
P1 = table[temp/100%10];
dot = 1;
delay(500);
START = 1;
START = 0;
}
}
}