
El HD44780 es un circuito integrado que funciona como controlador y controlador de pantalla LCD de matriz de puntos alfanumérica . Fue desarrollado por Hitachi en la década de 1980. El conjunto de caracteres del controlador incluye caracteres ASCII , caracteres japoneses Kana y algunos símbolos en dos líneas de 40 caracteres. Mediante un controlador de extensión, el dispositivo puede mostrar hasta 80 caracteres. [ 1 ] Numerosas pantallas de terceros son compatibles con su interfaz de 16 pines y su conjunto de instrucciones, lo que lo convierte en un controlador LCD popular y económico. [ 2 ]
Arquitectura

El controlador LCD Hitachi HD44780 se limita a pantallas de texto monocromáticas y se utiliza con frecuencia en fotocopiadoras , máquinas de fax , impresoras láser , equipos de prueba industriales y equipos de red, como enrutadores y dispositivos de almacenamiento .
Las pantallas LCD compatibles se fabrican en varias configuraciones estándar. Los tamaños más comunes son una fila de ocho caracteres (8×1) y formatos de 16×2, 20×2 y 20×4. También se fabrican tamaños personalizados más grandes con 32, 40 y 80 caracteres, y con 1, 2, 4 u 8 líneas. La configuración más común para pantallas de mayor tamaño es la de 40×4 caracteres, que requiere dos controladores HD44780 direccionables individualmente con chips de expansión, ya que un solo chip HD44780 solo puede direccionar hasta 80 caracteres.
Las pantallas LCD de caracteres pueden tener retroiluminación , que puede ser LED , fluorescente o electroluminiscente . El voltaje nominal de funcionamiento para las retroiluminaciones LED es de 5 V a brillo máximo, con atenuación a voltajes más bajos dependiendo de detalles como el color del LED. Las retroiluminaciones que no son LED suelen requerir voltajes más altos.
Interfaz

Las pantallas LCD de caracteres utilizan una interfaz de 16 contactos, generalmente mediante pines o conexiones en el borde de la tarjeta con una separación de 2,54 mm (0,1 pulgadas ). Las que no tienen retroiluminación pueden tener solo 14 pines, omitiendo los dos que alimentan la luz. Esta interfaz se diseñó para conectarse fácilmente a la interfaz Intel MCS-51 XRAM, utilizando solo dos pines de dirección, lo que permitía mostrar texto en la pantalla LCD mediante comandos MOVX sencillos, ofreciendo una opción rentable para añadir visualización de texto a los dispositivos.
La configuración de pines predominante es la siguiente (existen excepciones):
Notas:
- Vee (también V0): Se trata de una entrada analógica, normalmente conectada a un potenciómetro. El usuario debe poder controlar esta tensión independientemente de los demás ajustes, para optimizar la visibilidad de la pantalla, que varía, entre otros factores, con la temperatura y, en algunos casos, con la altitud. Un ajuste incorrecto puede provocar un mal funcionamiento de la pantalla.
- Lectura/ Escritura : En la mayoría de las aplicaciones, no es necesario leer del HD44780. En ese caso, este pin puede conectarse permanentemente a tierra y no es necesario asignar pines del procesador para controlarlo.
Selección de modo

En el modo de 8 bits, todas las transferencias se realizan en un ciclo del pin de habilitación (E) con los 8 bits del bus de datos y los pines RS y R/ W estables. En el modo de 4 bits , los datos se transfieren como pares de " nibbles " de 4 bits en los pines de datos superiores, D7-D4, con dos pulsos de habilitación y los pines RS y R/ W estables. Los cuatro bits más significativos (7-4) deben escribirse primero, seguidos de los cuatro bits menos significativos (3-0). La secuencia alto/bajo debe completarse cada vez; de lo contrario, el controlador no recibirá correctamente los comandos posteriores.
La selección del modo de 4 bits u 8 bits requiere una cuidadosa selección de comandos. Hay dos consideraciones principales. Primero, con D3–D0 desconectadas, estas líneas siempre aparecerán en alto (binario 1111) para el HD44780, ya que hay MOSFETs de polarización interna . [ 3 ] Segundo, la pantalla LCD puede estar inicialmente en uno de tres estados:
- Estado 1: modo de 8 bits
- Estado 2: modo de 4 bits, esperando el primer conjunto de 4 bits.
- Estado 3: modo de 4 bits, esperando el segundo conjunto de 4 bits.
El estado 3 puede ocurrir, por ejemplo, si un control anterior fue abortado después de enviar solo los primeros 4 bits de un comando mientras el HD44780 estaba en modo de 4 bits.
El siguiente algoritmo garantiza que la pantalla LCD esté en el modo deseado:
El mismo comando se envía tres veces: Función configurada con interfaz de 8 bits D7–D4 = binario 0011; los cuatro bits inferiores son irrelevantes, utilizando pulsos de habilitación únicos. Si el controlador está en modo de 4 bits, los cuatro bits inferiores se ignoran, por lo que no se pueden enviar hasta que la interfaz tenga una configuración de tamaño conocido.
Comenzando en el estado 1 (configuración de 8 bits):
- Enviar comando de configuración de función. El comando se ejecutará, configurando el modo de 8 bits.
- Enviar comando de configuración de función. El comando se ejecutará, configurando el modo de 8 bits.
- Enviar comando de configuración de función. El comando se ejecutará, configurando el modo de 8 bits.
Comenzando en el estado 2 (configuración de 4 bits, esperando la primera transferencia de 4 bits):
- Envía el comando de configuración de función. Se reciben los primeros 4 bits.
- Enviar comando de configuración de función. Últimos 4 bits, comando aceptado, configurar modo de 8 bits.
- Enviar comando de configuración de función. El comando se ejecutará, configurando el modo de 8 bits.
Comenzando en el estado 3 (configuración de 4 bits, esperando la última transferencia de 4 bits):
- Envía el comando de configuración de función. Últimos 4 bits, comando desconocido ejecutado.
- Envía el comando de configuración de función. En modo de 8 bits, el comando se ejecutará; de lo contrario, se recibirán los primeros 4 bits.
- Enviar comando de configuración de función. Se ejecutará un comando de 8 bits o los últimos 4 bits del comando anterior; configurar el modo de 8 bits.
En los tres casos iniciales, la interfaz del bus se encuentra en modo de 8 bits, 1 línea, 5×8 caracteres. Si se desea una configuración diferente en modo de 8 bits, se debe enviar un comando de configuración de función de bus de 8 bits para establecer todos los parámetros. Si se desea el modo de 4 bits, se debe enviar el valor binario 0010 en D7–D4 con un único pulso de habilitación. Ahora el controlador estará en modo de 4 bits y una secuencia completa de comandos de configuración de función de bus de 4 bits (dos habilitaciones con los bits de comando 7–4 y 3–0 en ciclos sucesivos) completará la configuración del registro de configuración de función.
Conjunto de instrucciones
El conjunto de instrucciones HD44780 se muestra a continuación: [ 4 ]
DDRAM es la RAM de datos de visualización y CGRAM es la RAM del generador de caracteres. [ 5 ] La DDRAM tiene 80 bytes (40 por fila) direccionados con un espacio entre las dos filas. La primera fila corresponde a las direcciones del 0 al 39 en decimal o del 0 al 27 en hexadecimal. La segunda fila corresponde a las direcciones del 64 al 103 en decimal o del 40 al 67 en hexadecimal.
La CGRAM es una memoria de lectura/escritura que se utiliza para codificar hasta 8 caracteres en el generador de caracteres. Consta de 64 campos en las direcciones hexadecimales 0 a 3F. Cada campo tiene 5 bits que corresponden a una fila de píxeles de cada carácter. Se utilizan 8 campos de la CGRAM para cada carácter. Los 3 bits menos significativos de los códigos de caracteres (0-7 y 8-15) seleccionan los grupos de 8 campos en la memoria CGRAM.
La lectura y escritura en la memoria DDRAM se realiza activando la entrada RS durante las transferencias del bus. La memoria DDRAM también debe seleccionarse mediante el comando "Set DDRAM address", que selecciona la memoria DDRAM para el acceso y establece la dirección de inicio para dicho acceso.
Asimismo, la lectura y escritura en la CGRAM se realiza activando la entrada RS durante las transferencias del bus. La CGRAM también debe seleccionarse mediante el comando "Set CGRAM address", que selecciona la CGRAM para el acceso y establece la dirección de inicio para dicho acceso.
Los tiempos de ejecución que se muestran en esta tabla se basan en una frecuencia de oscilador de 270 kHz. La hoja de datos indica que, con una resistencia de 91 kΩ y una tensión CC de 5 V, el oscilador puede variar entre 190 kHz y 350 kHz, lo que resulta en tiempos de espera de 52,6 μs y 28,6 μs, en lugar de 37 μs. Si una pantalla con la resistencia recomendada de 91 kΩ se alimenta con 3,3 voltios, el oscilador funcionará mucho más lento. Si no se utiliza el bit de ocupado y las instrucciones se temporizan mediante el circuito externo, esto debe tenerse en cuenta.
Fuente
La ROM del generador de caracteres HD44780 original contiene 208 caracteres en una matriz de puntos de 5×7 y 32 caracteres en una matriz de puntos de 5×10. Existen chips compatibles más recientes con mayor resolución, adaptados a pantallas con más píxeles.
Se han desarrollado dos versiones de la ROM: [ 5 ]
- HD44780UA00, la versión estándar (japonesa), que incluye caracteres katakana y algunas letras griegas y símbolos matemáticos.
- HD44780UA02, una versión europea, que incluye el conjunto completo de caracteres cirílicos y de Europa occidental (con diacríticos ), así como algunas letras griegas y símbolos matemáticos.
El subconjunto ASCII de 7 bits para la versión japonesa no es estándar: proporciona un símbolo de yen donde normalmente se encuentra el carácter de barra invertida , y símbolos de flecha izquierda y derecha en lugar de la tilde y el carácter de borrado .
Mediante comandos especiales , se puede programar un número limitado de caracteres personalizados en el dispositivo en forma de mapa de bits . Estos caracteres deben escribirse en el dispositivo cada vez que se enciende, ya que se almacenan en memoria volátil .
Véase también
- LCD Smartie : controlador de pantalla de código abierto para Microsoft Windows
- JIS X 0201 – Codificación de caracteres estándar japonesa de 7 y 8 bits
Referencias
- ↑ Sánchez y Canton 2007 , pág. 275
- ↑ "Uso del Hitachi HD44780 con Arduino" . Best-Microcontroller-Projects . Consultado el 2 de enero de 2023 .
- ↑ "HD44780U (LCD-II)" (PDF) . Hitachi. pág. 54. Consultado el 5 de enero de 2023 .
- ↑ Huang 2009 , pág. 326
- 1 2 "Hoja de datos HD44780U" (PDF) . Consultado el 23 de diciembre de 2021 .
Lecturas adicionales
- Productos Hitachi
- Pantallas de cristal líquido