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为参考电压;
为什么会没有输出呢?
在线等待各位大神指点迷津,不胜感激
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);/*关闭转换*/
等待中断标志弄反了吧你 等待中断没反,是正确的
页:
[1]