//宏定義
#define uchar unsigned char
#define uint unsigned int
//adc0808相關引腳定義
sbit start=P2^0;
sbit OE=P2^1;
sbit EOC=P3^2;
//數碼管位選定義
sbit wei1=P3^4;
sbit wei2=P3^5;
sbit wei3=P3^6;
//數碼管段碼
const uchar led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//1ms延時函數
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
//數碼管顯示
void display(uchar shu)
{
uchar ge,shifen,baifen;
uint dianya;
dianya=1.96078431372*shu;
ge=dianya/100;
shifen=dianya0/10;
baifen=dianya;
wei3=0;
P1=led[ge]&0x7f; //加小數點
wei3=1;
delay(5);
wei1=0;
P1=led[shifen];
wei1=1;
delay(5);
wei2=0;
P1=led[baifen];
wei2=1;
delay(5);
}
//adc0808的數據讀取
uchar ad_handle(void)
{
uchar adc;
start=0;
start=1;
start=0;
while(EOC==1);
OE=1;
adc=P0;
OE=0;
return adc;
}
void main()
{
while(1)
{
display(ad_handle());
}
}
這個好像不合適