Étape 3: S’adressant à la matrice de LED
Pour le code d’orteil de tic tac, nous vous devrez être capable de stocker les informations suivantes sur les LEDs :-Si un voyant s’allume ou pas
-Si allumé, que ce soit rouge ou vert
Une façon de faire est de stocker l’État dans un tableau de 9 cellules, à l’aide de trois chiffres pour représenter l’État (0 = désactivé, 1 = rouge, 2 = vert sur). Chaque fois que nous avons besoin de vérifier les États de la LED, par exemple, pour vérifier s’il y a une condition de victoire, nous aurons besoin faire défiler le tableau. Il s’agit d’une méthode efficace, mais plutôt maladroit.
Une méthode plus simple serait d’utiliser deux groupes de neuf morceaux. Le premier groupe de neuf morceaux stocke l’état de marche-arrêt des voyants, et le deuxième groupe de neuf bits stocke la couleur. Puis, manipulant les États LED deviendrait tout simplement une question d’arithmétique du bit et le déplacement.
Voici un exemple. Disons que nous attirer notre grille de toe tic tac graphiquement et tout d’abord utiliser 1 s et 0 s pour représenter l’état de marche-arrêt (1 est sur, 0 est éteint) :
000
000 = matrice avec bas gauche LED allumé
100
100
010 = matrice à diagonale LED allumé
001
Si nous énumérer les cellules de la partie inférieure gauche, nous pouvons écrire les représentations ci-dessus comme une série de bits. Dans le premier cas, ce serait 100000000, et dans le second cas, il serait 001010100. Si nous pensons que ces représentations binaires, puis chaque série de bits peut être condensée en un seul numéro (256 dans le premier cas, 84 dans le second cas). Donc au lieu d’utiliser un tableau pour stocker l’état de la matrice, nous pouvons simplement utiliser un seul numéro !
De même, nous pouvons représenter la couleur de la LED de la même manière (1 rouge, 0 vert). Supposons d’abord que tous les voyants sont allumés (donc l’état de marche-arrêt est représenté par 511). La matrice ci-dessous représentera alors l’état de la couleur des LED :
010 vert, rouge, vert
101 de rouge, vert, rouge
010 vert, rouge, vert
Maintenant, lors de l’affichage de la matrice de LED, il faut simplement faire défiler chacun des bits, tout d’abord dans l’état de marche-arrêt, puis dans l’état de la couleur. Par exemple, disons que notre état de marche-arrêt est 100100100, et l’état de la couleur est 010101010. Voici notre algorithme pour l’éclairage vers le haut de la matrice de LED :
Étape 1. Faire un ajout au niveau du bit de l’état de marche avec un 1 binaire (c’est à dire peu de masquage).
Étape 2. S’il est vrai, le voyant s’allume. Faisons maintenant un ajout au niveau du bit de l’état de couleur avec un 1 binaire.
Étape 3. S’il est vrai, allumer la LED rouge. Si c’est faux, allume la LED verte.
Étape 4. Changer l’état de marche-arrêt et état de couleur, un bit vers la droite (c’est à dire peu de décalage).
Étape 5. Répétez les étapes 1 à 4 jusqu'à ce que tous les bits neuf ont été lus.
Notez que nous allons remplir la matrice en arrière - nous commencer par cellule 9, puis continuez vers le bas à cellule 1.
Aussi, les États de marche-arrêt et la couleur sont stockés comme un type d’entier non signé (mot) au lieu d’un type entier signé. C’est parce que dans peu de décalage, si nous ne faisons pas attention, nous pourrions inadvertenly change le signe de la variable.
Le code pour l’éclairage vers le haut de la matrice de LED est jointe.