sábado, 5 de diciembre de 2015

INTERRUPCIONES

Las interrupciones constituyen quizá el mecanismo más importante para la conexión del micro controlador con el mundo exterior, sincronizando la ejecución de programas con acontecimientos externos.
El funcionamiento de las interrupciones es similar al de las subrutinas de las cuales se diferencian principalmente en los procedimientos que las ponen en marcha. Así como las subrutinas se ejecutan cada vez que en el programa aparece una instrucción CALL, las interrupciones se ponen en marcha al aparecer en cualquier
instante un evento externo al programa, es decir por un mecanismo hardware. El PIC16C84/PIC16F84 dispone de 4 posibles fuentes de interrupción: Activación del pin RB0/INT Desbordamiento del temporizador TMR0 Cambio de estado en uno de los 4 pines de más peso (RB7:RB4) del PORTB Finalización de la escritura en la EEPROM de datos. Cuando se produce cualquiera de los sucesos indicados anteriormente, se origina una petición de interrupción, que si se acepta, guarda el valor del PC actual en la Pila, pone a cero el bit GIE (Global Interrupt Enable), lo que prohibe cualquier otra interrupción y se carga el PC con el valor 0004H , que es la posición del vector de interrupción, y comienza a ejecutarse el programa de atención a la interrupción que se encuentra a partir de esta dirección. Cada causa de interrupción está controlada mediante dos bit. Uno de ellos actúa como señalizador o flag que indica si se ha producido o no la interrupción, y la otra funciona como bit de permiso o prohibición de la interrupción en sí, tal y como se muestra en la siguiente figura.


No hay comentarios:

Publicar un comentario