#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit ST=P3^1;
sbit EOC=P3^2;
sbit OE=P3^3;
sbit led1=P3^0;
sbit led3=P3^7;
void led(uint dat)
{if((dat>200)||(dat<100))
{ led1=0;
led3=1;
}
else
{ led1=1;
led3=0;
}
}
void delay(uint x)
{
inti,j;
for(i=x;i>0;i--)
for(j=124;j>0;j--);
}
void display(uint dat)
{
uchartmp=0;
tmp=(dat%10);
P2=0xf7;
P0=tmp;
tmp=((dat%100)/10);
P2=0xfb;
P0=tmp;
delay(2);
tmp=(dat/100);
P2=0xfd;
P0=(0x10|tmp);
delay(2);
}
void init_adc(void)
{
ST=0;
EOC=1;
OE=0;
P3&=0x0f;
P3|=0x10;
}
void start_adc(void)
{
OE=0;
ST=0;
ST=1;
ST=0;
}
uchar adc0808(void)
{
uchardat=0;
uchari=0;
P1=0xff;
delay(1);
while(EOC==0&&i++<250)
{
delay(1);
}
OE=1;
_nop_();_nop_();
dat=P1;
OE=0;
returndat;
}
void main(void)
{
uint tmp=0;
init_adc();
while(1)
{
start_adc();
tmp=adc0808();
tmp=(tmp*100)/51;
display(tmp);
led(tmp);
}
}
é£æ ·çè¯ å¾å¤é½æ¯éçå!!! æ ¹æ¬å°±ä¸å¾è¡ã