L'essentiel d'Assembleur

Comprendre le clignotement d'une LED sur interruption

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Dans un premier temps, vous allez comprendre le fonctionnement du timer 0 pour faire clignoter votre LED à fréquence de 0,5Hz.
04:15

Transcription

Dans cette vidéo, nous allons donc faire clignoter une LED à la fréquence de 0,5 secondes. Alors, pour cela je m'appuie sur le Lab9. Et puis, nous allons voir que nous allons pouvoir utiliser un nouveau mot équivalent qui est justement EQU. Alors EQU, si on veut savoir à quoi il correspond toujours aller chercher dans ce fichier et vous tapez donc en faisant Ctrl+F EQU et là on vous donne la syntaxe. En fait EQU est assez peu différent de define, dans l'absolu c'est pour vous montrer qu'il existe aussi. Alors par contre, là dans notre programme, nous n'allons pas mettre notre microcontrôleur en mode « sleep » durant donc la phase de fonctionnement du programme principal, puisque sinon il va geler notre timer. Alors, comment calculer les paramètres du timer ? Alors, on sait que nous restons à 4 MHz, donc, ça nous fait une instruction par microseconde. Pour cela, on peut donc consulter la page 145 que j'ai moi-même recopiée en fait dans le programme source. Alors, OPTION_REG. Vous voyez que si vous voulez cette fois-ci une interruption donc sur le timer0, alors, ces deux bits qui sont ici ne nous importent peu puisque nous n'allons pas les utiliser. Donc, nous allons par contre utiliser ces bits qui sont ici. Alors, nous allons commencer par mettre celui-ci à zéro, parce que nous allons compter les éléments internes au CPU. De ce fait, forcément ce bit qui est ici ne sert à rien. Nous allons assigner le prescaler cette fois-ci au timer0. On va utiliser le prescaler, et puis après, avec quel coefficient ? Un débordement sur deux, un débordement sur quatre, un débordement sur huit sera compté, ainsi de suite, comme pour le Watchdog dans les chapitres précédents. Donc, voilà en ce qui concerne en fait notre configuration. Alors, nous avons la configuration de l'interruption aussi. Alors là, je vous renvoie page 72 ou là, vous devez mettre GIE 1 et TMR0IE à 1. Attention, ici ce n'est pas un O mais bien un zéro. Faites attention à l'intérieur de votre programme source parce que cela est souvent une grande source d'erreurs et on peut chercher très, très, très longtemps. Et puis, après maintenant, il faut savoir comment on va configurer notre timer. Alors, si on décide de compter vraiment en étant au taquet, c'est-à-dire on incrémente notre timer à chaque fois qu'on a compté 256 événements et qu'on crée une interruption une fois que notre timer a débordé, donc, ça nous fait 256 x 256, soit 65.536 microsecondes. Alors, puisqu'on veut 500.000 microsecondes, on divise le tout. On voit que ça nous fait un chiffre à virgule, évidemment. Donc, on va passer cette fois, mais il va nous rester quelque chose là. Et ce quelque chose, ça va être un petit peu embêtant. Donc, moralité quand on va faire la différence en passant sept fois, on va s'apercevoir qu'il va nous manquer 41.248 microsecondes. La solution serait de faire perdre du temps un petit peu par avance à notre interruption de cette valeur là. Donc, pour ce faire en fait, on va travailler par excès. Alors, on va passer huit fois. Cette fois-ci, on va dépasser. Mais, on veut 500.000 microsecondes et en passant huit fois, on va passer à 524.288. Donc, la différence va être de 24.288. Mais, comme nous avons un prescaler en fait qui va retrancher tous les 256, hé bien, nous allons faire 24.288 divisé par 256 et nous avons 94,875. Donc, notre 0,875 là, on ne pourra pas faire mieux hormis, si on vient rajouter 25 NOP. En pratique en fait, vu qu'on a des instructions goto on ne pourra en mettre que 20. Donc, nous allons précharger notre timer en fait à la valeur 95 qui nous été donnée ici.

L'essentiel d'Assembleur

Plongez-vous dans le langage bas niveau, nommé Assembleur. Abordez les notions de jeu d'instructions, de pipeline, de registres, de mode d’adressage, de compteur de programme, etc.

4h52 (57 vidéos)
Aucun commentaire n´est disponible actuellement
Logiciel :
Spécial abonnés
Date de parution :26 sept. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !