Here is the code (one of many configurations),


W0 VAR WORD
W0=0

define OSC 40
DEFINE LCD_DREG PORTB
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 4
define LCD_EREG PORTB
DEFINE LCD_EBIT 5

TRISA=%111111
TRISB=%00000000
TRISC=%00001111

DEFINE ADC_BITS 10
DEFINE ADC_CLOCK 7
DEFINE ADC_SAMPLEUS 50

ADCON0=%00000000 ' CH0 as analog channel
ADCON1=%00011110
ADCON2=%10000111

Start:
ADCON0.0=1 ' A/D enable
PAUSE 2

Conversion:
ADCON0.1=1 ' Start (Go/Done)

SubC:
PAUSEUS 20
IF ADCON0.1=1 THEN SUBC

W0.LOWBYTE=ADRESL
W0.HIGHBYTE=ADRESH

LCDOut $fe, 1, "Counts ", #W0
lcdout $fe, $C0, "Result ", #(W0*4) ' 4096 mV ref.

PAUSE 500

GOTO Start