Hola estoy programando en pbasic,es un proyecto de un termometro con lcd.estoy utilizando un lm35 con un 16f876.la resolucion que elegi para el conversor es de 8 bits porque si elijo para 10 bits la lectura es erronea ya que los valores que me da a medida que aumenta la temperatura son "0","64" y "128" y siempre asi a medida que aumenta la temperatura,no se que pasa.si elijo para 8 bits la temperatura aumenta cada dos grados,no entiendo que pasa.me pueden ayudar?este es el codigo:
TEMPERATURA VAR BYTE
BATERIA var byte
define OSC 20
Define LCD_BITS 8
Define LCD_DREG PORTB
Define LCD_DBIT 0
Define LCD_EREG PORTC
Define LCD_EBIT 6
Define LCD_RSREG PORTC
Define LCD_RSBIT 7
DEFINE LCD_RWREG PORTC
DEFINE LCD_RWBIT 5
DEFINE ADC_BITS 8
DEFINE ADC_SAMPLEUS 5000
ADCON1 = 0
TRISA=$03
TRISB=$00
TRISC=$00
LCDOUT $FE,$0C
pause 100
LCDOUT " "
pause 100
lcdout " "
pause 100
LCDOUT " "
pause 100
LCDOUT "C"
pause 100
lcdout "r"
pause 100
LCDOUT "e"
pause 100
lcdout "a"
pause 100
LCDOUT "d"
pause 100
lcdout "o"
pause 100
LCDOUT " "
pause 100
lcdout "p"
pause 100
LCDOUT "o"
pause 100
lcdout "r"
pause 100
lcdout $FE,$C0
PAUSE100
lcdout "J"
pause 100
LCDOUT "o"
pause 100
lcdout "s"
pause 100
LCDOUT "e"
pause 100
lcdout " "
pause 100
LCDOUT "B"
pause 100
lcdout "i"
pause 100
LCDOUT "a"
pause 100
lcdout "n"
pause 100
LCDOUT "c"
pause 100
lcdout "h"
pause 100
LCDOUT "i"
pause 100
lcdout "m"
pause 100
LCDOUT "a"
pause 100
lcdout "n"
pause 100
LCDOUT "o"
pause 1000
lcdout $FE,1
PAUSE 100
LOOP
ADCIN 0,TEMPERATURA
PAUSE 100
LCDOUT " TEMPERATURA: "
LCDOUT $FE,$C0
LCDOUT " ",DEC3 TEMPERATURA," Grados "
CAMBIO=TEMPERATURA
adcin 1,BATERIA
PAUSE 1000
LCDOUT $FE,1," BATERIA: "
LCDOUT $FE,$C0
LCDOUT " ",DEC3 ((BATERIA*100)/5)," %"
PAUSE 1000
LCDOUT $FE,2
Gosub LOOP
TEMPERATURA VAR BYTE
BATERIA var byte
define OSC 20
Define LCD_BITS 8
Define LCD_DREG PORTB
Define LCD_DBIT 0
Define LCD_EREG PORTC
Define LCD_EBIT 6
Define LCD_RSREG PORTC
Define LCD_RSBIT 7
DEFINE LCD_RWREG PORTC
DEFINE LCD_RWBIT 5
DEFINE ADC_BITS 8
DEFINE ADC_SAMPLEUS 5000
ADCON1 = 0
TRISA=$03
TRISB=$00
TRISC=$00
LCDOUT $FE,$0C
pause 100
LCDOUT " "
pause 100
lcdout " "
pause 100
LCDOUT " "
pause 100
LCDOUT "C"
pause 100
lcdout "r"
pause 100
LCDOUT "e"
pause 100
lcdout "a"
pause 100
LCDOUT "d"
pause 100
lcdout "o"
pause 100
LCDOUT " "
pause 100
lcdout "p"
pause 100
LCDOUT "o"
pause 100
lcdout "r"
pause 100
lcdout $FE,$C0
PAUSE100
lcdout "J"
pause 100
LCDOUT "o"
pause 100
lcdout "s"
pause 100
LCDOUT "e"
pause 100
lcdout " "
pause 100
LCDOUT "B"
pause 100
lcdout "i"
pause 100
LCDOUT "a"
pause 100
lcdout "n"
pause 100
LCDOUT "c"
pause 100
lcdout "h"
pause 100
LCDOUT "i"
pause 100
lcdout "m"
pause 100
LCDOUT "a"
pause 100
lcdout "n"
pause 100
LCDOUT "o"
pause 1000
lcdout $FE,1
PAUSE 100
LOOP
ADCIN 0,TEMPERATURA
PAUSE 100
LCDOUT " TEMPERATURA: "
LCDOUT $FE,$C0
LCDOUT " ",DEC3 TEMPERATURA," Grados "
CAMBIO=TEMPERATURA
adcin 1,BATERIA
PAUSE 1000
LCDOUT $FE,1," BATERIA: "
LCDOUT $FE,$C0
LCDOUT " ",DEC3 ((BATERIA*100)/5)," %"
PAUSE 1000
LCDOUT $FE,2
Gosub LOOP