conversion
lo que quiero saber es como hace para convertir los 10mv por grado centígrado al enviarlo al pic 16f873a y como es que logra mostrarel mismo valor en lcd como es el proceso de conversión tanto adc y binario o como hace el pic para mostrar el mismo resultado que da el lm35 en pantalla lcd
temper=medicion*(0.48875); //Pasabinario 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 voltaje de referencia, los 1023 salen
de los 10 bit de revolucióndel conversor analógico digital que seleccionamos.
Si utilizáramos la resolucion de 8 bist del conversor analógico digital, la
formula fuera (5/255)*100 ya que con 8 bits el numero máximo posiblees de 0-255
ese es el proceso que hace el ejemplo con el pic 16f873a quiero saber como lo convierte a binario o como hace el calculo para que en pantalla lcd se vea el resultado de 35gradosejemplo
sila salida es de 35grados en milivoltios seria 350mv según el ejemplo lo multiplica por 0.47588
350mv*0.48875=0.1710625
0.1710625 a partir de este resultado como lo convierte en 35grados y lomuestra por el lcd
#include
#device adc=10 //Usa resolución de 10 bits
#use delay(clock=4000000)
#fuses xt,nowdt,noput,nobrownout,nolvp,noprotect
#define LCD_ENABLE_PIN PIN_C2
#defineLCD_RS_PIN PIN_C0
#define LCD_RW_PIN PIN_C1
#define LCD_TYPE 2
#include
#use standard_io (D)
void main (void)
{
float temper,medicion;
lcd_init(); //Inicia LCD
lcd_putc("Termometro\n"); //Saca texto
lcd_putc(" con LM35"); //Saca texto
delay_ms(2000);
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...
Regístrate para leer el documento completo.