Controlador LCD Hitachi HD44780El controlador LCD Hitachi HD44780 es un controlador alfanumérico de pantalla de cristal líquido (LCD) de matriz de puntos desarrollado por Hitachi en la década de 1980. El juego de caracteres del controlador incluye caracteres ASCII, japoneses Kana y algunos símbolos en dos líneas de 28 caracteres. Utilizando una extensión del driver, el dispositivo puede mostrar hasta 80 caracteres.[1] El HD44780 es uno los controladores de caracteres para LCD más popular nunca construido, con numerosas pantallas de terceros fabricantes utilizando su interfaz de 16 pines y su juego de instrucciones por compatibilidad. El controlador LCD Hitachi HD44780 está limitado a pantallas de texto monocromo y es a menudo utilizado en fotocopiadoras, faxes, impresoras láser, equipamiento industrial de pruebas y equipamiento de redes como routers y dispositivos de almacenamiento. Las pantallas LCD compatibles están fabricadas en varias configuraciones estándar. Las configuraciones más comunes son una fila de ocho caracteres (8x1) y formatos de 16×2, 20×2 y 20×4. Las configuraciones a medidas más grandes están compuestas por 32, 40 u 80 caracteres con 1, 2, 4 o 8 líneas. La configuración más grande habitualmente fabricada es de 40x4 caracteres, la cual requiere dos controladores HD44780 direccionables individualmente con chips de expansión, puesto que un único chip HD44780 puede direccionar únicamente hasta 80 caracteres. Los caracteres LCD pueden ser retroiluminados mediante led, fluorescencia o por electroluminiscencia. Los displays LCD utilizan una interfaz de 16 contactos, generalmente utilizando pines o conexiones de tarjeta de 0,1 pulgadas (2.54 mm). Aquellos sin retroiluminación pueden tener sólo 14 pines, omitiendo los dos pines de alimentación de la luz. Esta interfaz se diseñó para ser fácilmente ensamblada con la interfaz XRAM Intel MCS-51, utilizando sólo dos pines de dirección, lo que permitía mostrar textos en el LCD utilizando órdenes sencillas de tipo MOVX, ofreciendo una opción eficaz de coste ajustado para añadir el mostrar textos en dispositivos.[cita requerida] La configuración de pines es la siguiente:
El voltaje operativo nominal para retroiluminacion led es de 5V a brillo máximo, con atenuación en los voltajes más bajos dependientes de los detalles como en el caso de leds en color. La retroiluminación no led suele requerir voltajes más altos (I.e. electroluminiscencia). Selección de modoEn modo de 8 bits todas las transferencias ocurren en un ciclo del pin de reloj (Enable) con los 8 bits en el bus de datos y los pines RS y RW estables. En modo de 4 bits, el dato se transfiere como pares de 4 bits o "nibbles" en los pines de datos superiores (7-4) con dos ciclos de reloj (Enable) y los pines RS y RW estables. Los cuatro bits más significativos (7-4) tienen que ser escritos primero, seguido por los cuatro bits menos significativos (3-0). La secuencia de reloj alta/baja tiene que ser completada cada vez o el controlador no recibirá correctamente órdenes posteriores. La selección de modo entre 4 u 8 bits requiere una utilización adecuada de comandos. Hay dos consideraciones primarias. Primero, con D3-D0 sin conexión, estas líneas siempre aparecerán en estado bajo (0b0000) para el HD44780. Segundo, los LCD pueden estar inicialmente en uno de los siguientes tres estados:
El estado3 puede ocurrir, por ejemplo, si un comando de control previo se abortó después de enviar sólo los primeros 4 bits de una orden mientras el LCD estaba en modo de 4 bits. El siguiente algoritmo asegura que el LCD está configurado en el modo deseado: La misma orden Function Set se envía tres veces con 8 bits por la interfaz D7-D4 = 0b0011, no importando el valor de los cuatro bits bajos, utilizando pulsos de reloj Enable individuales. Si el controlador está en modo 4 bits los cuatro bits inferiores se ignoran y no pueden ser enviados hasta que la interfaz esté en una configuración de tamaño conocida. el más bajo cuatro bits están ignorados tan no pueden ser enviados hasta la interfaz es en una configuración de medida sabida. Inicializando en estado 1 - configuración de 8 bits Envía el comando Function Set. La orden será ejecutada, configura modo 8 bits. Envía el comando Function Set. La orden será ejecutada, configura modo 8 bits. Envía el comando Function Set. La orden será ejecutada, configura modo 8 bits. Inicializando en estado 2 - configuración de 4 bits, esperando la primera transferencia de 4 bits Envía el comando Function Set. Primeros cuatro bits recibidos. Envía el comando Function Set. Últimos cuatro bits, orden aceptada, configura modo 8 bits. Envía el comando Function Set. La orden será ejecutada, configura modo 8 bits. Inicializando en estado 3 - configuración de 4 bits, esperando la última transferencia de 4 bits Envía el comando Function Set. Últimos cuatro bits, se ejecuta una orden desconocida. Envía el comando Function Set. En modo 8 bits la orden será ejecutada, en caso contrario primeros 4 bits recibidos. Envía el comando Function Set. En modo 8 bits la orden será ejecutada, en caso contrario últimos 4 bits de la orden anterior, se configura el modo 8 bits. En los tres casos para cualquier estado inicial el bus del intgerface está ahora en modo 8 bits, 1 línea, caracteres de 5x8 . Si se desea una configuración diferente al modo 8 bits se debe enviar por el bus un comnado de 8 bits de tipo Function Set para configurar los parámetros completos. Si se desea configurar el modo 4 bits se debe enviar 0b0010 por las líneas de datos D7-D4 con un único pulso de reloj Enable. Ahora el controlador estará en modo 4 bits y una secuencia completa en el bus del comando Function Set en 4 bits (dos ciclos de reloj Enable con los bits de la orden 7-4 y 3-0 en ciclos consecutivos) completará la configuración del registro con Function Set. Conjunto de instruccionesEl conjunto de instrucciones del HD44780 se muestra a continuación:[2]
DDRAM es la RAM de visualización de datos y CGRAM es RAM del generador de caracteres.[3] La DDRAM consiste en 80 bytes (40 por fila) direccionables con un espacio entre las dos filas. La primera fila se corresponde con las direcciones 0 a 39 decimal o 0 a 27 hex. La segunda fila se corresponde con las direcciones 64 decimal a 103 decimal o 40 a 67 hex. La CGRAM es memoria de lectura/escritura utilizada para codificar hasta 8 caracteres en el generador de caracteres. Consta de 64 campos con direcciones de 0 a 3F hex. Cada campo se corresponde con el mapa de 5 bits correspondiente a una fila de píxeles de cada carácter. Cada 8 campos en el CGRAM se corresponden con un carácter. Los 3 bits inferiores de los códigos de carácter de 0-7 y 8-15 seleccionan los grupos de 8 campos en la memoria CGRAM . La lectura y escritura sobre el DDRAM se realiza poniendo la entrada RS a nivel alto durante las transferencias del bus. El DDRAM mosto también ser seleccionado por utilizar el Pone DDRAM la dirección manda cuál selecciona el DDRAM para acceso y también pone la dirección de empezar para DDRAM acceso. Así mismo las operaciones de lectura y escritura sobre la CGRAM se efectúan poniendo la entrada RS a valor alto durante las transferencias del bus. La CGRAM debe ser seleccionada por el comando Set CGRAM que selecciona el acceso a la CGRAM y la dirección a partir de la cual se empieza a acceder. Los tiempos de ejecución mostrados en esta tabla están basado en una frecuencia de oscilador de 270 kHz. La hoja de datos indica que para una resistencia de 91 kΩ a 5V Vcc el oscilador puede variar entre 190 kHz y 350 kHz resultando en tiempos de espera de 52.6 microsegundos y 28.6 microsegundos en vez de 37 microsegundos Si una pantalla con la resistencia recomendada de 91 kΩ se alimenta con 3.3 voltios la velocidad del oscilador será mucho más lenta. Si el bit busy no se utiliza y las instrucciones son cronometradas por la circuitería externa, esto debería ser tenido en cuenta. Juego de caracteresLa ROM original de generación de caracteres del HD44780 contiene 208 caracteres en una matriz de 5×8 puntos, y 32 caracteres en una matriz de 5×10 puntos. Chips compatibles más modernos están disponibles con una resolución más alta, emparejados con pantallas con más píxeles. [cita requerida] Dos versiones de la ROM han sido desarrolladas:[3]
El subconjunto ASCII de 7 bits para la versión japonesa no es estándar: incluye un símbolo de Yen donde se encuentra normalmente el carácter barra inversa y los símbolos de flecha izquierda y derecha en el lugar los caracteres de tilde y borrado. Un número limitado de caracteres hechos a medida puede ser programado en el dispositivo en forma de imagen de mapa de bits utilizando órdenes especiales. Estos caracteres tienen que ser escritos al dispositivo cada vez se enciende, puesto que se almacenan en la memoria volátil de la CGRAM. Véase también
Referencias
Documentación adicional
|
Portal di Ensiklopedia Dunia