Interrupciones Del Sistema - EDUPIC 16F628 Manual Del Usuario

Tabla de contenido

Publicidad

a la tabla mostrada en la sección 7.2. En total, se pueden generar períodos de espera de hasta un máximo de 256 x 256 ciclos de
instrucción ó 65,536 microsegundos = 65.5 milisegundos (operando a 4 Mhz).
Si el usuario desea manejar el registro con base en el sistema de interrupciones, la interrupción TMR0 se genera cuando
el registro pasa de una valor de FFH a 00H. El mecanismo de operación de las interrupciones, usa los bits 2 y 5 del registro INTCON
y se explica en el capítulo siguiente. Debe de tomarse en cuenta que si el procesador se encuentra en el modo SLEEP, entonces la
interrupción TMR0 no despertará al procesador, ya que es deshabilitada durante ese modo.

10. Interrupciones del sistema.

El chip 16F628 cuenta con múltiples fuentes de interrupción asociadas a la ocurrencia de alguno de los siguientes
eventos y que permiten implementar un software del tipo multitareas en su aplicación:
-
La interrupción externa en el pin RB0/INT del chip, con flanco ascendente o descendente.
-
El overflow en el temporizador 0, el temporizador 1 ó el temporizador 2.
-
Cuando en el USART, el registro de recepción está lleno o el de trasmisión vacío.
-
Cualquier cambio de nivel en los pines RB4...RB7
-
Cuando se ha completado la escritura de un dato en la EEPROM.
-
Interrupción del módulo CCP, CAPTURA/COMPARA/PWM
-
Interrupción del módulo comparador.
-
Interrupción generada por el ciclo de escritura en la EEPROM.
El vector de inicio de la subrutina de atención a interrupciones es la dirección 0004H. Después de la ocurrencia de una
interrupción que se encuentre hablilitada, el programa efectuará automáticamente un llamado a subrutina hacia esa dirección. Si se
usan interrupciones dentro de su programa, es necesario entonces, en el programa principal, en la dirección 0000H, que es la
dirección de inicio después de RESET, efectuar un salto a una localidad que se encuentre después de la subrutina de atención a las
interrupciones del sistema.
El registro INTCON controla la habilitación y deshabilitación de estas interrupciones del sistema. Sus bits tiene las
funciones que se indican enseguida.
REGISTRO INTCON (DIRECCION 0BH, 8BH)
GIE
Bit 7
-
el BIT 0 es una bandera que se pone en valor 1, si alguno de los bits del puerto RB4...RB7 cambió de valor y en 0 si
ninguno de estos bits cambió su valor.
-
el BIT 1 es una bandera que se pone en 1, si se activa la interrupción externa (señal RB0/INT) del 16F628 y tomará un
valor de 0 si no se activa dicha señal. En el registro de OPCION debe programarse si la interrupción se genera con al flanco
ascendente o descendente.
-
el BIT 2 es una bandera que se pone en 1, si el contador del temporizador del circuito sufre un overflow, es decir, excede
su cuenta máxima. Y en 0 si dicho contador no excede su cuenta máxima.
-
en el BIT 3, deberá escribirse un valor de 1 para habilitar la interrupción de los bits RB4...RB7 (ver bit 0) y de 0 para
deshabilitar dicha interrupción.
-
en el BIT 4 deberá escribirse un valor de 1 para habilitar la interrupción externa (ver bit 1) y de 0 para deshabilitar dicha
interrupción.
-
en el BIT 5 deberá escribirse un valor de 1 para habilitar la interrupción del temporizador (ver bit 2) y de 0 para deshabilitar
dicha interrupción.
-
En el BIT 6 deberá escribirse un valor de 1 para habilitar la interrupción de "escritura de un dato en la EEPROM
completado" y un valor de 0 para deshabilitar dicha interrupción. El bit 4 del registro EECON1 es la bandera
correspondiente que maneja la interrupción y se pone en un valor de 1, cuando está activa.
-
el BIT 7 corresponde al habilitador GLOBAL de las interrupciones (GIE). Debe de tener un valor de 1 para habilitar todas
la interrupciones y de 0 para deshabilitarlas.
Cuando se genera una interrupción, el bit GIE es automáticamente puesto en 0 para impedir que se generen nuevas
interrupciones. El contador del programa se carga con la dirección 0004H y la dirección de retorno es almacenada en el STACK o
pila. Una vez que la subrutina de interrupción está ejecutándose (a partir de la dirección 0004H), la fuente de la interrupción puede
ser determinada a través de un poleo en los bits 0, 1 y 2 del registro INTCON y bit 4 del registro EECON1. Dentro de la subrutina de
EEIE
T0IE
INTE
EDUPIC 16F628 Punto Flotante, S.A. 2010
10
RBIE
T0IF
INTF
RBIF
Bit 0

Publicidad

Tabla de contenido
loading

Tabla de contenido