Leçon N°10
LES INTERRUPTIONS EN MIKROC
I- INTRODUCTION
Une interruption est un événement imprévisible qui provoque l’arrêt d’un programme en cours
d’exécution pour aller exécuter un autre programme appelé programme (ou routine) d’interruption. A
la fin du programme d’interruption, le microcontrôleur reprend le programme principal à l’endroit où
il s’est arrêté.
On distingue deux types d’interruptions :
Les interruptions externes, qui sont déclenchées lorsqu’un événement extérieur se produit tels
que le changement d’état d’une entrée destinée à l’interruption.
Les interruptions internes, qui sont déclenchées par le déroulement du programme tel que le
résultat d’un calcul ou le débordement d’un Timer.
Toute interruption est gérée à l’aide de 3 bits :
Un bit indicateur ou drapeau (Flag bit). Ce bit est mis à 1 lorsque l’interruption
correspondante survient.
Un bit d’activation (Enable bit). Ce bit permet d’activer ou de désactiver l’interruption
correspondante.
Un bit d’activation globale (Global Enable bit). Ce bit permet d’activer ou de désactiver
toutes les interruptions.
Ces bits sont regroupés suivant le microcontrôleur cible dans des registres appelés registres de
configuration des interruptions tels que : INTCON, PIE1, PIE2, PIR1 et PIR2. Le nombre de
sources d’interruptions dépend du microcontrôleur utilisé.
En MikroC, le sous-programme d’interruption est déclaré en tant que fonction avec le nom spécial «
Interrupt ». Cette fonction s’exécute automatiquement en réponse aux évènements déclencheurs des
interruptions activées par l’utilisateur.
Mr Nizar TOUJENI 95
Microcontrôleurs Iset de Nabeul
Mr Nizar TOUJENI 96
Microcontrôleurs Iset de Nabeul
1. Exemple 1
Soient 4 LEDs connectés sur les pins RA0, RA1, RA2 et RA3 du Port A. Utiliser l’interruption sur
(RB4-RB7) pour faire basculer l’état des LEDs (RB4 commande RA0, RB5 commande RA1 et ainsi
de suite).
Mr Nizar TOUJENI 97
Microcontrôleurs Iset de Nabeul
2. Exemple 2
Utiliser l'interruption pour changer la vitesse de clignotement de la diode Led connecté sur la pin
RA0 selon le schéma de la figure ci-dessous.
Mr Nizar TOUJENI 98
Microcontrôleurs Iset de Nabeul
3. Exemple 3
- Si on appui sur RB4 alors le décompteur réalise le cycle suivant : F, E, D, …, 0
- Si on appui sur RB5 alors le décompteur réalise le cycle suivant : A, 9, 8, …, 0
- Si on appui sur RB6 alors le décompteur réalise le cycle suivant : 5, 4, 3, …, 0
- Sinon le décompteur réalise le cycle par défaut : 7, 6, 5, …, 0.
Mr Nizar TOUJENI 99
Microcontrôleurs Iset de Nabeul