Hola a todos.
Ya termine mi termómetro Digital, el hardware lo comprende:
PIC16F818
LM35
Display Doble Ánodo Común
Semiconductores complementarios.
El software funciona bien, el problema que me comentas te la respondo con la siguiente tabla, el cual tiene valores de temperatura, voltaje y salida digital:
Temp. LM35 Vout #Digital #Digital / 2
30°C 300mV 61 30.5
31°C 310mV 63 31.5
32°C 320mV 65 32.5
33°C 330mV 67 33.5
34°C 340mV 69 34.5
35°C 350mV 71 35.5
36°C 360mV 73 36.5
37°C 370mV 75 37.5
38°C 380mV 77 38.5
39°C 390mV 79 39.5
40°C 400mV 81 40.5
Como puedes ver no hay problema con los valores impares, además el .5 se elimina puesto que el micro no maneja fracciones, si lo quieres ver mas practico haz esta tabla con valores binarios.
Queda decir que el valor máximo del LM35, 150°C-->1,5V, queda de un valor de 153 Digital, ya dividido, esto quiere decir que este proceso trabaja con 8 Bits lo necesario para la aplicación.
Agradezco a todos por sus sugerencias, participación y tiempo.
Este tema termina aquí, solucionado el problema.
PD. Dejo el pedazo de código del LM35 para los que quieren trabajarlo y modificarlo y si se puede mejorarlo.
CLRF VALOR
CLRF MSB
CLRF LSB
AD BSF ADCON0,GO
BTFSC ADCON0,GO
GOTO $-1
BANKSEL ADRESL
MOVF ADRESL,W
BANKSEL ADRESH
MOVWF VALOR
BCF STATUS,C
RRF VALOR,F
MOVF VALOR,W
CALL BINBCD
CALL VISUAL
GOTO AD
TABLA ADDWF PCL,F
RETLW 40 ;0
RETLW 79 ;1
RETLW 24 ;2
RETLW 30 ;3
RETLW 19 ;4
RETLW 12 ;5
RETLW 02 ;6
RETLW 58 ;7
RETLW 00 ;8
RETLW 10 ;9
BINBCD
CLRF MSB
MOVWF LSB
L1 MOVLW 0A
SUBWF LSB,W
BTFSS STATUS,C
GOTO FIN
MOVWF LSB
INCF MSB,F
GOTO L1
FIN RETLW 00
VISUAL
MOVLW .255
MOVWF COUNT2
VS MOVF MSB,W
CALL TABLA
MOVWF PORTB
BCF PORTA,1
CALL TIME
BSF PORTA,1
MOVF LSB,W
CALL TABLA
MOVWF PORTB
BCF PORTA,2
CALL TIME
BSF PORTA,2
DECFSZ COUNT2,F
GOTO VS
RETURN
TIME
MOVLW .100
MOVWF COUNT1
DECFSZ COUNT1,F
GOTO $-1
RETURN