Hola aqui tienes algo que he hecho para el lm 35,fijate el multiplicador de RAW a ver si esta correcto ,no me acuerdo si esta ajustado para LM35 pero solo deberas variar ese valor ,son 10 mv por grado
suerte
khasistos
Name : adrpm.BAS
"* Date : 01/05/04
DEVICE = 16F877
XTAL = 20
LCD_DTPIN = PORTD.4
LCD_RSPIN = PORTE.0
LCD_ENPIN = PORTE.1
LCD_INTERFACE = 4 " 4-bit Interface
LCD_LINES = 4
LCD_TYPE = 0
ADIN_RES 10 " Set the resolution to 10
ADIN_TAD FRC " Choose the RC osc for ADC samples
ADIN_STIME 50 " Allow 100us for charge time
Dim Raw as word
Dim Value as word
DIM RPM as WORD " Declare a word size variable
Delayms 500 " Wait for PICmicro to stabilise
Cls
TRISB.1=1 " Clear the LCD
TRISA = %00000001 " Setup bit-0 of PortA as an input
ADCON1 = %10000010 " Set PORTA analog and right justify result
Again: Raw = ADIN 0 " Read the ADC
Value = Raw/2.10
Print at 1,1,"Temp ",DEC3 Value
Print at 1,14 ,@Raw, " "
RAW es el valor real leido por el Ad solo debes ajustar ese valor al entregado por el LM para que te de la lectura de temp .fijate que en mi caso como utilize un display de 24 caracteres le pongo que en la primera linea an la posicion 14 que me entrege la lectura directa del ad ,sabiendo cuanto me entrega el LM y a que temp exacta corresponde solo le efectuo la correcion matematica que ves en VALUE...