Cap7
INTERRUPÇÕES
CAPÍTULO VII
INTERRUPÇÕES
7.1. INTRODUÇÃO
O 8051 apresenta 5 tipos de interrupções:
• 2 externas
• 2 timers
• 1 serial
Alguns outros membros da família MCS-51 podem apresentar outras interrupções; por exemplo, o 8052 tem uma interrupção adicional dedicada ao timer 2.
7.2. REGISTROS ENVOLVIDOS
Os registros dedicados às interrupções permitem um controle total sobre as mesmas.
Cada interrupção pode ser habilitada ou desabilitada individualmente. Também é possível desabilitar todas as interrupções de uma só vez. O registro IE (Interrupt Enable) controla a habilitação das interrupções e é ilustrado na figura 7.1.
1
IE
0
habilita
desabilita
7
6
5
4
3
2
1
0
EA
-
-
ES
ET1
EX1
ET0
EX0
EXTERNAL 0
TIMER 0
EXTERNAL 1
TIMER 1
SERIAL
TODAS
Figura 7.1. Registro IE - habilitação de interrupções.
Cada interrupção pode ter dois níveis de prioridade: prioridade alta ou prioridade baixa.
Uma interrupção de alta prioridade pode interromper uma de baixa prioridade mas não acontece o contrário. Uma interrupção não pode interromper uma outra de mesma prioridade. Se forem
MICROCONTROLADORES (MCS-51)
7 - 1
CAPÍTULO VII
INTERRUPÇÕES
recebidas interrupções de diferentes prioridades, a de alta prioridade é atendida primeiro. Se forem recebidas duas interrupções de igual prioridade, determina-se por uma seqüência interna de polling
(consulta) qual será atendida primeiro. Assim, dentro de um mesmo nível de prioridade, existe uma seqüência de atendimento (a seqüência do polling). O conteúdo do registro IP define as prioridades e é ilustrado na figura 7.2.
1
IP
0
prioridade alta
prioridade baixa
7
6
5
4
3
2
1
0
-
-
-
PS
PT1
PX1
PT0
PX0
EXTERNAL 0
TIMER 0
EXTERNAL 1
TIMER 1
SERIAL
Figura 7.2. Registro IP - prioridade das interrupções.
As duas interrupções externas (INT0 e INT1) podem ser acionadas por nível ou por borda de descida (↓). Isto é definido através de dois bits do registro TCON. Este registro também tem
outra