Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MICROCONTROLADORES
TEMA: INTERRUPCIONES
8 LEDS
interruptor PD.0
CONSULTA
SISTEMA DE INTERRUPCIONES
• Interrumpen la ejecución de un programa y pasan a la rutina de servicio del evento
que provoca la interrupción.
• El vector de interrupción se encuentra en la dirección 04H de la memoria de programa.
• Al terminar la rutina de servicio (RETFIE) se retoma el programa en el ‘punto de ruptura’.
• Fuentes de interrupción:
• Pin INT, cambio en los terminales del puerto B (RB7:RB4).
• Overflow en los temporizadores.
• Cambio en el comparador.
• Fin de escritura en la memoria EEPROM de datos.
• Relacionadas con el Puerto Paralelo Esclavo, con la USART, con el fin de conversión
A/D y en general con los módulos periféricos con que puede contar una MCU.
• Gestión de interrupciones mediante registros:
• INTCON: registro general de control y estado.
• En función de los periféricos disponibles por una MCU:
•PIE1, PIE2 (Peripheal Interrupt Enable) habilitan las interrupciones de cada periférico.
• PIR1 y PIR2 (Peripheal Interrupt Flag Registers) identifican el periférico que interrumpe.
REGISTRO INTCON
SECUENCIA
SECUENCIA
VALOR HEX
0 0 0 0 0 0 0 0 00
0 0 0 1 1 0 0 0 18
0 0 1 1 1 1 0 0 3C
0 1 1 1 1 1 1 0 7E
1 1 1 1 1 1 1 1 FF
0 1 1 1 1 1 1 0 7E
0 0 1 1 1 1 0 0 3C
0 0 0 1 1 0 0 0 18
0 0 0 0 0 0 0 0 00
CODIFICACION
LIST P=PIC16F877A INCF RA,1 GOTO DOS
MOVLW 09 DECFSZ O,1
RA EQU 21 XORWF RA,0 GOTO TRES
ESTADO EQU 03 BTFSS ESTADO,2 RETURN
PC EQU 07 GOTO SIGA
PB EQU 06 GOTO INTER
INTCON EQU 0B PRINCIPAL CLRF RA
T1CON EQU 10 SIGA3 CALL
O EQU 23 SECUENCIA SECUENCIA2
N EQU 24 MOVF RA,0 MOVWF PC
M EQU 25 ADDWF PCL,1 CALL RETARDO
RETLW 00 INCF RA,1
ORG 00 RETLW 18 MOVLW 11
GOTO INICIO RETLW 3C XORWF RA,0
RETLW 7E BTFSS ESTADO,2
ORG 04 RETLW 0FF GOTO SIGA3
GOTO INTER RETLW 7E GOTO
RETLW 3C PRINCIPAL
INICIO ; RETLW 18
CONFIGURACION RETLW 00 SECUENCIA2
BSFESTADO,5 MOVF RA,0
MOVLW 90 RETARDO ADDWF PCL,1
MOVWF INTCON MOVLW 0F RETLW 0FF
CLRF PC MOVWF O RETLW 00
BSF PB,0 TRES RETLW 0FF
BCF ESTADO,5 MOVLW 0F RETLW 00
MOVWF M RETLW 0FF
DOS RETLW 00
PRINCIPAL MOVLW 0AF RETLW 0FF
CLRF RA MOVWF N RETLW 00
SIGA CALL UNO RETLW 0FF
SECUENCIA DECFSZ N,1 RETLW 00
MOVWF PC GOTO UNO
CALL RETARDO DECFSZ M,1 END
DIAGRAMA DE FLUJO
INICIO
SECUENCIA
PC ←W
RETARDOB
RA ← RA+1
RA=10
INTERRUP
SECUENCIA 2
PC ←W
RETARDO B
RA ← RA+1
RA=11
SECUENCIA
PCL PCL + W
W ←00 W ←18 W ←3 C W ←7 E W ← FF
W ←7 E W ←3 C W ←18 W ←00
RETARDOB
NO
SI
RETURN
RETARDO
SI
RETURN
TMR 2 IF ← 00
SECUENCIA
PCL PCL + W
W ← FF W ←00 W ← FF W ←00 W ← FF
W ← FF W ←00 W ← FF W ←00
SIMULACION
+5V
R1
1k
U1
13 33
OSC1/CLKIN RB0/INT
14
OSC2/CLKOUT RB1
RB2
34
35 0
2
3
RA0/AN0
RA1/AN1
RB3/PGM
RB4
36
37 0
4
5
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RB5
RB6/PGC
38
39 1
6
7
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
RB7/PGD
40
1
8
RE0/AN5/RD
RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2
15
16 1
9
10
RE1/AN6/WR
RE2/AN7/CS
RC2/CCP1
RC3/SCK/SCL
17
18 1
1
MCLR/Vpp/THV
RC4/SDI/SDA
RC5/SDO
23
24 0
RC6/TX/CK
RC7/RX/DT
25
26 0
19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
PIC16F877A
+5V
R1
1k
U1
13 33
OSC1/CLKIN RB0/INT
14
OSC2/CLKOUT RB1
RB2
34
35 1
2
3
RA0/AN0
RA1/AN1
RB3/PGM
RB4
36
37 1
4
5
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RB5
RB6/PGC
38
39 1
6
7
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
RB7/PGD
40
1
8
RE0/AN5/RD
RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2
15
16 1
9
10
RE1/AN6/WR
RE2/AN7/CS
RC2/CCP1
RC3/SCK/SCL
17
18 1
1
MCLR/Vpp/THV
RC4/SDI/SDA
RC5/SDO
23
24 1
RC6/TX/CK
RC7/RX/DT
25
26 1
19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
PIC16F877A
Referencias bibliográficas:
http://edii.uclm.es/~miniesta/mc_pic_2.pdf