REALICE PROYECTOS CON MODULOS LCD INTELIGENTES

Los módulos LCD son una manera muy barata y confiable de mostrar al usuario la información. Existen en el mercado muchas clases y con diferentes formatos, siendo el más común el de 16 caracteres por 2 filas. Cada carácter está formado por una matriz de 5 x 7 puntos, lo que hace que se puedan imprimir toda clase de caracteres y símbolos predefinidos. Los juegos de caracteres vienen grabados en una ROM interna y varían según el uso, teniendo la posibilidad de generar símbolos matemáticos y caracteres asiáticos. Si el carácter que queremos imprimir no está definido en la ROM, es posible definir hasta 7 caracteres propios.

CARACTERISTICAS DE LOS MODULOS LCD

El costo de estos displays equivale a 10 displays de siete segmentos comunes. Si tenemos en cuenta que los LCD traen 16 x 2 caracteres, es más económico si se pretende colocar muchos caracteres, pero el tamaño de los caracteres es menor a un display de 7 segmentos.

La principal ventaja en el uso de estos displays es que poseen un microprocesador interno que realiza todo el trabajo, liberándonos de la tarea del refresco de los caracteres en pantalla, tarea que nos insume tiempo de ejecución de programa.

Este módulo LCD se encarga de posicionar automáticamte los caracteres y generar los efectos especiales, como mostrar el cursor o el parpadeo de los caracteres

 
FUNCIONAMIENTO DE UN DISPLAY
Independientemente de la marca de display LCD, todos traen internamente un microprocesador HITACHI 44780.

El módulo LCD se comunica con el microcontrolador a través de comandos de 8 bits. Estos comandos son controlados a través de tres líneas de control, que le indican al módulo si los datos que se le envían son comandos o caracteres y si se lee o escribe el módulo.

Poseen una línea de habilitación lo que permite utilizar la misma conexión paralela para otros dispositivos. Si transmitimos en 4 bits se utilizan las líneas de datos D7 a D4 y las líneas D3 a D0 no se utilizan. La comunicación se hace transmitiendo primero los 4 bits de mayor peso y luego los 4 bits de menor peso. (Vea la tabla 1).

Los módulos LCD poseen dos tipos de RAM. La DDRAM corresponde a la memoria que controla donde se localizan los caracteres y la CGRAM corresponde a la memoria de generación de los caracteres auxiliares.

Existen dos tipos de datos para leer o escribir sobre el módulo LCD. Los caracteres se escriben directamente y el módulo los posiciona automáticamente.

El otro tipo de datos son los comandos, los cuales configuran al módulo, le indican en qué posición ubicarán al próximo carácter o generan nuevos caracteres. La lista completa de comandos se encuentran en la tabla 2.

 
CONEXIONES DEL MODULO
El módulo (figura 3) trabaja con un voltaje fijo de +5 v que puede ser la misma fuente de alimentación del microcontrolador.

Algunos módulos poseen una luz interna (backligth) que permite leer el display con mayor facilidad con falta de luz. Esta luz trabaja como un led interno y dispone de dos líneas, ánodo y cátodo para encenderlo.

NOTA: No sobrepasar los límites de las tensiones, ya que son muy sensibles a los voltajes y corrientes y se dañan fácilmente

 
INICIALIZACION
Antes de poder trabajar con el módulo LCD debemos inicializarlo. Para ello debemos seguir una serie de pasos definidos por el fabricante.

Estos pasos están separados por retardos que exige el módulo LCD para resetearse e inicializarse internamente.

Una vez terminada la inicialización se procede a limpiar el display y configurar los diferentes efectos especiales.

En la figura 4 se muestran los pasos a seguir para inicializar un módulo con una interfase de 8 bits.

 
PROGRAMA PARA MANEJAR EL MODULO LCD
Para programar el módulo LCD debemos utilizar una programación estructurada con rutinas anidadas, de manera de optimizar la memoria de programa. El programador tendrá que copiar las rutinas que necesite y luego llamar a las subrutinas correspondientes para manejar el display.

Esencialmente hay tres tipos de funciones con el módulo: Escribir un carácter, ingresar un comando y leer el estado del módulo.

Para poder escribir sobre el módulo LCD debemos esperar a que éste termine con sus funciones internas, sino de lo contrario no tomará la orden.

Podemos programar un retardo de 2 ms antes de escribir en él de manera de que estemos totalmente seguros de que halla terminado con sus funciones internas.

Otra forma es chequear la bandera de estado BF (Busy Flag) que se enciende mientras está ocupado realizando tareas internas. Este último es el más indicado y es el que recomienda MICROCHIP en sus notas de aplicación.

En la próxima edición finalizamos publicando la lista de definiciones, y multiplexación de displays y teclados.

 
Autor: Ing. Esteban Bosernitzan
FIGURA 1
 
FIGURA 3
 
FIGURA 4
 
FIGURA 5
 
TABLA 1
 
TABLA 2
 
TABLA 3
 
TABLA 4
 
TABLA 5