Funcionamiento
El módulo de caracteres del display
LCD LM032L de Hitachi puede funcionar en uno de
dos modos. El primer modo (y también el
asignado de fábrica), es el modo de interfaz
de datos de 4 bits. El segundo es el modo de interfaz
de datos de 8 bits. Cuando se opera en el modo
de 4 bits, se necesitan dos transferencias por
carácter / comando. En el modo de 8 bits,
se necesitan cuatro líneas adicionales
de E/S, si bien es más fácil su
implementación al necesitar menos memoria
de programa. El uso del modo de 8 bits es estrictamente
un compromiso entre tamaño de memoria de
programa y líneas de E/S. Los tres interfaces
de datos más comunes son:
1. Una interfaz de 8 bits.
2. Una interfaz de 4 bits, con transferencia de
datos en el nibble más alto del port.
3. Una interfaz de 4 bits, con transferencia de
datos en el nibble más bajo del port.
Recordamos a nuestros amigos lectores que el
nibble es una palabra binaria, constituída
por la agrupación de 4 bits que son tratados
en forma unitaria. El módulo LCD tiene
también tres señales de control:
Enable (E).
Read/Write (Lectura/Escritura) (R_W).
Register Select (Selección de Registro)
(RS).
Las funciones de cada señal de control
pueden observarse en la tabla 1.
Una fila única de la fuente es usada para
generar cualquiera de estas opciones con ensamble
condicional. Esto requiere dos indicadores. En
la tabla 2 vemos los indicadores y sus resultados.
Las figuras 1, 2 y 3 muestran los diagramas en
bloques de las tres diferentes interfaces de datos.
Las líneas de datos LCD_CNTL y LCD_DATA
son definidos por el usuario con respecto a su
asignación de ports. Esto se logra por
medio de declaraciones de EQUate en el código
de fuente. Observe los Apéndice S, C y
D.
Los drivers de LCD son dispositivos lentos en
comparación con los microcontroladores.
Resulta preocupante que las comunicaciones no
se realicen en forma demasiado rápida.
El software debe controlar la velocidad y la temporización
de las comunicaciones para asegurar que el LCD
lento y el microcontrolador veloz puedan mantenerse
sincronizados. Los requisitos de temporización
del LM032L pueden verse en el Apéndice
A de dicha nota de aplicación que Ud. puede
bajar de nuestra web: www.webelectronica.com.ar
o en inglés de la página de Microchip.
Comunicamos que las especificaciones completas
del LM032L se han obtenido de Hitachi y su manual
de datos también puede bajarlo de Internet.
Cuando el módulo se enciende, el modo de
transferencia de datos preajustado es el de 8
bits. La secuencia de inicialización sólo
requiere comandos de una longitud de 4 bits. El
último comando de inicialización
debe especificar el ancho de la transferencia
de datos (4 u 8 bits) y a continuación
debe ejecutarse un retardo de 4,6 ms antes que
el módulo LCD pueda ser inicializado. Algunos
de los comandos del módulo LCD son:
1 ó 2 renglones de caracteres
display on/off
desactivar display
incrementar o no incrementar el puntero
de direcciones de caracteres después de
cada carácter
cargar el puntero de direcciones de caracteres
El flujo de inicialización para el módulo
surge de la figura 4.
Después de la inicialización, cada
dirección de carácter puede ser
buscado en forma individual. La figura 5 muestra
la estructura de comandos para especificar la
dirección del carácter.
El driver de display HD44780A de Hitachi posee
80 bytes de RAM. El módulo LM032L usa sólo
40 bytes de la RAM disponible de 2x20 caracteres.
Es factible usar las restantes posiciones de memoria
de la RAM para el almacenamiento de otra información.
La figura 6 muestra las posiciones de datos del
display soportados por el driver, así como
los caracteres visibles realmente en el display
del módulo (marcados por las direcciones
no sombreadas).
El ejemplo de programa indicado aquí usa
la prestación de incremento automático
del carácter. El mismo incrementa
automáticamente el puntero de la dirección
de caracteres después de que cada caracter
haya sido escrito en el display.
Conclusión
El módulo del display de caracteres
LM032L de Hitachi está indicado para la
visualización de información. La
selección de modos de transferencia de
datos de 4 u 8 bits es estrictamente un compromiso
entre magnitud de la memoria con respecto a los
recursos de E/S. El código suministrado
es de fácil uso en cualquiera de las tres
interfaces comunes. La fuente puede ser modificada
fácilmente para adaptarla a las necesidades
de diseño. Otros módulos de display
o drivers pueden ser implementados con las modificaciones
apropiadas. En la tabla 3 vemos los recursos necesarios
para las subrutinas SEND_CHAR, SEND_COMMAND y
BUSY_CHECK en los diferentes modos de interfaz
de datos.
Recuerde que si Ud. desea tener la bilbliografía
completa y el código fuente, puede bajar
la nota de nuestra web: www.webelectronica.com.ar
con la clave piclcd
|