Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

voltage reference for adc conversion yield a 0v range

Status
Not open for further replies.

SABRAMANSOUR

Junior Member level 2
Joined
Dec 16, 2014
Messages
23
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
127
how to fix this problem
error.png
 

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

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top