L'essentiel d'Assembleur

Faire clignoter une LED par interruption du timer 1

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Vous allez mettre en œuvre l'interruption du timer 1. Il s'agit d'effectuer l'interruption toutes les secondes et un changement d'état des LED en sortie.
03:46

Transcription

Dans cette vidéo, nous allons mettre en œuvre une interruption en utilisant le timer1. Le but va être de faire clignoter une LED à 0,5 seconde d'intervalle. Pour cela, nous allons aller dans la zone des variables initialisées et puis on va mettre des équivalences. Donc j'ai un oscillateur de 4 MHz, pas de problème, je vais mettre FCY avec 4 millions. Et puis HALFSECND, 2, on va compter une demi-seconde. Et après, on va mettre notre prescaler à 64. Et vous allez voir, ça va tomber juste comme il faut. Ici, nous avons donc notre global_reset, init_PORTs, - d'ailleurs, j'ai oublié de préciser le init_wreg, mais ce n'est pas très important, vu qu'ici nous n'avons qu'un seul fichier, qui a besoin d'être vu par lui-même, donc ce n'est pas trop un problème. Et par contre, ici, j'attire votre attention sur le T1Interrupt, qui est un mot réservé, comme reset. Alors, vous allez me dire : « comment on sait ça ? » Et bien dans ce cas-là, en fait, il faut aller voir directement dans le fameux fichier ASM30. À partir de là, justement, on vous donne un exemple de comment écrire vos interruptions. Et puis après, on vous donne les mots-clés, en fait, parce qu'il y a un mot-clé par interruption. Et vous ferez bien attention de mettre un double underscore, ce qui n'est pas fait ici, mais ce qui est montré ici. Voilà, donc, en ce qui concerne ce mot réservé. Donc nous avons l'initialisation de notre pile, on fait l'appel pour l'initialisation de nos registres de travail, de nos PORTs, et maintenant, nous allons aller directement sur l'initialisation de notre timer1. Donc, déjà, on va effacer le contenu du timer1, on va effacer T1CON, et puis on va juste mettre le bit 5 de T1CON à 1, qui va nous permettre d'avoir un prescaler de 64. À partir de là, en fait, le compilateur est tellement souple que vous pouvez lui faire faire des opérations en littéral avant de transférer le contenu dans un des registres de travail. Alors par exemple, ici : nous avons donc une fréquence de 4 Mhz, on divise par 64, et on va basculer une demi-seconde sur 2. Donc tout ça, en fait, se fait directement. C'est vraiment quelque chose qui est d'une grande souplesse. Après, il n'y a plus qu'à mettre, justement, ce débordement dans PR1. On va autoriser, cette fois-ci, l'interruption par le biais de IEC0. Et on va mettre à 1 le timer1, pour lui dire qu'il est autorisé à l'interruption et on va effacer le flag. Et puis, surtout, on va le mettre en route. Donc bset F, et puis le TON dans T1CON. Voilà pour l'initialisation et puis la routine d'interruption, donc, avec ce mot-clé, et toujours avec deux points. On fait quoi ? Une sauvegarde de context automatique, en faisant push.d W4. C'est noté à l'intérieur du fichier ASM30. Et puis, à partir de là, on fait quoi ? Eh bien, on va effacer notre flag, première chose, et puis on va faire un btg LATA. Donc on va changer d'état à chaque fois que l'on va passer à l'intérieur de l'interruption. Vérifions un peu ceci dans Proteus. Donc j'ai déjà entré le cadencement et le programme à l'intérieur. Et là, dès que nous simulons, nous avons bien, donc, en fait, un clignotement qui se fait tout les 0,5 secondes.

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 !