Escolar Documentos
Profissional Documentos
Cultura Documentos
Unidade 1 - Interrupção
Unidade 1 - Interrupção
Interrupção
Chave push
bottom
Monitoração de entrada de dados – Espera Ocupada
Monitora por
Muda_estado
espera ocupada
configura IO N
Led Sistemas Digitais III
ligado liga led
Programação C
Botão N
pressionado para MCU (MSP430)
desliga led
Muda_estado
fim
Interrupção
configura IO N
habilita interrupção Led
liga led
ligado Sistemas Digitais III
processo
básico
Programação C
desliga led para MCU (MSP430)
fim
Programação C
Identifica a origem para MCU (MSP430)
do evento Rotina de
tratamento
ISR (interrupt service
Solicitação
de Obtém o endereço da
routine) Interrupção
interrupção rotina de tratamento
(ISR)
Restaura o conteúdo
dos registradores
▪ Fontes de interrupção:
– Eventos software: instrução, ocorrência de overflow, tentativa de executar instrução
não definida, etc.
– Eventos hardware: pedidos dos dispositivos de I/O, assíncronos em relação a CPU, Sistemas Digitais III
falha de alimentação ou erro de paridade em memória.
Programação C
para MCU (MSP430)
▪ As interrupções são usadas para:
– Permitir uma resposta rápida da CPU a um evento específico;
– Minimizar paradas para o processamento/tratamento de outras tarefas. Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
• Como já estudamos, os terminais de uma porta podem atuar como entrada ou saída, o
que torna necessário mais de um registrador (P1IN e P1OUT) associado a mesma.
MSP430F149 - Monitoração de entrada de dados – Espera Ocupada
em função do hardware.
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
MSP430F149 - Monitoração de entrada de dados – Interrupção
Vcc
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Programação C
para MCU (MSP430)
Interrupção
MSP430F149 - Monitoração de entrada de dados – Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
MSP430F149 - Monitoração de entrada de dados – Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
MSP430F149 - Monitoração de entrada de dados – Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
MSP430F149 - Monitoração de entrada de dados – Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
MSP430F149 - Monitoração de entrada de dados – Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
MSP430F149 - Monitoração de entrada de dados – Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
MSP430F149 - Monitoração de entrada de dados – Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
0
1
MSP430F149 - Monitoração de entrada de dados – Interrupção
P1.0
P1.4
P1.1
P1.2
P1.5
P1.6
P1.3
P1.7
Sistemas Digitais III
Programação C
para MCU (MSP430)
Interrupção
MSP430F149 - Monitoração de entrada de dados – Interrupção
P1IN - Registrador de Entrada (Input Register): Utilizado para a leitura do estado dos pinos.
Endereço: 20H.
Condição inicial: ?. Sistemas Digitais III
P1OUT - Registrador de Saída (Output Register): Utilizado para escrita de valores nos Programação C
pinos. para MCU (MSP430)
Endereço: 21H.
Condição inicial: 0.
Interrupção
P1DIR - Registrador de Direção (Direction Register): Utilizado para configurar a direção
individual dos pinos da porta, se o pino será utilizado como entrada ou saída.
Bit = 0: Pino configurado como Entrada .
Bit = 1: Pino configurado como Saída.
Endereço: 22H.
Condição inicial: 0.
MSP430F149 - Monitoração de entrada de dados – Interrupção
Programação C
• Diferenças das técnicas de monitoração de entrada? para MCU (MSP430)
Interrupção
• Quando aplicar uma técnica ou outra?
Monitoração de entrada de dados – Vetor de Interrupção
• O que precisamos fazer para configurar a interrupção associada a um pino do MCU:
1. Configurar como entrada o pino que receberá a informação;
2. Definir se a interrupção será detectada por borda de subida (0) ou descida (1);
3. Limpar flag de interrupção do respectivo pino e
4. Habilitar a interrupção do respectivo pino. Teste desabilitar flag de interrupção (EX02
Sistemas Digitais III
Interrupcao).
Programação C
• O que precisamos fazer para o que sistema consiga tratar a interrupção: para MCU (MSP430)
1. Escrever a função de tratamento da interrupção;
2. Associar a função escrita ao respectivo vetor de interrupção do dispositivo utilizado,
no exemplo pisca_LED_Interrupt, o vetor da Porta2 e Interrupção
3. Na função de tratamento de interrupção, limpar o flag de interrupção do respectivo
pino. Caso esta ação NÃO seja realizada o sistema gerará uma nova interrupção
enquanto este flag não for resetado.
4. Habilitar o flag geral de interrupção (GIE) da CPU. Teste desabilitar flag Geral de
interrupção (EX02 Interrupcao).
Monitoração de entrada de dados – Vetor de Interrupção
• Porque necessito além de habilitar a interrupção do dispositivo (Porta 2), também
habilitar a interrupção geral do sistema (GIE)?
NMI / Falha do oscilador / Violação de acesso flash NMIFG / OFIFG / ACCVIFG (Notas 1 e 3) Não Mascarável 0FFFCH 14