[求助] at tiny44a 简单的用下ad转化,可就是转换完成标志就是不置位

07031529   2012-6-19 08:52 楼主
用的 atmel studio6.0
主频 8M
每次走到while 就停住了
/*
* ADC.c
*
* Created: 2012/6/18 16:13:15
*  Author: Administrator
*/


#include
#include

unsigned int Adc_Val;
unsigned int sum;





void ADC_Init()
{        ADCSRA =0X00;
       

        ADMUX = 0X00;        //3.3v电源基准,PA0口输入转换
        DIDR0 = 0XFF;                               
        ADCSRA = _BV(ADEN) | _BV(ADIF);
}


int ADC_Val()
{
        ADCSRA = _BV(ADSC);
        while((ADCSRA & 0x10)==0x00);
        Adc_Val = ADCH;
        Adc_Val <<=8;
        Adc_Val = Adc_Val + ADCL;
        return Adc_Val;
       
}
int main(void)
{
        ADC_Init();
        DDRA = 0X00;
        PORTA = 0X00;
        DDRB = 0XFF;
        PORTB = 0XFF;
       
       
    ADC_Val();
    while(1)
    {
        //TODO:: Please write your application code
    }
}

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复