m48+熱敏電阻做的多路溫度顯示事例中AD转换..
先请看"低成本m48+熱敏電阻做的多路溫度顯示及音樂警報裝置"中一段关于AD转换的描述:#pragma interrupt_handler adc_isr:iv_ADC
void adc_isr(void)
{
uint temp;
temp = ADCL;
temp |= (int)ADCH<<8;
temp = (49*temp)/10;
v += temp;
}
void get_adc_value(uchar adc_pin)
{
uchar i;
v = 0x0000;
ADMUX = (1<<REFS0)|adc_pin;
// for(i=0;i<2;i++)
ADCSRA |= (1<<ADSC);
delay_nms(1);
//while((ADCSRA & (1<<ADIF))==0);
ADCSRA &= ~(1<<ADSC);
请问以上程序到底是单次转换还是连续呢,在get_adc_value(uchar adc_pin) 子程序里:
ADCSRA |= (1<<ADSC);
delay_nms(1);
ADCSRA &= ~(1<<ADSC);
第2,3句要实现什么设置啊,望请哪位赐教!小弟不胜感激 是单次转换
delay_nms(1); //因為adc轉換要時間的
ADCSRA &= ~(1<<ADSC);// 這句可以不要的.只是清adsc
页:
[1]