Hola nuevamente de metiche, jeje; me imagino que el código está hecho en Basic Stamp pero en PicBasic PRO es mas o menos así:
'****************************************************************
'* Name : ADC_6CAN_16F88.BAS *
'* Author : [EJM] *
'* Notice : Copyright (c) 2016 [EJM] *
'* : All Rights Reserved *
'* Date : 18/08/2016 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
Define Osc 4
cmcon = 7
DEFINE LCD_DREG PORTB ' Indica que el Bus de datos estará conectado en el Puerto B.
DEFINE LCD_DBIT 0 ' Selección del Bit de inicio del puerto en el uC para el bus de datos de la LCD
DEFINE LCD_RSREG PORTB ' Indica al uC que el pin “RS” estará en el Puerto B
DEFINE LCD_RSBIT 4 ' “RS” estará conectado en RB2
DEFINE LCD_EREG PORTB ' Indica al uC que el pin “E” estará en el Puerto B
DEFINE LCD_EBIT 5 ' “E” estará conectado en RB3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE ADC_BITS 10 ' A/D number of bits
DEFINE ADC_CLOCK 3 ' Use A/D internal RC clock
DEFINE ADC_SAMPLEUS 50 ' Set sampling time in us
ANSEL = %111111 'Configuración de los puertos AN0, AN1, AN2, AN3, AN4, AN5
ADCON0 = %11000001 'Activar modulo ADC y bits de selección de reloj de conversión
ADCON1 = %10000000 'Justificación a la derecha para 10 bits de resolución
TRISA = %11111 ' Configuración del Puerto A (0=salida; 1=entrada)'Puerto A como entrada
TRISB = %01000000 ' Configuración del Puerto B (0=salida; 1=entrada)puerto RB5 como entrada para AN5
PORTA = 0 ' Inicializa el puerto "A", es decir, se ponen todos los pines en cero.
PORTB = 0 ' Inicializa el puerto "B", es decir, se ponen todos los pines en cero.
'Variables del ADC y Rutina división------------------------------
dat0 VAR Word 'valor del adc y retorna la parte entera
dat1 VAR Word
dat2 VAR Word
dat3 VAR Word
dat4 VAR Word
dat5 VAR Word
inicio:
PAUSE 600 'espera 0,6 Seg
LCDOut $fe, 1 ' Limpia la pantalla
LCDOut $fe,129,"16f88_LCD_ADC" 'escribe en el lcd
LCDOut $fe,192, "Pruebas con ADC" 'escribe en el lcd
PAUSE 2000 'espera 2Seg
LCDOut $fe, 1 ' Limpia la pantalla
lee:
'lee el valor de la entrada analógica
Adcin 0, dat0 : Adcin 1, dat1 : Adcin 2, dat2
Adcin 3, dat3 : Adcin 4, dat4 : Adcin 5, dat5
dat0 = dat0*2 : dat1 = dat1*2 : dat2 = dat2*2
Dat3 = dat3*2 : dat4 = dat4*2 : dat5 = dat5*2
LCDOut $FE, $80, dec4 dat0
LCDOUT $FE, $85, dec4 dat1
LCDOUT $FE, $8A, dec4 dat2
LCDOut $FE, $C0, dec4 dat3
LCDOUT $FE, $C5, dec4 dat4
LCDOUT $FE, $CA, dec4 dat5
pause 50
goto lee
END
Solo hay que adaptarlo a Basic Stamp y ya, tambien adjunto los archivos y la simulació en proteus
Saludos desde México