Hola Jorge

El rango de tension a medir es de 2,73 a 3,93V.
Te cuento que decidi provar la medicion de 10 bits y hice el siguiente programita:
asm
device pic16F818,INTRC_OSC,WDT_OFF,PWRT_OFF,LVP_OFF,PROTECT_OFF,MCLR_OFF
endasm
define osc 8
DEFINE ADC_BITS 16 "Numero de bits en el resultado ADCIN
DEFINE ADC_CLOCK 3 "ADC clock source (rc = 3)
DEFINE ADC_SAMPLEUS 50 "ADC sampling time in microseconds
tension var word
decenas var byte
c var byte
unidades var byte
d var byte
decimales var byte
u var byte
i var word
INTCON = 0
OSCCON = %01110000
OSCTUNE = 0
SSPCON[5] = 0
ADCON1 = %00001110
TRISA = %00101111
TRISB = %00000000
SENSA:ADCIN 0,tension
decenas = tension / 100
lookup decenas,[126,48,109,121,51,91,31,112,127,115],c
unidades = (tension - decenas*100) / 10
lookup unidades,[126,48,109,121,51,91,31,112,127,115],d
decimales = (tension - decenas*100) // 10
lookup decimales,[126,48,109,121,51,91,31,112,127,115],u
GOSUB DISPLAY
GOTO SENSA
DISPLAY:for i=0 to 100
porta.4=1
portb = c
pause 1
porta.4=0
porta.7=1
portb = d
pause 1
porta.7=0
porta.6=1
portb = u
pause 1
porta.6=0
next i
return
Pero hace cualquier cosa

El problema esta en las varibles no?
que me dices???