Académique Documents
Professionnel Documents
Culture Documents
TRAVAUX PRATIQUES N° : 7
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.
Un bit indicateur ou drapeau (Flag bit). Ce bit est mis à 1 lorsque l’interruption correspondante
survient.
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é.
Le registre INTCON (INTerrupt CONtroller) est le registre principal de contrôle et de gestion des
interruptions.
EXEMPLES
1 = Autorise toutes les interruptions non masquées par leur bit individuel.
1 = Autorise les interruptions causées par les périphériques non masquées par leur bit individuel
dans les registres PIE1 et PIE2 (PIE : Peripheral Interrupts Enable)
Ce bit est un indicateur ou drapeau (Flag); il est mis à 1 si une interruption est générée par le
débordement du TMR0.
1 = Le Timer a débordé.
Bit 0: RBIF = RB Port Change Interrupt Flag bit. Ce drapeau doit être remis à zéro par le programme.
1 = Quand au moins une entrée du port B (de RB4 à RB7) a changé d’état.
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.
MANIPULATION :
Exercice 7.1 :
On donne le montage de la figure suivante. Écrire un programme qui accepte une interruption sur RB0
et à chaque impulsion sur le bouton poussoir B0 inverse l’état de la diode LED.
1. On désire réaliser un compteur binaire 8 bits et afficher le résultat sur 8 diodes LED. Pour réaliser ce
cahier des charges, on propose le circuit de la figure suivante. Écrire un programme en MikroC qui à
chaque impulsion sur le bouton lié à l’entrée RB0 incrémente le compteur et affiche le résultat sur le
PORTD.
2. Modifier le programme précédent afin d’afficher le résultat du comptage sur un afficheur LCD selon
le montage suivant :