Ayuda con un termometro para que lo entienda un PIC

Hola a todos, soy nuevo en el foro, y mi problema es el siguiente, tengo q realizar un termómetro y trabajo con el LM35, el prblema es el siguinte yo para mandar al PIC antes tengo que realizar unas conversiones de corriente a voltaje y bicversa, tengo que trabajar en un rango de 20 a 100 grados centigrados, y osea para que el pic entienda
tiene que ser asi:
0-----20 oC
5-----10oC
para que me salga 0 y 5 grados centigrados ya esta hecho el circuito y esta simulado y si sale el problema surge que no se como hacer para que el PIc me entienda que a lo que salga 0 quiero q sea 20 y con los 5 y n mi kso 4.98 q es lo q me sale quiero q me lea como 100 oC: estuve consultando y encontré este código:

#include "16f877.h"

#device adc=10 //Usa resolución de 10 bits
#use delay(clock=4000000)
#fuses xt,nowdt,noput,nobrownout,nolvp,noprotect

#include "lcd.c"
#use standard_io (D)


void main (void)
{
float temper,medicion;

lcd_init(); //Inicia LCD
lcd_putc("Integrantes\n"); //Saca texto
delay_ms(1000);
lcd_putc("\f"); //Limpia pantalla
lcd_putc("Recalde L\n"); //Saca texto
lcd_putc("Calvopina K\n"); //Saca texto
delay_ms(1000);
lcd_putc("\f"); //Limpia pantalla
lcd_putc("Temperatura\n"); //Saca texto
lcd_putc("actual:"); //Saca texto
delay_ms(1000);
lcd_gotoxy(14,2); //Acomoda cursor LCD
lcd_putc("oC");

while (1)
{

lcd_gotoxy(8,2); //Acomoda cursor LCD
lcd_putc(" "); //Limpia ese sector de pantalla
lcd_gotoxy(8,2); //Acomoda cursor LCD


setup_adc (adc_clock_internal);

setup_adc_ports (all_analog);

set_adc_channel (0); //Elige canal a medir RA0
delay_us (20);
medicion=read_adc (); //Hace conversión AD
setup_adc (adc_off); //Apaga ADC

temper=(0.48875)*medicion; //Pasa binario a °C

//////////////////////////////////////////////////////////////////////////////////
// el "0.48875" sale de dividir 5/1023 y el resultado de eso multiplicarlo por 100
// el 5 sale de los 5 voltios aplicado a el voltage de referencia, los 1023 salen
// de los 10 bit de resolucion del conversor analogico digital que seleccionamos.
// Si utlizaramos la resolucion de 8 bist del conversor analogico digital, la
// formula fuera (5/255)*100 ya que con 8 bits el numero maximo posible es de 0-255
//////////////////////////////////////////////////////////////////////////////////

printf(lcd_putc,"%02.1f",temper); //xxx.x °C
delay_ms (1000);
}
}





el problema con este codigo q esta en PIC-C esq le concta directo del sensor al pic, y no hace lo q yo hago q es mandarle del LM741 al pic, asi q no se si m pudiesaen ayudar con este inconveniente, xq no se como entinde el PIC los voltajes q l mando a la salida del AP para que sea 0----20oC, y 4.99---100oC.........muchas gracias de antemano
 
bueno si leen esto quiero dar por terminado el tema, ya lo pude solucionar y va de maravilla, gracias igual por su tiempo...........
 
Atrás
Arriba