Tema 6: Microcontroladores



Documentos relacionados
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO

Microcontroladores PIC de Microchip: generalidades

Tema 14. Interrupciones. Las. C. F. G.S. D.P.E. Módulo de Proyectos 1

Temporizadores y contadores en tiempo real: El módulo Timer0 y el prescaler del PIC

Características Técnicas del PIC 16F84

Curso S08 para Cavernícolas

Microcontroladores PIC

TUTORIAL PRIMERA PARTE: GENERACIÓN DE UN RETARDO CON TIMER.

MICROCONTROLADORES PIC EEPROM. Memoria de programa Características

Programación y diseño de dispositivos mediante microcontroladores PIC

Familias de microcontroladores de radio frecuencia.

Clase 20: Arquitectura Von Neuman

Tema. Módulo Captura Comparación Modulación n de Achura de Pulsos. C. F. G.S. D.P.E. Módulo de Proyectos 1

Desde el punto de vista físico en un ordenador se pueden distinguir los siguientes elementos:

Elección de un microcontrolador

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Introducción a la Entrada/Salida

Arquitectura Von Neumann

Pines de entrada/salida (I/O) de propósito general. Mediante ellos, el micro PIC puede monitorizar y controlar otros dispositivos.

Cartilla para Microcontrolador PIC16F /40 Pin 8-Bit CMOS FLASH.

PUERTOS DE ENTRADA Y SALIDA

Temporizadores y contadores en tiempo real: El módulo Timer0 del PIC.

En el presente capítulo se describe la programación del instrumento virtual y cómo

DESCRIPCION DEL SITEMA MASTER.

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas

DEPARTAMENTO ELECTRÓNICA PIC - TEMA 2 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC

Laboratorio de Sistemas Embebidos Conceptos generales (2009)

UNIVERSIDAD NACIONAL DE COLOMBIA SEDE BOGOTÁ FACULTAD DE INGENIERÍA INGENIERÍA MECATRÓNICA

PIC MICRO ESTUDIO Timer Monoestable/Biestable ajustable hasta 99H 59M 59S Timer 2T Clave:

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

5. SECCIÓN DEL MICROCONTROLADOR (PROGRAMACIÓN)

Introducción a Arduino

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

El mundo de los PIC. Un PICmicro es un circuito integrado programable. Microchip, su fabricante dice: Programable Integrated Circuit.

RB7/PGD RB6/PGC RB5 RB4 RB3/PGM RB2. RB1 RB0/INT VDD Vss RD7/PSP7 RD6/PSP6 RD5/PSP5 RD4/PSP4 RC7/RX/DT RC6/TX/CK RC5/SD0 RC4/SDI/SDA RD3/PSP3 RD2/PSP2

NINO PICKIT2 PIC PROGRAMMER

El módulo LCD Ejemplos de funcionamiento

BUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC MEMORIAS EEPROM SERIE

Familias de microcontroladores de 16 bits de Microchip

Curso sobre Microcontroladores Familia HC9S08 de Freescale

502 A I.S.C. JOSE BARDO MORENO MACHADO ENRIQUE EDUARDO MORAN PRADO EDILBERTO RASCON HERNANDEZ

TEMA 5 LA MEMORIA DE DATOS MEMORIA RAM D.P.E. DESARROLLO DE PROYECTOS 1

Taller de Firmware. Introducción al PIC16F877. Facultad de Ingeniería Instituto de Com putación

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

La forma de manejar esta controladora es mediante un ordenador utilizando algún lenguaje de programación (Por ejemplo.: C, Visual Basic, Logo,...).

COMUNICACIÓN I2C (INTER-INTEGRATED CIRCUIT)

MICROCONTROLADORES PIC BÁSICO (PIC 16F84A / 16F627)

Instrumentación con Microcontroladores. Ing. Rodrigo Alejandro Gutiérrez Arenas 22/03/12 al 29/03/12

HARDWARE DE SISTEMA AUTOMÁTICO DE RASTREO DE VEHÍCULOS MEDIANTE TECNOLOGÍAS GPRS Y GPS

6-REGISTROS DEL 8086 Y DEL 80286

Tipos de Dispositivos Controladores

2.- PLATAFORMA ARDUINO (HARDWARE)

Reprogramación de módulos de control

INSTITUTO TECNOLÓGICO SUPERIOR DE PÁNUCO APUNTES DE LA MATERIA DE: MICROPROCESADORES Y MICROCONTROLADORES I

MICROCONTROLADOR PIC DE MICROCHIP

DISEÑO E IMPLEMENTACIÓN DE UNA TARJETA DE ADQUISICIÓN DE DATOS PARA EL LABORATORIO DE TELECOMUNICACIONES DE LA FIEC.

- El programador no funciona con los siguientes sistemas operativos: Windows NT, ni la familia de Windows 2000

picojava TM Características

Introducción a los microcontroladores y microprocesadores

CONCEPTOS INFORMÁTICOS BÁSICOS

METODOLOGÍA DESARROLLADA PARA PRÁCTICAS DE PROGRAMACIÓN DE MICROCONTROLADORES PIC

Arquitectura basica de un computador

Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades operativamente diferentes:

Automatización digital de procesos. Tema B

Sistemas de Computadoras Índice

Diseño de Sistemas embebidos y comunicaciones: Aplicaciones de telefonía, RF y localización remota. Ing. José Oliden Martínez

Cuestionario: Programación en C y máscaras (II)

HARDWARE DE UN ORDENADOR. Elementos básicos

MANUAL CÁMARA DE MOWAY

Actividad 4: Comunicación entre PLC s vía Ethernet

Alarma 3G por teléfono móvil

EB ES. Appendix 1 Circuit Diagram Hoja de datos de la placa LCD EB Contenido - 1 -

I2C. Ing. Pablo Martín Gomez

Microprocesadores, Tema 6:

Conexión de GPS a Open CPN.

Herramientas hardware y software para el desarrollo de aplicaciones con Microcontroladores PIC bajo plataformas GNU/Linux

PRIMERA PARTE. La gama básica: el humilde PIC12F508 TEORÍA

REDES INFORMÁTICAS. Un equipo se dice que es cliente cuando aprovecha el servicio ofrecido por el servidor.

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

Señal de petición de Interrupción

Departamento técnico. Guía rápida CC-LINK. Autómatas serie Q con variadores FR-E 1 / 33

Microchip Tips & Tricks...

Anexo B. Comunicaciones entre mc y PC

ELECTRÓNICA - SOFTWARE - AUTOMATION DELCOMP S.A.C.

Qué es un Microcontrolador?

INTRODUCCION. Ing. Camilo Zapata Universidad de Antioquia

TEMA III - Interrupciones en Sistemas en Tiempo Real

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

Comunicación CPU S Vs CPU S por TCP

La informática es el conjunto de técnicas y conocimientos necesarios para el tratamiento automático de la información mediante el ordenador.

KW x hora. on/off

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI

El microcontrolador PIC de Microchip

Desarrollo de una interfaz RS-232 para el manejo de un coche de radiocontrol desde el PC

TEMA EL BUS I 2 C (Inter Integrated Circuit Bus) I2C EN C

Sistema de control de equipos electrónicos vía Internet mediante dispositivos móviles

Control, Instrumentación e Instalaciones Ingeniería Ambiental

Unidad 1. La información

Transcripción:

Tema 6: Microcontroladores Carlos Garre del Olmo 1

Microcontroladores Contenidos Introducción a los microcontroladores. Principales familias y sus características. La familia PIC16. Diseño de sistemas empotrados. Programación de microcontroladores. Introducción a los DSP 2

Quées un Microcontrolador? Microcontrolador:todos los componentes básicos de un computador integrados en un único chip: Unidad central de proceso. Memoria (principal e incluso secundaria). Unidades de entrada/salida. Más microcontroladores que personas en el mundo! Cuantos microcontroladores llevas ahora mismo en los bolsillos? Teléfono móvil, llaves del coche, ipod, llave del garaje Cuántos tienes en casa? Lavadora, microondas, televisor, teclado, ratón, Y en el coche? Un coche moderno puede tener cerca de 100 microcontroladores (airbags, tracción, ABS, ). En 2003, Microchip vendió25 millones de microcontroladores PIC para el control de airbags. 3

Sistemas Empotrados Sistema empotrado/embebido (EmbeddedSystem):sistema informático cuyo hardware y software están concebidos para un uso concreto. Se componen de dos elementos: Controlador. Sistema a controlar. Son sistemas informáticos embarcados en el propio sistema que van a controlar. En muchos sistemas empotrados es más práctico utilizar microcontroladores que microprocesadores: Limitaciones de espacio todo en un único chip. Limitaciones de consumo los sistemas empotrados muchas veces son portátiles. Limitaciones económicas es más barato tener un único chip que todo el hardware de un computador basado en microprocesador. Las unidades de E/S de los microcontroladores están diseñadas para manejar sensores y actuadores típicos de los sistemas empotrados. Ejemplos: Lavadora, televisor, TDT, cajero automático, UVI móvil, caja del supermercado, misil, llaves del coche, GPS, boyas, 4

Características de los Microcontroladores Suelen utilizar arquitectura Harvard (memoria de datos e instrucciones separadas) Presenta ventajas en computadores que no hay que reprogramar constantemente. Dimensiones muy reducidas los que utilizaremos en las prácticas (encapsulado DIP) habitualmente sólo se usan para diseño de prototipos. Gran variedad dentro de una misma familia Adaptado a aplicaciones concretas: Robots y sistemas mecánicos (control de motores). Comunicaciones (WiFi, USB, Ethernet). Multimedia (entradas A/D y salidas D/A). Aplicaciones críticas (resistencia térmica, robustez). Instrumentación (sensores, LCD, ). Robustez (pantallazo azul en una lavadora o en un misil??) Watchdog Timer. Bajo consumo funcionamiento a pilas, sondas espaciales, Dormido hasta recibir interrupción. Protección anticopia de la memoria de programa evitar ingeniería inversa y espionaje industrial. 5

Elección de un Microcontrolador Obviando factores generales, como el precio o el tamaño, las características que nos ayudan a decidir entre la gran variedad de microcontroladores (PIC) son: Número de bits: Arquitecturas de 8, 16 y 32 bits. Velocidad: en MIPS o en MHz. De 4MHz a 80MHz. Memoria de programa: Tamaño: de 300Bs a 512KBs. Tipo: Flash (regrabable) vs OTP (programable una única vez). Autoescribible? ICSP. Memoria principal: de 16Bs a 64KBs. Memoria permanente: EEPROM de 0 a 4KBs. Temperatura de trabajo: De -40ºC a 150ºC. Voltaje: desde 1 8V. Encapsulado: DIP/SPDIP para prototipos. Otros: SOIC, QFN, SSOP, TQFP, DFN, Pines de E/S y pines totales: 4 a 85 / 6 a 100 Unidades de E/S y otros componentes: Conversores A/D. Puertos de comunicación digital (serie, RF, Ethernet, USB, ). Temporizadores, comparadores, PWM, capturadores, 6

Comunicación Analógica y Digital Conversores A/D: Número de puertos: 0 a 32 Resolución (bits) por puerto: 10b a 16b Interfaz de puerto serie: USB:Soporte para USB 2.0. OTG (On-The-Go): Pensado para sistemas embebidos, permite que un mismo dispositivo actúe como master y como slave. UART / USART:Clásica conexión de puerto serie (RS-232). La UART sólo soporta comunicación asíncrona. Comunicación con otros sistemas. SPI(Serial PeripheralInterface): interfaz serie síncronay full-duplexque sigue el paradigma maestro/esclavo. Comunicación entre componentes electrónicos del mismo sistema, que requieran buen ancho de banda. I2C(Inter-IntegratedCircuit): maestro/esclavo más lento que SPI. Pensado para comunicación entre componentes que no requieran velocidad, sino bajo coste. Requiere menos pines y permite conectar dispositivos en caliente. 7

Comunicación Analógica y Digital (II) Otras interfaces digitales: CAN(ControllerAreaNetwork): Comunica varias MCUsentre sí. Diseñado para automóviles comunicar todos los sistemas electrónicos del automóvil. LIN (Local Interconnect Network): Subsistema de CAN más económico. IrDA: Comunicación por infrarrojos. Puerto paralelo: GPIO, PMP. AC97:Interfaz de E/S para audio. Conecta la MCU con un codecexterno. Ethernet: clásica conexión de red. Radiofrecuencia (RF): comunicación inalámbrica rfpic: 10MW (~200m) 8

Sensores, Actuadores y Otros Temporizadores Timers: Contadores de 8 a 32 bits que se incrementan automáticamente. Permiten temporizar operaciones, interfaces, etc. Puede haber varios por chip (de 1 a 13). WatchdogTimer:Contador que se incrementa automáticamente, y se pone a 0 desde código. Si llega al final de la cuenta, resetea la MCU. Módulo CCP (Capture/Compare/PWM) Utiliza un registro dedicado para las tres funciones (CCPR) y un pin de E/S dedicado. Actúa junto con el primer temporizador (TMR1). Capture: en el momento en el que ocurre un flanco (programable) en el pin, se guarda el valor de TMR1 en CCPR y salta una interrupción. Compare: se guarda un valor en CCPR, y salta una interrupción cada vez que el valor de TMR coincide con el de CCPR. PWM (Pulse WidthModulation): utilizado para control de motores. Usa el pin como salida, emitiendo un pulso modulado en anchura. http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/95- dpi/pic16f628-ccp/exemplo_capture.html 9

PWM 10

Microcontroladores Contenidos Introducción a los microcontroladores. Principales familias y sus características. La familia PIC16. Diseño de sistemas empotrados. Programación de microcontroladores. Introducción a los DSP 11

Principales Familias Freescale: División de semiconductores de Motorola. Intel: 68HC705: MCU más vendida de la historia? 8 bits, 20 pines, 112B RAM. 68HC11: Familia de MCUs con arquitectura Von Neumann. Instrucciones CISC. Coldfire: arquitectura de 32 bits. Hasta 128KBs datos, 512KBs programa, 500MHz, 120 pines. Familias de 8 y 16 bits. 8051: Muy extendido. Sirve como núcleo para MCUsde otros fabricantes (Atmel: mayores fabricantes de tarjetas inteligentes). Texas Instruments, Zilog, Analog Devices Microchip: PIC:MCUsde 8, 16 y 32 bits. dspic: DSPs. rfpic: MCUscon unidad de RF. Por quélo escogemos? Muy extendido, muchísima información, muy didáctico, alianza académica, muestras gratuitas, fácil programación (HW y SW), 12

Microcontroladores Contenidos Introducción a los microcontroladores. Principales familias y sus características. La familia PIC16. Diseño de sistemas empotrados. Programación de microcontroladores. Introducción a los DSP 13

Familia PIC16 Microcontroladores de 16 bits. Muchísima información en Internet y en libros: robots, videojuegos, mando a distancia, instrumentación, multimedia, PIC-Pong y PIC-Tetris: El miembro de la familia más conocido es el 16F84: 1 75KBs de programa. 68B RAM. 64B EEPROM. 1 timer8 bits. 18 pines. 3$. También son muy utilizados el 16F876 y 16F877: 16F876: 14KB programa, 368B RAM, 256B EEPROM, 2x timers8 bits, 1 timer16 bits, 5x A/D (10b), USART, SPI, I2C, 2x CCP. 28 pines. 4$. 16F877: 40 pines. 8 canales A/D. 14

El PIC16F84A a fondo Juego de instrucciones RISC: 35 instrucciones Todas en un ciclo, salvo bifurcaciones (2 ciclos). Memoria de programa: 1024KW de 14 bits. Direccionamiento directo, indirecto y relativo. Pila por hardware de 8 niveles. 4 fuentes de interrupción: pin externo RB0/INT, TMR0, PORTB<7:4>, EEPROM write complete. 13 pines de E/S. Máximo 25 mapor pin (E/S). ICSP (2 pines), Power-up Timer(PWRT), WatchdogTimer(WDT), SLEEP mode, Code protection, 15

Memoria de datos y de programa Arquitectura del PIC16F84A 16

Decodificación y secuenciamiento de instrucciones Arquitectura del PIC16F84A 17

Direccionamiento Arquitectura del PIC16F84A 18

Arquitectura del PIC16F84A ALU 19

Puertos de E/S: Puerto A Puerto B Entrada de interrupción externa multiplexada con el LSb del puerto B Todo digital Arquitectura del PIC16F84A 20

Arquitectura del PIC16F84A EEPROM 21

Timer: Entrada de reloj externa multiplexada con el bit 4 del puerto A. Arquitectura del PIC16F84A 22

Sistemas básicos y de seguridad: Reloj: cristal externo circuito RC Interno Power On: 1. POR 2. PWRT 3. OST WDT Arquitectura del PIC16F84A 23

Arquitectura del PIC16F84A Registros: W! 24

16F84A: Descripcionde pines 25

16F84A: Memorias Programa y Datos Memoria de Programa: Memoria de Datos SFR: Special Function Registers. Divididos en 2 bancos. GPR: General Purpose Registers. Todos de 8 bits. 26

16F84A: SpecialFunctionRegisters 27

16F84A: Status Register Similar al registro de estado de x86, pero puede ser escrito y leído libremente (salvo bits TOy PD), además de automáticamente por la ALU. IRP, RP1: No implementados. RP0:Selección de banco de registros: 00 (Banco 0), 01 (Banco 1). TO: Time-out: 0 (WDT time-out), 1 (después de CLRWDT). PD: Power-down: SLEEP 0. Z:Zero: Igual que en x86. DC:Acarreo de dígito: acarreo del 4ºbit(mitad del byte). C:Acarreo: el de toda la vida (MSb). 28

16F84A: OptionRegister Permite configurar el funcionamiento de algunos componentes. RBPU: Si es 0, se activa un WeakPull-up en los pines del puerto B. INTEDG:Selecciona quées lo que provoca una interrupción en el pin RB0/INT: 0 (flanco de bajada), 1 (flanco de subida). T0CS:Selecciona la fuente de reloj del Timer: 0 (reloj interno), 1 (pin RA4/T0CKI). T0SE: Selecciona cuándo se incrementa el Timer si se usa reloj externo: 0 (flanco de subida de T0CKI), 1 (flanco de bajada de T0CKI). PSA: Permite preescalar un contador: 0 (preescala el Timer), 1 (preescala el WDT). PS2-PS0: Selecciona el ratio de escalado: 29

16F84A: INTCON Register Control de interrupciones: máscaras y activación. GIE: Global Interrupt Enable: 0 (desactiva todas las interrupciones), 1 (activa las interrupciones no enmascaradas). EEIE:Máscara para la interrupción de escritura terminada en EEPROM. 0 (inhabilita), 1 (habilita). T0IE:Máscara para la interrupción de overflowdel Timer. INTE: Máscara para la interrupción externa (pin RB0/INT). RBIE: Máscara para la interrupción de cambio en el puerto B. T0IF: Flag de la interrupción de overflow del Timer: 0 (no hay overflow), 1 (ha ocurrido overflow) se debe poner a 0 por software. INTF: Flag de interrupción externa. RBIF:Flagde interrupción por cambio del puerto B (al menos un bitha cambiado). 30

16F84A: Registros INDF y FSR Se utilizan para el modo de direccionamiento indirecto. FSR: puntero (contiene una dirección de memoria). INDF: dato al que apunta el puntero. INDF no es un registro físico, sino que lo usa el programador. Ejemplo: En la posición de memoria 0C tenemos el valor 4F. Cargamos la dirección de memoria en FSR: FSR= 0C. Si leemos INDF, nos devolveráel valor 4F: INDF = 4F. Si escribimos en INDF, cambiamos el contenido de la posición 0C de memoria. Ejemplo: Limpiar las posiciones de memoria 20-2F usando direccionamiento indirecto: 31

16F84A: Registros de la EEPROM La EEPROM no estámapeadaen memoria principal. Se accede a ella a través de unos registros específicos. EEDATA: Es donde guardamos el dato a escribir, o de donde leemos el dato leído. Es similar al registro DR visto en el tema 2. EEADR: Es donde indicamos la dirección de la EEPROM a leer o a escribir. Como el 16F84A tiene 64B, el rango estaráentre 00 y 3F. EECON1y EECON2: Control de la EEPROM. EECON2 no es un registro físico: EEIF: Flag de interrupción de fin de escritura. Se debe limpiar por software. WRERR: Se pone a 1 si falla la escritura. WREN: Si estáa 1, la EEPROM es de lectura/escritura. Si no, de sólo lectura. WR: Si el programador lo activa, comienza una escritura. Se limpia por hardware. RD: Si el programador lo activa, comienza una lectura. Se limpia por hardware. 32

16F84A: Manejo de la EEPROM Lectura: Escribir dirección en EEADR (00-3F). Activar el bitrd de EECON1. En el próximo ciclo, el dato estáen EEDATA se puede leer de inmediato. Escritura: Escribir dirección en EEADR (00-3F). Escribir valor en EEDATA. Cargar 55h en el registro virtual EECON2. Cargar AAh en el registro virtual EECON2. Activar el bitwr de EECON1 Se recomienda desactivar interrupciones hasta este punto. 33

16F84A: Puerto A de E/S Registro TRISA: cada bitse corresponde con uno de los pines del puerto A. Si ese bitestáa 1, significa que ese pin es una entrada. Si es 0, es una salida. Por defecto, todo son salidas (TRISA = 0). Registro PORTA: Lo que escribas en este registro sale por los pines de salida. Si lo lees, lees los pines de entrada. El bit4 estámultiplexado con la entrada de reloj del Timer, según el bitt0cs del Option Register. 34

16F84A: Puerto B de E/S Registro TRISB: Similar a TRISA, para el puerto B. Registro PORTB: Similar a PORTA, para el puerto B. Los pines que son entrada (TRISB) se pueden configurar como weak pull-up(bit RBPU del Option register). Los bits 4 a 7 pueden ser configurados para lanzar una interrupción en cuanto cambia su entrada (si están configurados como entradas en TRISB) Podemos tener la MCU en modo SLEEP hasta que cambie una entrada. 35

16F84A: Timer0 Funciona como un contador de 8 bits que se incrementa automáticamente en una de estas dos situaciones (según el bit T0CS del Option Register): Ciclo de reloj interno se dice que actúa como temporizador. Flanco externo en el pin RA4/T0CKI se dice que actúa como contador. Registro TMR0: Contiene el valor del contador. Si se escribe en él, deja de contar durante 2 ciclos tenerlo en cuenta si queremos una temporización precisa! Un contador de 8 bits con un reloj de 4MHz sólo nos permite hacer cuentas de unos pocos microsegundos. Solución para hacer cuentas más largas: sólo incrementar cada X ciclos PRESCALER. El PRESCALER se configura en el Option Register, y permite configurar el Timer para que cuente sólo cada 256 ciclos (1:1, 1:2, 1:4 1:256). Cuando el Timertermina su cuenta, genera la interrupción T0IF. Esta interrupción no puede cambiar el modo SLEEP, ya que durante este modo el Timerestá apagado. 36

16F84A: Interrupciones Hay 4 fuentes de interrupción: Pin externo RB0/INT. TMR0 overflow. Cambio en los bits 4:7 de PORTB. Fin de escritura en EEPROM. Máscaras de interrupción: registro INTCON. Máscara global en el bit GIE. Flags de interrupción: registros INTCON y EECON1. Cuando ocurre una interrupción: El bitgie se pone a 0 automáticamente (no se anidan interrupciones). Se hace un PUSH del PC a la pila hardware de 8 niveles. Cualquier otro contexto que se quiera salvar, se debe hacer por software. PC = 0004h vector de rutina de tratamiento de interrupciones. Se ejecuta la rutina de tratamiento. La rutina de tratamiento limpia los flags. La rutina de tratamiento regresa con la instrucción RETFIE. 37