【AVR单片机问题】 请问下atmega16怎么实现多路AD转换啊???

2019-07-15 11:29发布

****IO端口设置****/
void IO_Init()
{
DDRA=0x00;
PORTA=0x00;

DDRB=0xff;
PORTB=0xff;

DDRC=0xff;
DDRD=0xff;
}
/****ADC初始化****/
void ADC_ini()
{
sei();
ADMUX=0x00;
ADCSRA=0XCC;
}
/****ADC开始转换****/
void ADC_Convert()
{
uchar i;
for(i=0;i<4;i++)
{
  ADMUX=0x20+i;
  ADCSRA=0xec;
  ADC_H=ADCH;
  v[i]=(unsigned long)(ADC_H)*500/256;
}
}
int main()
{
IO_Init();
ADC_ini();
     while (1)
{
  display();
}

}

ISR (ADC_vect)
{
ADC_Convert();
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。