Etape 11 : Software suite
Pour modifier cette option vous n’avez pas besoin de connaître beaucoup de photos, mais je vais vous expliquer l’ébauche de comment cela fonctionne :Configuration et déclarations EQU - laisser ce intacte. Il définit les orientations de l’i/o ports et c’est aussi où sont définies les variables. Déclarations de EQU juste de rendre le programme plus facile à suivre quand je veux revenir en arrière et modifier dans une période d’ans.
Delay - Ceci définit le temps pris par ligne (c.-à-d. combien de temps il attend entre les groupes de 8 LEDs), il est actuellement fixé à instruction 2000 cycles. Comme le PIC fonctionne à 1 million cycles d’instructions par seconde, cela équivaut à 1/500e de seconde. Réduire ce temps si les lettres et les symboles apparaissent allongés lorsque vous le déplacez. Augmenter cette fois si elles semblent écrasés vers le haut.
Pour générer un nouveau retard, j’utilise ceci : http://www.piclist.com/techref/piclist/codegen/delay.htm
N’oubliez pas de sélectionner « instruction cycles », dans les noms de registre temporaire, tapez « del1 del2 del3 », cochez la case « générer de routine » et appuyez sur go. Vous devez seulement coller à partir de la fin de la cblock, comme les variables sont déjà définis dans un autre domaine du code.
main_rtn met simplement à jour les numéros de ligne lorsqu’elle remonte vers le début. Si vous modifiez la longueur du message (voir ci-dessous) n’oubliez pas d’ajuster le nombre de lignes, ou vous n’obtiendrez aucune partie de celle-ci s’affiche.
line_fetch assure le suivi du nombre de lignes restantes et « récupère » les données de la table de correspondance, puis passe à write_to_shift afin qu’elle soit affichée.
La recherche est un tableau contenant les données à afficher. Si au début vous ne le voyez, inclinez votre tête de 90 degrés vers la droite et vous devriez voir une forme de coeur formée par de la 1. Vous ne devez pas supprimer la partie « RETLW B », mais n’hésitez pas à modifier les 1 s et 0 s. Aussi, vous pouvez copier et coller des nouvelles lignes là-dedans, sans oublier de mettre à jour le nombre de lignes dans main_rtn en conséquence.
write_to_shift examine l’octet de données transférées par line_fetch et met à jour le registre à décalage à activer l’affichage.