Interrupciones PIC16F877A
Una subrutina de interrupción es aquella que se ejecuta cada vez que se solicita una interrupción.
El PIC 16F877A tiene la particularidad de manejar 13fuentes de interrupción diferentes, de las cuales haremos aplicaciones para dos de ellas:
1. Activación de la patita de interrupción RB0/INT
2. Desbordamiento del TMR0
3. Cambio de estado deuna de las cuatro patitas de mas peso del puerto B
4. Finalización de la escritura de un byte en la EEPROM
5. Desbordamiento del Timer1
6. Desbordamiento del Timer2
7. Captura ocomparación en el módulo CCP1
8. Captura o comparación en el módulo CCP2
9. Transferencia en la puerta serie Síncrona
10. Colisión de bus en la puerta serie Síncrona
11. Fin de la transmisiónen el USART
12. Fin de la recepción en el USART
13. Fin de la conversión en el convertidor A/D
14. Transferencia en la puerta paralela esclava
Hasta la opción 4 las tiene el PIC 16F84A, unode los PICS de la familia 16FXX. Iniciaremos con la opción 1: interrupción por la terminal RB0.
Al aceptarse una interrupción se salva el valor del contador de programa PC en la pila y se carga elPC con el valor 0004h, que es el Vector de Interrupción. Cuando se solicita la interrupción, el programa se “va” a la dirección 0004h.
REGISTRO DE CONTROL DE INTERRUPCIONES (INTCON)
Es unregistro de lectura y escritura que se encuentra en los cuatro bancos de memoria del PIC, ocupando las direcciones 0x0Bh, 0x8Bh, 0x10Bh, 0x18Bh. Tiene la misión de ser usado para controlar lasinterrupciones provocadas por el TMR0, cambio de estado en las cuatro líneas de más peso del puerto B y activación de la terminal RB0/INT. GIE es el bit de permiso global de todas las interrupciones.
INTCONREGISTER (ADDRESS 0Bh, 8Bh, 10Bh, 18Bh)
bit 7 GIE: Bit de permiso global de interrupciones
1 = Enables all unmasked interrupts
0 = Disables all interrupts
bit 6 PEIE:...
Regístrate para leer el documento completo.