Académique Documents
Professionnel Documents
Culture Documents
1- Définition
Une interruption est un événement 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.
À la fin d’exécution du programme d’interruption, le microcontrôleur reprend le programme principal
à l’endroit où il s’est arrêté.
- L’interruption EEI : L’interruption EEI est déclenchée à la fin d’une écriture réussie dans l’EEPROM.
Pour le PIC 16F84A le registre INTCON contient les mêmes bits sauf que le bit 6 est EEIE (EEPROM
Interrupt Enable bit) :
- 1 : Autorise l’interruption due à la fin d’écriture en EEPROM.
- 0 : Interdit l’interruption due à la fin d’écriture en EEPROM.
NB : Par défaut toutes les interruptions sont désactivées. Au reset le registre INTCON = 0000000X.
5- Procédure d’interruption
Le sous-programme d’interruption est déclaré en tant que procédure avec le nom spécial «Interrupt». Cette
procédure s’exécute automatiquement en réponse aux évènements déclencheurs des interruptions activées par
l’utilisateur.
Procedure interrupt ;
Begin
Instruction 1 ;
.……………….;
.………………..;
Instruction n ;
Réactivation de l’interruption (GIE=1) ;
Remise à zéro de l’indicateur correspond à la source d’interruption utilisée (TOIF = 0, INTF = 0 ou
RBIF = 0) ;
End ;
6- L’interruption RB0/INT
L’interruption externe RB0/INT se produit par un front montant ou descendant d’une impulsion
appliquée sur la broche RB0 quand elle est configurée en entrée. Elle est gérée par les trois bits GIE,
INTE, INTF du registre INTCON et le bit 6, INTEDG du registre OPTION_REG :
- GIE : bit de validation globale de toutes les interruptions (1 : oui, 0 : non).
- INTE : bit de validation de l’interruption externe RB0/INT (1 : oui, 0 : non).
- INTF : indicateur correspond à l’interruption externe RB0/INT.
- INTEDG : ce bit permet de choisir le type du front sur lequel l’interruption RB0/INT est déclenchée
(1 : front montant, 0 : front descendent).
Il faut impérativement mettre à 1, le bit GIE et mettre à 0, l’indicateur INTF à la fin du sous
programme d’interruption pour pouvoir revenir au programme principal et autoriser de nouvelles
interruptions sur la broche RB0.
Exemple :
Le montage suivant simule :
- Un programme principal qui permet de compter à chaque fois 5 pièces par lot (compteur modulo 5).
- Une procédure qui permet, suite à l’action sur le bouton Bp, d’arrêter l’exécution du programme
principal (comptage des pièces) et de déclencher une alarme visuelle D pendant 5s (temps nécessaire
pour éliminer manuellement une pièce défaillante). À la fin d’interruption le compteur reprend son
comptage où il s’est arrêté.
Simuler le montage précédent ensuite déterminer l’état logique de chaque bi t du registre INTCON
au cours de déroulement d’une interruption :
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
Valeur de registre INTCON INTCON
GIE EEIE TOIE INTE RBIE TOIF INTF RBIF
Avant l’interruption … … … … … … … … $…….
Au cours de l’interruption … … … … … … … … $…….
Après l’interruption … … … … … … … … $…….
7- Interruption RBI
Cette interruption est provoquée par un changement d’état d’au moins une des broches de RB4 à RB7
configurées en entrée. Elle est gérée par les trois bits GIE, INTE, INTF du registre INTCON :
- GIE : bit de validation globale de toutes les interruptions (1 : oui, 0 : non).
Chapitre A3 : Logique programmé Page 4
Cours 4ème année S.Techniques Génie électrique Mehdi Bouchami
Les broches RB4 à RB7 configurées en entrée sont comparées périodiquement à l’ancienne valeur
mémorisée par la dernière lecture du port B pour générer l’interruption.
Il faut impérativement lire le port B, mettre à 1 le bit GIE et mettre à 0 l’indicateur RBIF à la fin du
sous-programme d’interruption pour pouvoir revenir au programme principal et autoriser de nouvelles
interruptions via les broches RB4 à RB7.
Exemple :
Le fonctionnement normal d’un robot aspirateur est indiqué par un chenillard formé de 8 diodes LEDs (D0
à D7) qui s’allument l’une après l’autre. Elles sont branchées avec le port D du PIC 16F877A.
Le rebot est équipé aussi de 4 capteurs CAV, CAR, CD et CG connectés respectivement aux broches RB4 à
RB7 du port B. Ces capteurs détectent les collisions du rebot avec les objets extérieurs dans toutes les
directions(gauche, droite, avant et arrière).
Le changement d’état d’au moins un des capteurs provoque l’arrêt de chenillard et l’enclenchement de
clignotement 10 fois des LEDs avec une fréquence de 5Hz.
Simuler le montage précédent ensuite déterminer l’état logique de chaque bi t du registre INTCON au
cours de déroulement d’une interruption :
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
Valeur de registre INTCON INTCON
GIE EEIE TOIE INTE RBIE TOIF INTF RBIF
Avant l’interruption … … … … … … … … $…….
Au cours de l’interruption … … … … … … … … $…….
Après l’interruption … … … … … … … … $…….
8- Exercice d’application
Réaliser l'activité 8 pages 106 et 107 du manuel d'activités.