Estimado Terrapiqui:
Si no puedes hacer funcionar la lectura del potenciómetro para enviarla a una variable, prueba con cambiar el pic con uno con entradas analógicas, por ej el 16f873, el 16f876 o creo que tambien el 16f819 tambien tiene, por las dudas consulta con la hoja de datos.El 16f627 tiene por lo que tengo entendido comparadores analógicos, lo que verifica es cual de dos entradas es mayor que la otra.
A mi me pasó algo parecido, quería hacer encender tres leds de a uno dependiendo de la posición de un potenciómetro.
Ejemplo de programacion:
Define ADC_BITS 8 '
DEfine ADC_CLOCK 3
Define ADC_SAMPLEUS 50
TRISA = %11111111 'defino puerto A como entradas
TRISB = %00000000 'defino puerto B como salidas
adcon1=%00000010 'acá defino que pines trabajarán como analógicos y cuales como digitales,(ver hoja de datos del 16f873a)
dog VAR byte
main:
adcin 0,dog ‘potenciómetro conectado a pin 0 del Puerto A (analógico)
if dog<80 then
portb=%00000001 ‘led rojo
endif
if dog>80 and dog<160 then
portb=%00000010 ‘led amarillo
endif
if dog > 160 then
portb=%00000100 ‘led verde
endif
goto main
No es exactamente lo que buscas pero espero que te sea de utilidad.
Saludos
Mc Guiver