我用Adc0808做了个简易电压表,但是程序总也调试不出来,求大神指点

P0口接的是四位共阴极LED数码管;
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
int temp;
void delay(uint z); //延时函数
void display(uint date);//显示函数
void initial();//初始化
void main()
{
initial();
while(1)
{
ST=0;
ST=1;
ST=0;
while(EOC==0);
OE=1;
temp=P0/255*5000;
display(temp);
OE=0;
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(uint date)
{
P2=0xf7;
P1=table[date%10];
delay(5);
P2=0xfb;
P1=table[date%100/10];
delay(5);
P2=0xfd;
P1=table[date%1000/100];
delay(5);
P2=0xfe;
P1=table[date%1000];
delay(5);
doit=1;
}
void intial()
{
TMOD=0x01;
TH0=(65536-20)/256;
TL0=(65536-20)%256;
EA=1;
ET0=1;
TR0=1;
}
void timer0() interrupt 1
{
TH0=(65536-20)/256;
TL0=(65536-20)%256;
CLK=~CLK;
}

P0口接的是四位共阴极LED数码管;
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
int temp;
void delay(uint z); //延时函数
void display(uint date);//显示函数
void initial();//初始化
void main()
{
initial();
while(1)
{
ST=0;
ST=1;
ST=0;
while(EOC==0);
OE=1;
temp=P0/255*5000;
display(temp);
OE=0;
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(uint date)
{
P2=0xf7;
P1=table[date%10];
delay(5);
P2=0xfb;
P1=table[date%100/10];
delay(5);
P2=0xfd;
P1=table[date%1000/100];
delay(5);
P2=0xfe;
P1=table[date%1000];
delay(5);
doit=1;
}
void intial()
{
TMOD=0x01;
TH0=(65536-20)/256;
TL0=(65536-20)%256;
EA=1;
ET0=1;
TR0=1;
}
void timer0() interrupt 1
{
TH0=(65536-20)/256;
TL0=(65536-20)%256;
CLK=~CLK;
}