Programacion de los Microcontroladores PIC16F877A
  INTERRUPCIONES
 

CAUSAS DE INTERRUPCION

Los pic16f877a tienen 4 causas de interrupcion o fuentes posibles de interrupcion:
 
1.- Activacion de la patita RB0/INT
2.- Desbordamiento del temporizador TMR0
3.- Cambio de estado en una de las 4 patitas de mas peso (RB7 - RB4) de la puerta B
4.- Finalizacion de la escritura en la EEPROM de datos

Cuando ocurre cualquiera de los 4 sucesos indicados se origina una peticion de interrupcion, que si se acepta y se atiende comienza depositando el valor del PC (contador de programa) actual en la Pila, poniendo el bit GIE = 0 y cargando en el PC el valor 0004 H, que es el vector de interrupcion donde se desvia el flujo de control.

Cada fuente de interrupcion dispone de un señalizador o "flag", que es un bit que se pone automaticamente a 1 cuando se produce. Ademas cada fuente de interrupcion tiene otro bit de permiso, que segun su valor permite o prohibe la realizacion de dicha interrupcion.

EL REGISTRO DE CONTROL DE INTERRUPCION "INTCON"

La mayor parte de los señalizadores y bits de permiso de las fuentes de interrupcion en los pic16f887a estan implementadas sobre los bits de registro "INTCON, que ocupa la direccion 0bH del banco 0, hallandose duplicada en todos los bancos.

GIE: Permiso global de interrupcion
1: Permite la ejecucion de todas las interrupciones
0: Prohibe todas las interrupciones

EEIE: Permiso de interrupcion por fin de escritura de la EEPROM
1: Permite se origine una interrupcion cuando termina la escritura de la EEPROM
0: Prohibe esta interrupcion

T0IE: Permiso de interrupcion de sobrepasamiento del TMR0
1: permite una interrupcion al desbordarse el TMR0
0: Prohibe esta interrupcion

INTE: Permiso de interrupcion por el pulso externo en RB0/INT
1: Interrupcion al activarse RB0/INT
0: Prohibe esta interrupcion

RBIE: Permiso de interrupcion por cambio de estado en RB7 - RB4

1: Permite esta interrupcion
0: Prohibe esta interrupcion

T0IF: Señalizador o bandera de sobrepasamiento del TMR0
1: se pone a 1 cuando ha ocurrido el sobrepasamiento
0: Indica que el TMR0 no se ha desbordado

INTF: Señalizador o bandera de activacion de la patita RB0/INT
1: se pone a 1 cuando ha ocurrido el pulso
0: no ha ocurrido nada

RBIF: Señalizador o bandera de cambio de estado de las patitas RB7-RB4
1: se pone a 1 cuando ha ocurrido
0: no ha ocurrido nada

 
 
  Hoy habia 3 visitantes (3 clics a subpáginas) ¡Aqui en esta página!  
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis