This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

ADC LPC2148

I am using LPC2148 and I'm doing my work on ADC . I did 2 channels of ADC and its working perfectly but when I'm gone to 3rd channel output of 3rd channel is not working and i want to know that if we see 8 channel of ADC at a time?

#include<lpc214x.h>
#include"lcd_arm.h"
#include"adc1.c"

#define zero 48



int  digit,digit1,digit2,digit3,digit4,digit5,digit6,digit7,digit8,digit9,digit10;
 void adc0(void);
 void  adc2(void);
 void adc1(void);
 void lcd_init(void);
 void calculate0(int digit);
  void delay(void);

 float dout,stepsize;
 unsigned int c,adcdata,count=0,loop;

int main()
{
        PINSEL0|=0X00033000; // select AD1.0....ad1.1(P0.12)as input
        //PINSEL1|=0X00000000;
        PINSEL2|=0X00000000;

        lcd_init();



        AD1CR&=0X00000000;// clear AD1CR
        AD1CR|=0X00000003;// select AD1.0....ad1.1as Ain
        AD1CR|=0X00010000;// select BURST mode (11clk/10bit)
        AD1CR|=0X00200000;// PDN in operational mode
        AD1CR|=0X00000300;// CLKDIV=3,to set adclk<4mhz
while(1)
{
adc0();
delay();
adc1();
delay();
adc2();




}
}

void adc0()
         {
        adcdata=AD1DR0; // move the RESULT0(Vin/Vref) to adcdata
        while((AD1DR0&0X80000000)==0);//check for the done bit

        adcdata=((adcdata>>6)&0x03FF);

        stepsize=3.22;   // stepsize = Vref/resolution //(3.3/1024=0.00322 (or)3.22x10^-3) (for 10 bit adc)
        dout=((adcdata*1000000)/stepsize);
//      dout=((adcdata)*0.00322);
         c=c+1;
         if(c==15)
         {
        calculate0(dout);
        delay();
        delay();


        c=0;
        }
         }