lkwslk1 发表于 2013-7-15 13:38:09

mega128 ADC 参考电压选为AVCC时候,没有输出

使用MEGA128单片机
AVCC接VCC+5v,104电容接地;
AREF 104电容接地;
      DMUX=(1<<REFS1)|(1<<REFS0)|1;
                        ADCSRA|=(1<<ADEN)|(1<<ADSC)|(1<<ADIE);
                        while((ADCSRA &0x10)==0);       
                        adc_temp_l=ADCL;       
                        adc_temp_h=ADCH;       
                        adc_temp1=adc_temp_h*256+adc_temp_l;
                        delay_nms(100);

程序这样写, adc_temp1可以正确的输出;
但是我把第一句改为 ADMUX=(1<<REFS0)|1; adc_temp1就没有输出了,一直为0;

REFS1 、REFS0=11 片内2.56V参考电压;
REFS1 、REFS0=01 AVCC为参考电压;
为什么会没有输出呢?
在线等待各位大神指点迷津,不胜感激

cdwess 发表于 2013-7-15 20:22:27


          ADMUX = 0xE0 | Chl;    /*基准AVCC、左对齐、通道0-7,40*/
          ADCSRA = 0xC6;            /*使能、开启、64分频*/
          while(!(ADCSRA & (1 << ADIF))); /*等待,ADIF为0,表达式为1*/
          i = ADCH;
          ADCSRA &= ~(1 << ADIF);/*清标志*/
          ADCSRA &= ~(1 << ADEN);/*关闭转换*/

等待中断标志弄反了吧你

sange 发表于 2013-7-16 17:42:11

等待中断没反,是正确的
页: [1]
查看完整版本: mega128 ADC 参考电压选为AVCC时候,没有输出