Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fontes de Interrupção
Todo pedido de interrupção desvia para o endereço 004h, por isso, o software deve
verificar nos bits sinalizadores de interrupção, qual está setado (1), determinando a
fonte de interrupção. Estes bits sinalizadores são os bits RBIF, INTF, T0IF contidos
no registro INTCON e o EEIF, contido no registro EECON1, como já foi visto.
Os bits sinalizadores, mais comumente chamados de FLAGs, sempre serão ativados
pela respectiva fonte de interrupção, mesmo o GIE estando desabilitado, ou seja,
em 0.
Com base no parágrafo anterior, antes de habilitar uma interrupção, o usuário
deve certificar se a mesma já não está sendo requisitada, pois seu atendimento pode
ser indesejável.
Interrupção Externa:
A interrupção externa, pino RB0/INT, é sempre ativada por borda: podendo ser
por borda de subida, colocando nível lógico 1 no bit INTDG (bit 6 do
OPTION_REG) ou por borda de descida colocando nível lógico 0 no bit INTDG.
Quando o tipo de borda escolhida aparecer no pino RB0/INT, o bit INTF (bit 1 do
registro INTCON) será levado ao nível lógico 1. Esta interrupção é sempre
habilitada pelo bit de controle INTE (bit 4 do INTCON), se 0 está desabilitada, se 1
está habilitada. O bit de flag INTF deve ser zerado por software antes de retornar
da interrupção.
A interrupção externa pode tirar o processador do modo SLEEP, somente se o bit
INTE estiver habilitado (em 1) antes do processador entrar no modo SLEEP. O
estado do bit GIE definirá como o processador se desviará para o vetor de
interrupção, seguido de um Wake-up (acordar, sair do modo SLEEP).
Interrupção pelo Timer 0
Um estouro no TMR0 (FF 00h ou 255d 000d) irá levar a nível lógico 1 o bit T0IF
(bit 2 do INTCON). Se a interrupção no bit T0IE (bit 5 do INTCON) estiver
habilitada (1), o processador desviará para o vetor de interrupção. Caso contrário
(0), somente ocorrerá a sinalização. O bit T0IF deve ser zerado por software.
Interrupção no PORTB
Uma mudança na entrada em um dos pinos RB4 a RB7 do PORTB , levará a nível
lógico 1 o bit RBIF (bit 0 do INTCON). Se o bit de habilitação de interrupção RBIE
(bit 3 do INTCON) estiver em 1, desviará o processador para o vetor de
interrupção. O bit de flag RBIF deve ser zerado por software.
Nota: Para que a mudança de estado, nos pinos de I/O, seja reconhecida, a largura
do pulso deve ser no mínimo o tamanho de um ciclo de máquina (Tcy).
Interrupção pela Escrita na EEPROM
Ao completar o ciclo de escrita de dados na EEPROM, o bit de flag EEIF (bit 4 do
EECON1) será levado ao nível lógico 1. Se o bit de interrupção EEIF (bit 6 do
INTCON) estiver habilitado (1), a CPU desviará para o vetor de interrupção.