| #include <ADUC841.H>
unsigned char ADC  ;
sbit CLOCK  = P2^4;// ;定义ADC0808时钟位
sbit ST     =P2^5;
sbit EOC    = P2^6;
sbit OE     = P2^7        ;
sbit PWM    = P3^7        ;
void DELAY(unsigned char a1)  ;
void main()
{
        TMOD=2;
        TH0=20;
        TL0=0;
        IE=0x82;
        TR0=1;
        while(1)   
        {
                ST=0;
                ST=1;
                ST=0; //;启动AD转换
                while(EOC==0)
                {
                        ;                   //;;等待转换结束
                }         
                OE=1;
                ADC=P1;                   // ;读取AD转换结果
                OE=0;
                PWM=1;                        //;PWM输出
                DELAY(ADC);
                PWM=0;                        
                DELAY(255-ADC);
                //goto WAIT;
        }    
}
void DELAY(unsigned char a1)  
{  
        unsigned char i=1;
        do
        {
                do
                {
                
                }while(--i);
        }while(--a1);
}
void INT_T0() interrupt 1
{
        CLOCK =!CLOCK;//                        ;提供ADC0808时钟信号
}
 
 |