Home › Forums › Microcontrollers › PIC Microcontroller › PI controller using PIC16F876A › Reply To: PI controller using PIC16F876A
September 28, 2014 at 2:43 pm
#9031

Keymaster
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 }