Académique Documents
Professionnel Documents
Culture Documents
UP Embarqué
PLAN
2
Introduction
3
Application dans les systèmes embarqués
• La Domotique:
Capteur de fumée
4
Définition des interruptions
Evénement
déclencheur INTERUPTION
5
Les sources d’interruption dans le pic16f84
3 Timer 0
1
4 EEPROM
2
66
L’ interruption externe dans le pic16f84
externes
7
Organigramme général sans interruption
Fin
Fin
L’appel de la fonction d’interruption change d’emplacement selon le changement d’état 9
de la source d’interruption
Configuration de l’interruption sur RB0
• Le programmateur, afin d’utiliser le mécanisme d’interruption dans son système, doit faire sa
configuration, via les registres INTCON (Interruption Configuration) et OPTION_REG
OPTION_REG
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
INTEDG
RB0/INT edge
0 : le sens de la transition qui provoque l’interruption, soit le passage de 1 vers 0
1 : le sens de la transition qui provoque l’interruption, soit le passage de 0 vers 1 8
Exemple de configuration de l’interruption sur RB0
• Le programmateur, afin d’utiliser le mécanisme d’interruption dans son système, doit faire sa
configuration, via les registres INTCON (Interruption Configuration) et OPTION_REG
1 1 E : Enable
OPTION_REG
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
1
INTEDG
le sens de la transition qui provoque l’interruption, soit le passage de 0 vers 1
8
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
INTCON
GIE = 1 INTE =1 INTF = 1
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
OPTION_REG
INTEDG = 1
Début Début
CONFIGURARTION
Configurer les entrées.
ROUTINE D’INTERRUPTION
Configurer les sorties.
Instruction 1
INTCON.GIE = 1
Instruction 2
INTCON.INTE = 1
.
OPTION_REG.INTEDG= 1
.
.
INITIALISATION Instruction n
Initialiser les sorties INTCON.INTF=0
PROGRAMME PRINCIPAL
Fin
Instruction 1
Changement d’état de Instruction 2
RB0 Instruction3
Fin 12
Manipulation
• Soit le montage suivant:
9
Organigramme
Programme Principal (main) Interruption (fonction)
Début
CONFIGURARTION
RA0 , RA1 : sorties
RB0 : entrée Début
INTCON.GIE = 1
INTCON.INTE = 1
OPTION_REG.INTEDG= 1
ROUTINE D’INTERRUPTION
Eteindre RA1
INITIALISATION Clignoter RA0
Leds éteintes Clignoter RA0
INTCON.INTF=0
PROGRAMME PRINCIPAL
Clignoter RA1
Fin
Clignoter RA1
Clignoter RA1
Clignoter RA1
Fin
14