Étape 6: Comprendre l’écran LCD
Le Nokia 3310 afficher adresses c’est 84 x 42 pixels avec 0-83 sur l’axe des X et 0-5 sur l’axe Y. L’écran comporte 6 pixels « Banques » sur l’axe des Y, et ces banques sont 8 pixels maximum et 84 pixels de large. Ce faisant, nous pouvons représenter 8 pixels sur l’axe des Y en juste 1 octet ! Comme vous le savez, 1 octet est composé de 8 bits. 11111111 est traduit à 8 pixels solides sur l’axe Y. Le seul inconvénient est que vous devez écrire 8 pixels à la fois et remplacer les données existantes à l’emplacement.
Chaque fois que vous dessinez pixel à l’écran, l’affichage passe automatiquement à l’octet suivant sur l’axe des X. Vous trouverez ce très pratique, car vous n’avez pas à déplacer manuellement chaque fois que vous dessinez quelque chose. Si vous êtes sur le dernier octet d’une banque, l’écran au lieu de cela vous enverra vers le 1er octet sur la rive prochaine, et si c’est sur le bas de l’écran, vous continuerez par le haut.
Notez que 1er bit dans l’octet vous dessinez est le pixel supérieuret 8e bit est le pixel inférieur!
Pour écrire les pixels à l’écran, vous utilisez la fonction LCD_writeData (données) sur le microcontrôleur. Ceci dessinera 8 pixels sur l’emplacement actuel de XY, écrasant les pixels existants à cet endroit.
Vous pouvez également envoyer des commandes à l’écran, en utilisant la fonction LCD_writeCommand (données) . Il n’ya pas trop de commandes, que vous pouvez envoyer à l’écran qui présentent un intérêt autre que l’initialisation, cependant, les commandes, que vous pouvez utiliser sont :
* 0b00001000 - affichage écran vide (n’efface pas l’écran)
* 0b00001100 - mode Normal (désactive invert les modes mode et blanc/remplissage)
* 0b00001001 - affichage plein écran (n’efface pas l’écran)
* 0b00001101 - mode d’inversion (inverse de l’écran)
Pour passer à des endroits de XY, vous aussi utiliser les commandes, mais nous avons une fonction qui le fait pour nous : LCD_gotoXY (X, Y), mais dans le cas où vous en avez besoin, ils sont :
* 0b01000YYY - se déplace à 0bYYY sur l’axe des Y (remplacer Y avec la valeur binaire de votre choix)
* 0b1XXXXXXX - films à 0bXXXXXXX sur l’axe des X (remplacer X par valeur souhaitée)