Interrupciones Del Sistema - EVOLUPIC b Manual Del Usuario

Tabla de contenido

Publicidad

frecuencia de operación y el ciclo de trabajo (duty cycle). El período de operación de la señal, así como el ciclo de trabajo se
programan usando las siguientes fórmulas (Frec. Xtal= 4 Mhz).
[frecuencia de operación PWM (khz)] = 1000/ [(valor decimal en PR2+1)* (PS)]
En donde PS es el valor de preescalamiento (1, 4, ó 16), programable con los bits del registro [T2CON<1,0>] cuyos nemotécnicos
son: T2CLKPS1 y T2CLKPS0. Si estos bits valen 00, PS=1, si valen 01, PS=4, si valen 10, PS=16.
[ciclo de trabajo en %] = [CCPR1L:CCP1CON<5,4>]* (PS)* (25)
En donde [CCPR1L:CCP1CON<5,4>] es un valor de 10 bits, con CCP1L aportando los 8 bits más significativos y CCP1CON<5,4>
los dos bits menos significativos. Dicho valor debe ser convertido a decimal para ingresarlo en la fórmula.

12. Interrupciones del sistema.

El chip 16F88 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. Algunas de estas fuentes de interrupción son:
-
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 habilitada, el programa efectuará automáticamente un llamado a subrutina en esa dirección. En esta
subrutina de atención a interrupciones, el programador debe primeramente leer los registros de status de las interrupciónes
habilitadas para conocer cual está activa en ese momento y efectuar un salto al subprograma correspondiente. Para regresar de la
subrutina de interrupción, se ejecuta la instrucción RETFIE, la cual habilita automáticamente el bit de interrupción global GIE
El registro INTCON controla la habilitación y deshabilitación de algunas interrupciones del sistema. Sus bits tiene las
funciones que se indican enseguida.
REGISTRO INTCON (DIRECCION 0BH)
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 16F88 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 0 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 "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 interupció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
EEIE
T0IE
INTE
EVOLUPIC Bootloader 16F88 Punto Flotante, S.A. 2011
13
RBIE
T0IF
INTF
RBIF
Bit 0

Publicidad

Tabla de contenido
loading

Tabla de contenido