INTRODUCTION aux INTERRUPTIONS.
Il existe des interruptions materielles et logicielles.
Ces dernières permettent lorsque l'evenement arrive de le traiter sans l'attendre.
Lorsque l'on a au moins deux traitements à effectuer, au moins l'un des 2 est traite par interruption, voire tous les traitements.
Interruptions materielles :
Une patte du microprocesseur est directement affectee par l'interruption. Un front ou un niveau logique declenche l'interruption.
Interruptions Logicielle
Un bit concernant un registre provoque une interruption. Ce bit s'active par un evenement logiciel.
Par exemple lorsque l'on reçoit une donnee d'un modem, le registre de la communication vers le modem est rempli, une interruption est generee, le programme d'interruption lit la donnee. Ainsi entre deux receptions d'octets on peut effectuer une autre tache (par emple traiter les info du clavier de la souris, ect…)
Vector adress Interrup source CCR
Mask bitLocal mask FFC0, C1 –
FFD4,D5Reserve - - FFD6, D7 SCI Serial system
SCI Receive data Register full
SCI Receiver Overrun
SCI Transmit Data Register Empty
SCI Transmit Complet
I SCIE FFD8, D9 SPI Serial Transfer Complete I SPIE FFDA, DB Pulse Accumulator Input Edge I PAII FFDC, DD Pulse Accumulator Overflow I PAOVI FFDE, DF Timer Overflow I TOI FFE0, E1 Timer Input Capture 4/Output Compare 5 I I4/O5I FFE2, E3 Timer Output Compare 4 I OC4I FFE4, E5 Timer Output Compare 3 I OC3I FFE6, E7 Timer Output Compare 2 I OC2I FFE8, E9 Timer Output Compare 1 I OC1I FFEA, EB Timer Input Capture 3 I IC3I FFEC, ED Timer Input Capture 2 I IC2I FFEE, EF Timer Input Capture 1 I IC1I FFF0, F1 Real-Time Interrupt I RTII FFF2, F3 IRQ (External Pin) I NONE FFF4, F5 XIRQ Pin X NONE FFF6, F7 Software Interrupt NONE NONE FFF8, F9 Illegal Opcode Trap NONE NONE FFFA, FB COP Failure NONE NOCOP FFFC, FD Clock Monitor Fail NONE CME FFEF, FF RESET NONE NONE
Vector adress 2 adresses où l'on stocke l'adresse d'interruption Mask Bit Type d'interruption Local mask I Masque par bit I (Masque general) X Masque par bit X None Non masque Local Mask Interruption autorisee localement à titre individuel
Lors d'une interruption autorisee, le micro fini par executer l'instruction en cours, sauvegarde A, B, X et Y dans pile ainsi que la prochaine adresse de la prochaine instruction à executer s'il n'a pas ete interrompu. Lorsque le programme execute le sous programme d'interruption, le Bit I (masque d'interruption) est positionne à 1 (c'est à dire plus d'interruption autorisee). Lors du retour du sous programme d'interruption il est repositionne à zero.Gestion d'un feu tricolore avec pieton prioritaire
Giampiero D'AQUINO
Enseignant en Genie Electronique