You are on page 1of 4

FUENTES INTERNAS Y EXTERNAS DEL PIC 16F877A

El Pic16F877A tiene 14 los de 40 pines. Al aceptarse una interrupción se salva el valor


del PC (contador de programa) en la pila y se carga aquel con el valor 0004h, que es el
Vector de Interrupción. La mayoría de los recursos o periféricos de que disponen los
Pic16F87x son capaces de ocasionar una interrupción, si se programan adecuadamente
los bits de los registros que pasamos a describir a continuación.

1. Desbordamiento del TMR0


2. Activación de la patita de interrupción RB0/INT
3. Cambio de estado de una 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 o comparació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ón en el USART
12. Fin de la recepción en el USART
13. Fin de la conversión en el conversor A/D
14. Transferencia en la puerta paralela esclava

REGISTRO DE CONTROL DE INTERRUPCIONES (INTCON)


Es un registro que podemos leer o escribir y lo encontramos en cualquiera de los cuatro
bancos, ocupando las direcciones 0x0Bh, 0x8Bh, 0x10Bh, 0x18Bh, respectivamente.
Tiene la misión de controlar las interrupciones provocadas por el TMR0, cambio de
estado en las cuatro líneas de más peso de la puerta B y activación de la patita RB0/INT.
El bit PEIE actúa como una segunda llave parcial de permiso o prohibición de las causas
de interrupción que nos están contenidas en INTCON y que las provocan los restantes
periféricos del microcontrolador. GIE es el bit de permiso global de todas las
interrupciones.
INTCON REGISTER (ADDRESS 0Bh, 8Bh, 10Bh, 18Bh)

bit 7 GIE: Bit de permiso global de interrupciones


6 PEIE: Bit de permiso de los perifericos que no se controlan con INTCON
bit 5 TMR0IE: Bit de permiso de interrución del TMR0
bit 4 INTE : Bit de permiso de la interrución externa por RB0/INT
bit 3 RBIE: Bit de permiso de interrución por cambio en RB4-RB7
bit 2 TMR0IF: Señalizador de desbordamiento en TMR0
bit 1 INTF: Señalizador de activación de la patita RB0/INT
bit 0 RBIF: Señalizador de cambio en RB4 - RB7

REGISTRO DE PERMISO DE INTERRUPCIONES 1 (PIE1)


Contiene los bits que permiten (1) o prohiben (0) las interrupciones provocadas por los
periféricos internos del microcontrolador y que no estaban contempladas en INTCON.

Ocupa la dirección 8Ch y para que cumplan su función los bits de PIE1 es necesario que
PEIE=1 en INTCON .
PIE1 REGISTER (ADDRESS 8Ch)

bit 7 PSPIE: Parallel Slave Port Read/Write Interrupt


bit 6 ADIE : A/D Converter Interrupt Enable bit
bit 5 RCIE : USART Receive Interrupt Enable bit
bit 4 TXIE : USART Transmit Interrupt Enable bit
bit 3 SSPIE: Synchronous Serial Port Interrupt Enable bit
bit 2 CCP1IE: CCP1 Interrupt Enable bit
bit 1 TMR2IE: TMR2 to PR2 Match Interrupt Enable bit
bit 0 TMR1IE: TMR1 Overflow Interrupt Enable bit

REGISTRO DE PERMISO DE INTERRUPCIONES 2 (PIE2)


Contiene los bits de permiso de interrupción de las tres causas que no figuran en PIE1.
La de fin de escritura en la EEPROM, colisión de bus en el modo SSP y producción de
una captura o una comparación en el módulo CCP2.
PIE2 REGISTER (ADDRESS 8Dh)

bit 7 Unimplemented: Read as '0'


bit 6 CMIE: Comparator Interrupt Enable
bit 5 Unimplemented: Read as '0'
bit 4 EEIE: EEPROM Write Operation Interrupt Enable bit
bit 3 BCLIE: Bus Collision Interrupt Enable bit
bit 2-1 Unimplemented: Read as '0'

bit 0 CCP2IE : CCP2 Interrupt Enable bit 1 = Enables the CCP2 interrupt 0 = Disables
the CCP2 interrupt

REGISTROS DE LOS SEÑALIZADORES DE INTERRUPCIONES 1 Y 2 (PIR1 Y


PIR2)
En correspondencia con los bits de permiso/prohibición de las causas de interrupción
recogidas en los registros PIE1 y PIE2, existen otros dos registros, PIR1 y PIR2, cuyos
bits actuan de señalizadores del momento en el que se origina la causa que provoca la
interrupción, independientemente de si está permitida o prohibida. Ocupan las direcciones
0Ch y 0Dh, respectivamente.

PIR1 REGISTER (ADDRESS 0Ch)

bit 7 PSPIF: Parallel Slave Port Read/Write Interrupt Flag bit.


bit 6 ADIF : A/D Converter Interrupt Flag bit.
bit 5 RCIF : USART Receive Interrupt Flag bit.
bit 4 TXIF : USART Transmit Interrupt Flag.
bit 3 SSPIF: Synchronous Serial Port (SSP) Interrupt Flag
bit 2 CCP1IF: CCP1 Interrupt Flag bit
bit 1 TMR2IF : TMR2 to PR2 Match Interrupt Flag bit
bit 0 TMR1IF: TMR1 Overflow Interrupt Flag bit
PIR2 REGISTER (ADDRESS 0Dh)

bit 7 Unimplemented: Read as '0'


bit 6 CMIF: Comparator Interrupt Flag bit
bit 5 Unimplemented: Read as '0'
bit 4 EEIF: EEPROM Write Operation Interrupt Flag bit
bit 3 BCLIF: Bus Collision Interrupt Flag bit 1 = A bus collision has occurred in the SSP,
when configured for I2C Master mode 0 = No bus collision has occurred
bit 2-1 Unimplemented: Read as '0'
bit 0 CCP2IF: CCP2 Interrupt Flag bit

You might also like