Reply To: PI controller using PIC16F876A

Home Forums Microcontrollers PIC Microcontroller PI controller using PIC16F876A Reply To: PI controller using PIC16F876A

Ligo George

You need to make some changes as given below.

void myADC_Init()
  ADCON0 = 0x41;                                //ADC Module Turned ON and Clock is selected
  ADCON1 = 0xC0;                                //All pins as Analog Input
  //With reference voltages VDD and VSS

unsigned int myADC_Read(unsigned char channel)
  if(channel > 7)                                     //If Invalid channel selected
    return 0;                                              //Return 0

  ADCON0 &= 0xC5;                             //Clearing the Channel Selection Bits
  ADCON0 |= channel<<3;                  //Setting the required Bits
  Delay_ms(2);                                      //Acquisition time to charge hold capacitor
  ADCON0.F2 = 1;                                 //Initializes A/D Conversion
  while(ADCON0.F2);                           //Wait for A/D Conversion to complete
    return ((ADRESH<<8)+ADRESL);   //Returns Result