voltage reference for adc conversion yield a 0v range

Status
Not open for further replies.
HOW TO DEFINE THE PORT AS ANALOG
THIS IS MY CODE
Code:
void main(){
unsigned int v0,v1,v2,v3,v5;
 ADC_Init();  // Initialize ADC module with default set

    TRISA = 0xFF;              // PORTA is input
    TRISB = 0;                 // PORTB is output
    PORTB=0X00;
     PORTA=0X00;
    ADCON1=0x0F;
 // cnt = 0; // Reset counter
  while(1); {

   ADCON0=0b11000101;     // Configure chanal 0

     delay_us(3000);
   v0 = ADC_Read(0);   // Get 10-bit results of AD conversion
    delay_us(3000);

    ADCON0=0b11001101;     // Configure chanal 1
       delay_us(3000);
    v1 = ADC_Read(1);   // Get 10-bit results of AD conversion

    delay_us(3000);

    ADCON0=0b11100101;      // Configure chanal 4
      delay_us(3000);
    v5 = ADC_Read(5);   // Get 10-bit results of AD conversion
      delay_us(3000);
    if ((v0>v5)||(v1>v5));
       {if (v0>v1)                       //  comparaison  des tensions  des capteurs LDR1 et LDR2 si v0>v1
          {
           PORTB.f0=1;             // pour tourné le moteur dans le sens 1 la sortie de pic RB0==1 et RB1==0
           PORTB.f1=0;    // PORTB.1=0;
          }
       else                              // sinon
          {
           PORTB.f0=0;             // pour tourné le moteur dans le sens 1 la sortie de pic RB0==0 et RB1==1
           PORTB.f1=1;    // PORTB.1=0;
          }
       }
    if ((v0<v5)&&(v1<v5));
          {
           PORTB.f0=0;             // pour tourné le moteur dans le sens 1 la sortie de pic RB0==1 et RB1==0
           PORTB.f1=0;    // PORTB.1=0;
          }
     //SENS VERTICALE;

     ADCON0=0b11010101;     // Configure chanal 2
    delay_us(3000);
    v2 = ADC_Read(2);   // Get 10-bit results of AD conversion
    delay_us(3000);


    ADCON0=0b11011101;     // Configure chanal 3
     delay_us(3000);
    v3 = ADC_Read(3);   // Get 10-bit results of AD conversion
     delay_us(3000);


    ADCON0=0b11100101;      // Configure chanal 4
     delay_us(3000);
    v5 = ADC_Read(5);   // Get 10-bit results of AD conversion
     delay_us(3000);

      if ((v2>v5)||(v3>v5));
       {if (v2>v3)                       //  comparaison  des tensions  des capteurs LDR2 et LDR3 si v2>v3
          {
           PORTB.f2=1;             // pour tourné le moteur dans le sens 1 la sortie de pic RB2==1 et RB3==0
           PORTB.f3=0;
          }
       else                              // sinon
          {
           PORTB.f2=0;             // pour tourné le moteur dans le sens 1 la sortie de pic RB0==0 et RB1==1
           PORTB.f3=1;    // PORTB.1=0;
          }
       }
       if ((v2<v5)&(v3<v5));
          {
           PORTB.f2=0;             // pour tourné le moteur dans le sens 1 la sortie de pic RB2==0 et RB3==1
           PORTB.f3=0;
          }

  }
}
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…