In this tutorial we are going to discuss how to use the inbuilt PIC16f877A ADC.
We will be reading the ADC values from chanel Zero and transmitted on UART at 9600 baudrate. Lpc1768Adc.gif


PIC16F877A ADC pins

PIC16F877A has inbuilt 8channel 10-bit ADC. Below tables shows the ADC pin mapping.

Adc Channel Pic16f877a Pin Pin Function
0 PA.0 AN0
1 PA.1 AN1
2 PA.2 AN2/VREF-
3 PA.3 AN3/VREF+
4 PA.5 AN4
2 PE.0 AN5
3 PE.1 AN6
4 PE.2 AN7





Code

Below is the sample code to read the ADC value of channel0 and sent it on UART at 9600 baud rate.
As the POT is connected to ADC0, the values can be varied using this POT.

Pic16f877aADC01.PNG