Les
images qui s'affichent dans le programme sont incluses sous la
forme de tableau de constantes dont les valeurs sont directement
transmises à l'afficheur. L'image primaire est d'abord
générée avec un logiciel de dessin classique
en mode 16 bits (65536 couleurs) et sauvegardée en format
BMP non compressé. Ensuite, avec l'aide d'un outil de conversion,
le fichier BMP est converti en un fichier de valeurs binaires
où chaque donnée de 16 bits correspond au code couleur
de la palette de l'afficheur. Même si l'afficheur ne gère
la couleur que sur 12 bits soit 4096 couleurs distinctes, il est
plus simple de faire deux cycle d'écriture (mode 16 bits)
pour un pixel, l'afficheur assurant automatiquement la convertion
en 12 bits que de faire un cycle et demi (12 bits) pour un pixel.
Le principal inconvénient vient de la taille des images
qui sature vite la zone mémoire du PIC, par exemple une
image de la totalité de l'écran soit 128 x 128 pixel
sur 16 bits a une taille de 128 x 128 x 2 octets soit 32 Ko c'est
à dire la moitié de la taille mémoire disponible...
Il faut dont user avec parcimonie des images si on ne veux pas
faire appel à une mémoire extérieure au PIC.
D'autant qu'il ne faut pas oublier que chaque caractère
des polices est aussi un dessin distinct. C'est la raison qui
m'a obligé pour l'affichage de l'heure en mode segment
à user d'astuce pour ne pas mémoriser 10 caractères
distincts mais uniquement les différentes combinaisons.
On
peut aussi réduire le taille des données pour les
caractères en choisissant des polices (ou segments) monochromes.
Dans ce cas, la valeur mémorisée n'est plus 16 bits
mais 1 bits par pixel. Ce n'est qu'au moment du transfert vers
l'afficheur qu'on écrit les 16 bits de la couleur si le
pixel doit être allumé.
Si
vous êtes intéressé par cette réalisation,
que vous souhaitez une personnalisation du programme ou des images,
ou un PIC déjà programmé et testé,
contactez moi pour l'association
Action2003, tout est possible.
|