Documentos de Académico
Documentos de Profesional
Documentos de Cultura
3-INTERRUPCIONESpic 2
3-INTERRUPCIONESpic 2
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.
32
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
INTERRUPCIONES
REGISTRO INTCON
Bit 5 T0IE: (Timer 0 Overflow Interrupt Enable) bit de habilitación del Timer 0.
1 = Habilita la interrupción con el desbordamiento del Timer 0.
0 = Inhibe la interrupción con el desbordamiento del Timer 0.
Bit 4 INTE: (INT External Interrupt Enable) bit de habilitación de interrupción desde el pin de entrada INT.
1 = Habilita la interrupción.
0 = Inhibe la interrupción.
(2) Algunas MCU no disponen de esta característica
33
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
INTERRUPCIONES
REGISTRO INTCON
Bit 3 RBIE: (RB Port Change Interrupt Enable) bit de habilitación de interrupción con el cambio de
RB7:RB4
1 = Habilita la interrupción.
0 = Inhibe las interrupción.
(2) Algunas MCU no disponen de esta característica
(1) También se puede encontrar con el nombre GPIE.
Bit 2 T0IF: (Timer 0 Overflow Interrupt Flag).
1 = Interrupción producida por el desbordamiento del Timer 0 (debe ser puesto a cero por SW).
0 = El Timer 0 no se ha desbordado.
Bit 1 INTF: (INT External Interrupt Flag).
1 = Interrupción producida por INT (debe ser puesto a cero por SW).
0 = INT no ha interrumpido la MCU.
(2) Algunas MCU no disponen de esta característica
Bit 0 RBIF: (RB Port Change Interrupt Flag).
1 = Interrupción producida por el cambio en alguno de los bits RB7:RB4 (debe ser puesto a cero
por SW).
0 = RB7:RB4 no han interrumpido la MCU.
(2) Algunas MCU no disponen de esta característica
(1) También se puede encontrar con el nombre GPIF.
34
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
INTERRUPCIONES
LÓGICA DE INTERRUPCIONES
Registros Registro
PIR/PIE INTCON
35
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
INTERRUPCIONES
TIEMPO DE LATENCIA
Es el tiempo que transcurre desde que se produce un evento de
interrupción hasta que se ejecuta la instrucción de la dirección 04H.
• Interrupciones síncronas (normalmente internas) tiempo de
latencia= 3 Tcy.
• Interrupciones asíncronas (normalmente externas) tiempo de
latencia= 3-3,75 Tcy.
36
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
INTERRUPCIONES
37
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
INTERRUPCIONES
1. PC->Pila y GIE=0
2. PC=0004H
3. Se salvan los registros cuyo contenido se desee conservar (W,
STATUS, etc.) ≡ PUSH
4. Se determina la fuente de interrupción (interrogando los flags
correspondientes)
5. Se ejecuta la rutina de servicio a la interrupción
6. Se borra el flag relacionado con la interrupción atendida.
7. Se restauran los registros ≡ POP
8. Se ejecuta RETFIE
9. Pila->PC y GIE=1
38
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
INTERRUPCIONES
39
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
40
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
41
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
Puerto A:
• Tiene 6 bits.
• RA4 Tiene entrada Trigger Schmitt y salida drenador abierto.
• El resto admiten niveles de entrada TTL y salida CMOS.
42
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
Pin RA4:
43
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
Puerto B:
• Puerto de 8 bits bidireccionales
Diagrama de bloques
para RB3:RB0.
44
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
Diagrama de bloques
para RB7:RB4.
45
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
46
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
Operaciones sucesivas sobre un puerto de entrada salida
• Escritura y lectura sobre el puerto B:
A frecuencias de reloj más altas, una escritura seguida por una lectura
puede ser problemática debido a la capacidad externa, en esos casos
puede ser conveniente utilizar NOP entre esas instrucciones.
47
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
48
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
TIMER 0
Características:
• Contador temporizador de 8 bits
• Accesible mediante operaciones de lectura y escritura.
• Incorpora un prescaler de 8 bits programable por Sw.
• Reloj interno o externo.
• Selección del flanco del reloj externo
• Puede producir una interrupción al debordarse.
49
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
TIMER 0
REGISTRO OPTION_REG
50
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
TIMER 0
REGISTRO OPTION_REG
51
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
TIMER 0
52
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
TIMER 0
53
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
TIMER 0
54
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
TIMER 0
El reloj/prescaler se muestrea en Q2 y Q4
55
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
TIMER 0
56
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
TIMER 0
57
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
MICROCONTROLADORES PIC
TIMER 0
58
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO