Autor Tema: Problema con LCD 16x2 al mostrar decimales, usando mikroC PRO 5.61  (Leído 4234 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Raul2706

  • PIC10
  • *
  • Mensajes: 3
Hola, qué tal!

Vengo iniciando en el tema de microcontroladores. Les cuento cómo está mi problema.
Se trata de un proyecto con un menú de 3 opciones mostrado en una pantalla LCD de 16x2. Para elegir una opción, tendré que hacerlo con un celular y un Circuito Integrado CM8870.
Simulo el proyecto en Proteus 8 y programo en mikroC PRO 5.61. Como en Proteus no está el CI CM8870, utilizo un DIP Switch de 5 posiciones.
En la primera opción debo mostrar la temperatura con un sensor LM35, en la segunda opción debo ingresar 3 dígitos que serán el valor para el PWM (un LED conectado ahí),
y en la tercera opción debo simular dos semáforos.

Tengo problemas con la primera opción. Yo deseo mostrar la temperatura con decimales, para ello utilizo la función FloatToStr. Pero cuando inicio la simulación en Proteus,
la pantalla LCD se enciende pero no muestra nada. He notado que eso me pasa cuando realizo operaciones con decimales y/o utilizo la función FloatToStr.
Decidí entonces mostrar la temperatura como número entero (sin los decimales), pero es el mismo problema.

Probé el código que uso para mostrar con decimales en otro proyecto (únicamente un LM35 y una LCD de 16x2) y funciona correctamente. También probé con el otro código para
mostrar enteros e igual, funciona correctamente. No sé cuál sea el problema al pasarlo al proyecto del menú.

Uso un PIC16F887. Cuando armo todo en el protoboard, pasa lo mismo; enciende la pantalla LCD (se ven los cuadros de la primera fila) pero no muestra nada.

Dejo el proyecto (código y simulación) en el que funcionan ambos códigos, y también el proyecto del menú (Proyecto Final).
mikroC.rar (Menú Archivo --> Descargar)
El código que muestra el número entero es de la línea 88 a la línea 171.
El código que muestra el número decimal es de la línea 173 a la línea 183.
Por cierto, en los demás proyectos no conecto los pines VSS, VDD ni VEE de la LCD en Proteus y funciona todo bien. Cuando lo armo en el protoboard, sí los conecto.

Espero que me puedan ayudar diciéndome cuál sería el problema, por favor.
De ante mano muchas gracias. Saludos!

P.D.: así como dejé la configuración del DIP Switch entrará directamente a la primera opción. Para que no tengan que mover cada vez que reinicien la simulación.
Y decidí no poner el código aquí porque son 329 líneas. Pero si les parece, lo pongo acá.

Desconectado Micom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 782
Re: Problema con LCD 16x2 al mostrar decimales, usando mikroC PRO 5.61
« Respuesta #1 en: 17 de Junio de 2014, 00:09:54 »
Vi tu simulación y el LCD esta mal conectado el VDD del LCD lo tienes conectado a GND por medio de una R de 4.7K, cuando debe de estar conectada a 5v VDD en la simulación no afecta pero armado en el protoboard así, si afecta.
El programador GTP USB PLUS es un super programador
GRACIAS dobles amigo SISPIC

Tan solo queda seguir sobreviviendo

Desconectado Raul2706

  • PIC10
  • *
  • Mensajes: 3
Re: Problema con LCD 16x2 al mostrar decimales, usando mikroC PRO 5.61
« Respuesta #2 en: 17 de Junio de 2014, 01:30:35 »
Gracias por la respuesta, Micom. Sí, la verdad que cuando comprimí el archivo ni me fijé cómo dejé conectada la LCD, de tantos intentos que había hecho.
Pero sí, normalmente VSS, VDD y VEE no los conecto en Proteus y funciona. Ya en protoboard sí conecto bien; me baso en este ejemplo: http://www.mikroe.com/chapters/view/82/capitulo-4-ejemplos/#c4v12 Sólo que en vez de utilizar la resistencia variable de 5k, conecto una resistencia fija de 4.7k de VO a GND.

Lo que no sé es por qué la LCD actúa así (que sólo enciende pero no muestra nada)... eso lo hace hasta en físico... (con este código, porque no siempre lo hace) :?
« Última modificación: 18 de Junio de 2014, 03:14:24 por Raul2706 »

Desconectado Micom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 782
Re: Problema con LCD 16x2 al mostrar decimales, usando mikroC PRO 5.61
« Respuesta #3 en: 18 de Junio de 2014, 17:32:28 »
Mira hice varias pruebas con tu código primero, lo simule con el .hex que trae el archivo y me salieron varios errores de stack o de memoria decidí compilarlo con la versión que tengo de Mikroc y ya no me presento errores y al simularlo me muestra el LCD en la línea 1 AN2: 56, en la línea 2 Temp:
El programador GTP USB PLUS es un super programador
GRACIAS dobles amigo SISPIC

Tan solo queda seguir sobreviviendo

Desconectado Raul2706

  • PIC10
  • *
  • Mensajes: 3
Re: Problema con LCD 16x2 al mostrar decimales, usando mikroC PRO 5.61
« Respuesta #4 en: 20 de Junio de 2014, 01:19:24 »
Sí, a veces me salen Warnings en Proteus de color verde y a veces de color amarillo, no sé a qué se deba... :?

Así como lo dejé no muestra la temperatura, para que pudieran observar que sí funciona el display. Para que muestre la temperatura, tengo que descomentar de la línea 88 a la línea 171, o bien, descomentar de la línea 173 a la línea 183, y es ahí cuando la LCD deja de funcionar! No muestra nada! Y pues no sé qué es lo que esté pasando! :?


 

anything