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
Bookmarks