TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: ma77ias en 23 de Octubre de 2008, 02:43:33

Título: TERMOMETRO DEFECTUOSO
Publicado por: ma77ias en 23 de Octubre de 2008, 02:43:33
HOLA!! necesito que alguien me ayude convirtiendo un programa en .hex a .asm para solucionar un problema porque no se ve en la pantalla LCD 1x16 el valor de temperatura dado por el lm35. O si alguno puede me podria decir por que no funciona el programa 8)... eso me seria de gran ayuda....Acá les dejo el programa en  .hex y la simulacion echa en el proteus 7.2 para que lo vean............... GRACIAS!!
Título: Re: TERMOMETRO DEFECTUOSO
Publicado por: pablomanieri en 23 de Octubre de 2008, 08:38:03
si observas bien en el codigo fuente de tu proyecto (en el archivo temp84.c), te coloco algunas líneas:
Código: [Seleccionar]
   if ((buff[0] & 0x1)==1)
         temp_dec=5;
      else
         temp_dec=0;

      lcd_putc("\f");
      printf(lcd_putc,"Temp   :\n");
      printf(lcd_putc," %u.%u'C",temp,temp_dec);
      delay_ms(1000);
donde dice "printf(lcd_putc,"Temp  :\n");" este \n hace que se imprima en la segunda linea del lcd y tu estás usando un lcd de una sola lnea por lo tanto no te muestra la temperatura. Prueba colocando en el proteus un display de dos líneas
Título: Re: TERMOMETRO DEFECTUOSO
Publicado por: Leon Pic en 23 de Octubre de 2008, 20:41:13
Hola Matias. Es erros es que estás usando un pic16f84, y este, no tiene entrada analógica.

Te puedes pasar al 16f87-88. Este si tiene entrada analógica.
Título: Re: TERMOMETRO DEFECTUOSO
Publicado por: pablomanieri en 24 de Octubre de 2008, 08:40:08
La simulación del Proteus no es para el lm35 esta hecha en base al ds1820  que tiene conexión serie por un hilo, no usa salida con valores analógicos, el programa para este funciona correctamente pero muestra la información en un display de dos líneas, y estas usando uno de sólo una línea
Título: Re: TERMOMETRO DEFECTUOSO
Publicado por: Leon Pic en 24 de Octubre de 2008, 09:49:04
Si vas a usar el LM35, el pic, no te sirve, porque este sensor, varía su voltage de salida para indicar la temperatura.

El ds1820, si te sirve, pero este tiene comunicación serial, como lo indicó pablo manieri.