Una forma no est谩ndar de controlar la pantalla en el controlador HD44780 para renderizar fuentes rusas con cualquier tabla de c贸digos de pantalla propia.
La idea misma de tal control naci贸 de la tarea de rusificaci贸n de un dispositivo con una pantalla personalizada basada en el controlador HD44780. Habiendo considerado la opci贸n de reemplazar los caracteres rusos con caracteres latinos similares, decid铆 no meterme con esto, porque parece no comercializable y el dispositivo es comercial.
A diferencia de las pantallas OLED basadas en el controlador Winstar WS0010, las pantallas en los controladores HD44780 o sus equivalentes no tienen un modo de funcionamiento gr谩fico. Pero tienen la llamada memoria CGRAM, en la que puede escribir hasta 8 caracteres en una representaci贸n gr谩fica.
El algoritmo en s铆 es bastante simple:
- Iniciamos el temporizador de renderizado a una frecuencia de interrupci贸n aceptable para la carga del procesador.
- En temporizador de interrupci贸n:
- borrar (completar con espacios) todo lo que estaba en la pantalla;
- cargar la informaci贸n gr谩fica requerida en los primeros 8 familiaridad de la memoria CGRAM del controlador;
- mostramos estos caracteres en la pantalla en un desplazamiento determinado y salimos de la interrupci贸n.
El c贸digo se parece a esto: En este caso, es muy importante configurar adecuadamente el control de la pantalla y usar tiempos de intercambio cercanos al m铆nimo, as铆 como, si es posible, una interfaz de 8 bits para la pantalla (aunque seg煤n las pruebas, 4 bits no carga demasiado el controlador). Tambi茅n es necesario usar la lectura de la se帽al BUSY en la l铆nea D7 desde la pantalla para reducir el tiempo de espera para su respuesta.
C贸mo se ve en una pantalla real se puede ver en el siguiente video:
La l铆nea superior se controla mediante el m茅todo de redibujo r谩pido y muestra informaci贸n de CGRAM. La l铆nea contiene caracteres dibujados gr谩ficamente de la tabla de c贸digos CP866 con c贸digos 0x80-0xFF, los pseudogr谩ficos son reemplazados por rombos de ajedrez. En la l铆nea inferior se encuentran los s铆mbolos del generador de caracteres incorporado de la pantalla y al lado de sus c贸digos.
Las desventajas del m茅todo:
A una frecuencia de actualizaci贸n inferior a 25Hz, el parpadeo se nota en la pantalla cuando se ve en 谩ngulo, y cuando se mira directamente, no es visible verticalmente.
Adem谩s, el contraste de la imagen de la pantalla cae ligeramente, pero esto casi no se nota.