Une façon non standard de contrôler l'affichage sur le contrôleur HD44780 pour le rendu des polices russes avec n'importe quelle table de codes d'affichage.
L'idée même d'un tel contrôle est née de la tâche de russification d'un appareil avec un affichage personnalisé basé sur le contrôleur HD44780. Ayant envisagé la possibilité de remplacer les caractères russes par des caractères latins similaires, j'ai décidé de ne pas jouer avec cela, car cela semble invendable et l'appareil est commercial.
Contrairement aux écrans OLED basés sur le pilote Winstar WS0010, les écrans des pilotes HD44780 ou leurs équivalents n'ont pas de mode de fonctionnement graphique. Mais ils ont la mémoire dite CGRAM, dans laquelle vous pouvez écrire jusqu'à 8 caractères dans une représentation graphique.
L'algorithme lui-même est assez simple:
- Nous démarrons la minuterie de rendu à une fréquence d'interruption acceptable pour la charge du processeur.
- En interruption de minuterie:
- effacer (remplir avec des espaces) tout ce qui était à l'écran;
- charger les informations graphiques requises dans la première 8 familiarité de la mémoire CGRAM du contrôleur;
- nous affichons ces caractères à l'écran à un décalage donné et quittons l'interruption.
Le code ressemble à ceci: Dans ce cas, il est très important de configurer correctement le contrôle de l'affichage et d'utiliser des temps d'échange proches du minimum, ainsi que, si possible, une interface 8 bits avec l'affichage (bien que selon les tests, 4 bits ne charge pas trop le contrôleur). Il est également nécessaire d'utiliser la lecture du signal BUSY sur la ligne D7 de l'écran pour réduire le temps d'attente pour sa réponse.
À quoi cela ressemble sur un affichage réel peut être vu dans la vidéo ci-dessous:
La ligne supérieure est contrôlée par la méthode de redessin rapide et affiche les informations de CGRAM. La ligne contient des caractères graphiquement tirés de la table de codes CP866 avec les codes 0x80-0xFF, les pseudographies sont remplacées par des losanges d'échecs. Dans la ligne du bas se trouvent les symboles du générateur de caractères intégré de l'affichage et à côté de leurs codes.
Les inconvénients de la méthode:
À un taux de rafraîchissement inférieur à 25 Hz, le scintillement est perceptible à l'écran lorsqu'il est vu sous un angle, et lorsque vous regardez directement, il n'est pas visible verticalement.
De plus, le contraste de l'image de l'écran diminue légèrement, mais cela n'est presque pas perceptible.