Como ya te dije en mi mensaje anterior tengo que utilizar el ADC0809 porque es un requerimiento de la materia gracias por responder aqui te mando el esquematico que esta echo en porteus 6.7 y el programa en PICBASIC pro ok gracias pana un saludo espero una pronta respuesta
device = 16F877
xtal = 4
LCD_TYPE = 0
LCD_DTPIN = PORTD.0
LCD_ENPIN = PORTC.2
LCD_RSPIN = PORTC.1
LCD_INTERFACE = 8
LCD_LINES = 2
DIM ADC AS BYTE
DIM I AS BYTE
ADCON1=6
OUTPUT PORTD
OUTPUT PORTC
TRISE=111
OUTPUT PORTA
INPUT PORTB
BEGIN:
PRINT AT 1,1, " BIENVENIDO "
PRINT AT 2,1, " PRECIONE TECLA "
IF PORTE.0=0 THEN "LM35
cls
PORTC.0=0
GOTO LM35
ELSEIF PORTE.1=0 THEN "LM335
cls
PORTC.0=1
GOTO LM335
ELSEIF PORTE.2=0 THEN "AMBOS
cls
GOTO AMBOS
ELSE
GOTO BEGIN
ENDIF
LM35:
GOSUB CONVER
BUCLE:
IF PORTE.1=0 THEN "LM335
PORTC.0=1
CLS
GOTO LM335
ELSEIF PORTE.2=0 THEN "AMBOS
CLS
GOTO AMBOS
ENDIF
PRINT AT 1,1, "TEMPERATURA LM35:"
PRINT AT 2,1, DEC PORTB
DELAYMS 500
GOTO LM35
LM335:
GOSUB CONVER
BUCLE1:
IF PORTE.0=0 THEN "LM35
PORTC.0=0
CLS
GOTO LM35
ELSEIF PORTE.2=0 THEN "AMBOS
CLS
GOTO AMBOS
ENDIF
PRINT AT 1,1, "LM335:"
PRINT AT 2,1, DEC ADC
GOTO LM335
AMBOS:
PORTC.0=0
GOSUB CONVER
PRINT AT 1,1, "TEMPERATURA LM35:"
PRINT AT 2,1, DEC ADC
DELAYMS 500
GOSUB CHECK
DELAYMS 500
GOSUB CHECK
DELAYMS 500
GOSUB CHECK
DELAYMS 500
GOSUB CHECK
DELAYMS 500
GOSUB CHECK
DELAYMS 500
GOSUB CHECK
PORTC.0=1
GOSUB CONVER
CLS
PRINT AT 1,1, "LM335:"
PRINT AT 2,1, DEC ADC
DELAYMS 500
GOSUB CHECK
DELAYMS 500
GOSUB CHECK
DELAYMS 500
GOSUB CHECK
DELAYMS 500
GOSUB CHECK
DELAYMS 500
GOSUB CHECK
DELAYMS 500
GOSUB CHECK
CLS
GOTO AMBOS
CONVER:
PORTC.3=1
PORTA.3=0
DELAYMS 200
PORTA.3=1
PORTC.3=0 "DA EL BIT DE START AL ADC
DELAYMS 150
PORTA.2=1 "HABILITA LA SALIDA DEL ADC
DELAYMS 250
PORTA.3=0
DELAYMS 50
PORTC.3=0
DELAYMS 30
RETURN
CHECK:
IF PORTE.0=0 THEN "LM35
PORTC.0=0
CLS
GOTO LM35
ELSEIF PORTE.1=0 THEN "LM335
PORTC.0=0
CLS
GOTO LM335
ENDIF
RETURN