ADC bsf ADCON0,ADON ; turn on AD module |B0
bcf PIR1,ADIF ; clear AD interrupt flag |B0
movlw d'33' ; use 33 (20 mhz) or 13 (8 mhz) |B0
movwf TEMP ; |B0
ACQ decfsz TEMP,F ; wait 20 usec to acquire |B0
goto ACQ ; |B0
bsf ADCON0,GO_DONE ; start conversion |B0
ADX btfsc ADCON0,GO_DONE ; conversion complete? |B0
goto ADX ; no, loop |B0
movf ADRESH,W ; get result high byte |B0
bcf ADCON0,ADON ; turn off AD module |B0
return ; |B0
;******************************************************************