Académique Documents
Professionnel Documents
Culture Documents
5 sources:
2 externes: INTO (P3.2) INT1 (P3.3)
2 générées par les timers (timer0 et timer1)
1 générée par le port série
Adresses de début des sous programmes d’interruptions:
Bit positionné adresse source
IE0 0003H INT0
IE1 0013H INT1
TF0 000BH TIMER 0 remarque: 8 octets séparent ces adresses
TF1 001BH TIMER 1
0023H PORT SERIE
Lorsqu’une entrée d’interruption est activée, le microcontrôleur exécute le sous programme correspondant (après avoir
sauvegardé l’adresse de retour dans la pile et positionné un indicateur interne) lorsque l’instruction en cours est terminée si:
- l’interruption est autorisée
- un sous programme d’interruption de priorité égale ou supérieure n’est pas en cours
- l’instruction en cours n’est pas RETI ou une opération de lecture ou d’écriture dans les registres IE ou IP
Masques d’interruption
IE (0A8H) EA - ET2 ES ET1 EX1 ET0 EX0
port série timer1 INT1 timer0 INT0
TCON (88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
Interruptions des timers
Lorsqu’un compteur associé à un timer (timer0 ou timer1) passe de 11111 ……. 1111 à 0000………0000 ( débordement), le
bit TF0 ou TF1 est positionné à 1. Ces bits sont remis automatiquement à 0 au départ du sous programme d’interruption
(si l’interruption correspondante est autorisée).
TCON (88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
Les timers
Le timer0 et le timer1 du microcontrôleur 8051 permettent le comptage du temps et par conséquent la programmation de
temporisation de durée bien précise.
TIMER 1 TIMER 0
GATE= 0 timer x validé (lancé) si TRx = 1 (TRx est un bit du registre TCON)
GATE= 1 timer x validé si TRx = 1 et broche INTx = 1
C/T = 0 fonction temporisateur (mode timer): utilise l’horloge de commande du microcontrôleur, le compteur interne
est incrémenté à chaque cycle machine
C/T = 1 fonction compteur: horloge injectée sur la broche Tx (P3.4 : T0 et P3.5 : T1)
M1 M0 MODE
0 0 compteur 13 bits
0 1 compteur 16 bits
1 0 compteur 8 bits à rechargement automatique. THx est rechargé dans TLx quand
ce dernier repasse à 0
1 1 timer0: TL0 compteur 8 bits contrôlé par bits de contrôle du timer0
TH0 compteur 8 bits contrôlé par bits de contrôle du timer1
timer1: à l’arrêt
TCON (88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0