用C语言比较容易处理转换的数据些,这里提供C语言程序
OE接P3.0
EOC接P3.1
START和ALE接P3.2
CLK直接接51的ALE
数据输入用P0
用四位数码管显示:p1位选,P2段选
#include
sbit OE=P3^0;
sbit EOC=P3^1;
sbit SA=P3^2;
char code tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int getdata,aa;
double vcc;
void delay(int z);
void display(double vcc);
void main()
{
while(1)
{
SA=0;
SA=1;
SA=0;
while(EOC)
display(vcc);
OE=1;
getdata=P0;
OE=0;
vcc=getdata*(4.980/255);
display(vcc);
}
}
void display(double vcc)
{
aa=(int)(vcc*1000);
P2=tab[aa/1000]-0x80;
P1=0xFE;
P2=tab[aa%1000/100];
P1=0xfD;
P2=tab[aa%100/10];
P1=0xfb;
P2=tab[aa%10];
P1=0xf7;
}
void delay(int z)
{
int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}