#include<reg52.h>
#include<math.h>
#include<stdio.h>
sbit ale =P2^4;
sbit oe=P2^5;
sbit sc=P2^6;
sbit eoc=P2^7;
sfr MYDATA = 0xB0;
void msdelay(unsigned int itime)
{
unsigned int i,j;
for(i=0;i<itime;i++)
for (j=0;j<1275;j++);
}
void display(unsigned int value)
{
if(value<=0x14)
P3=0x01;
else if(value<=0x46)
P3=0x03;
else if(value<=0x64)
P3=0x07;
else if(value<=0x82)
P3=0x0F;
else if(value<=0xa0)
P3=0x1F;
else if(value<=0xB4)
P3=0x3F;
else if(value<=0xdC)
P3=0x7F;
else
P3=0xFF;
}
void main(void)
{
unsigned char value;
MYDATA=0xff;
eoc=1;
ale=0;
oe=0;
sc=0;
while(1)
{
ale=1;
msdelay(1);
sc=1;
msdelay(1);
ale=0;
sc=0;
while(eoc==1);
while(eoc==0);
oe=0;
msdelay(1);
value=MYDATA;
oe=0;
display(value);
}
}