PLUS UNIDAD I, REGISTROS Y FUNETES DE INTERRUPCIONES 2021-1.pdf
1. Un placer saludarte nuevamente
Epero hayas estado Bien, y le hayas sacado provecho a la ultima presentación.
Esta vez quiero invitarte a que sigamos en este recorrido y podamos conocer un
poco mas de los microcontroladores.
Hoy Abordaremos la tematica de los Registros, Interrupciones y Temporizadores.
¿Que dices?... ¿Me acompañas?... Ok, demos inicio entonces
¡Hola!
1
Wilfran Yaraure
Ing. En Electronica
Facilitador
@Profesor_Y
2. UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
REGISTROS, INTERRUPCIONES Y CONTADORES
Área Cs. De la Salud
Programa de Ing. Biomédica Dpto. De
Electromedicina
Unidad Curricular: Microcontroladores y
Microprocesadores II
Wilfran Yaraure
Ing. En Electronica
Facilitador
3. REGISTROS
En las memorias de los microcontroladores,
como los datos son almacenados en pilas de
memoria, como dijimos anteriormente,
citando el ejemplo utilizado, dijimos que
serian como una serie de archivos verticales,
con numerosas gavetas, donde podemos
guardar datos de hasta 8bit de longitud.
Pues cada gaveta es denominada como nivel
de pila, la cual esta identificada con una
dirección escrita en numero hexadecimales.
Entonces los registros serian cada uno de
estos niveles donde se guarda cierta
información para el funcionamiento del
micro.
Existen 2 tipos de Registros, denominados
según su función y datos que almacena. Entre
ellos están:
Registro de propósito general (GPR’s)
Que se encargan de almacenar datos del
código de programación y datos obtenidos por
los periféricos o puertos.
Registro de Función especial (SFR’s)
son los registros mediante los cuales se
pueden monitorizar y configurar el
funcionamiento de la CPU y
de las unidades funcionales del uC
3
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
4. REGISTROS
Registro de Función especial (SFR’s)
Con este tipo de registro podemos
configurar las funcionalidades del micro, por
ejemplo.
El registro ADCON1, nos permite configurar
los pines del puerto, como E/S Analógica o
Digital
Y el registro TRIS_, que nos permite
configurar cuales pines y puertos serán
entradas o salidas.
distinguen dos conjuntos de SFR's:
SFR’s asociados con el núcleo del uC
• II REG, STITTS. BSA, etc...
• Interrupciones: INTCON. PIEI, PIRI,
IPR1,,,,
• Reset: RCON
SFR's asociados con las unidades
funcionales:
• Timers: TOCON, TMR1H, TIR1L, TIC
ON, Convertidor A/D: ADRESH,
ADRESL, ADCONO, ADCON1.
• EUSART: TXREG, TXSTA, RCSTA.
• CCP: CCPR1H, CCPR1L, CCP1CON
• MSSP: SSPSTAT, SSPDATA, SSPCFG
• Puertos de E/S: TRISA, PORTA, TRISB,
PORTB. 4
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
5. REGISTROS
Registro ADCON1
Para poder configurarlo debemos asignar valores
digitales a cada bit del registro, por ejemplo:
5
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
• VCFG1: Bit de configuración de la tensión de referencia VREF-:
VCFG1=‘0’: VREF- se conecta a VSS
VCFG1=‘1’: VREF- se conecta a RA2
• VCFG0: Bit de configuración de la tensión de referencia VREF+:
VCFG1=‘0’: VREF+ se conecta a VDD
VCFG1=‘1’: VREF+ se conecta a RA2
• PCFG3..PCFG0: Bits configuración de los puertos de conversión
A/D. Mediante estos bits se establecen que líneas físicas
(RA5..RA0, RB4..RB0, RE1 y RE0) van a trabajar como entradas
del convertidor A/D (Ver Tabla de configuración de líneas de
conversión A/D).
6. ¿Que te parece lo que hemos
dicho has ahora?...
¿Interesante verdad?
Es importante tener en cuenta que los resgistro funcionan como
estiquetas o nombres que le colocamos a los niveles de la pila de
memoria, para que el micro los pueda almacenar ordenadamente
y encontrarlos cuando se le solicite, tambien recueda que su
funcion principal es configurar y controlar las acciones del
microcontrolador
6
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
¡Sigamos adelante!
7. Sistema de Interrupciones
Las interrupciones son eventos que originan
que el microcontrolador detenga la tarea que
esta atendiendo en ese momento en el que se
da la interrupción, y se dirige a ejecutar las
líneas de programación de la tarea asignada.
Por ejemplo, imaginemos que te encuentras en
tu casa haciendo el aseo, y en ese momento
llega la vecina con una urgencia a solicitar tu
ayuda, entonces, debes dejar de hacer el aseo y
prestar ayuda a la vecina.
Así tal cual pasa con el micro controlador y las
interrupciones.
7
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
El micro controlador ejecuta líneas de código
de manera ordenada, descendente, lo que
origina que solo ejecute una tarea a la vez, por
lo que se emplean las interrupciones para que
este puedan atenden varios eventos, según la
prioridad del evento.
¿Qué quiere decir esto?
Que se le puede asignar un nivel de prioridad
a cada interrupción para que puedan ser
atendidas.
¿Qué Son las Interrupciones?
8. Sistema de Interrupciones
El PIC18F4550 dispone de 21 fuentes de
interrupciones distribuidas en dos grupos de
interrupciones:
Grupo general de interrupciones:
▪Interrupción Del Temporizador 0
▪Interrupción Por Cambio En PORTB
▪Interrupción Externa 0
▪Interrupción Externa 1
▪Interrupción Externa 2
8
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
Grupo de interrupciones de periféricos:
▪Interrupción Del SPP
▪Interrupción De Fallo Del Oscilador
▪Interrupción Del A/D
▪Interrupción Del Comparador,
▪Interrupción De Recepción De La EUSART
▪Interrupción Del USB
▪Interrupción De Transmisión De La EUSART
▪Interrupción De Escritura En Flash/EEPROM
▪Interrupción Del MSSP
▪Interrupción De Colisión De Bus (MSSP).
▪Interrupción Del Ccp1
▪Interrupción Del Detección De Anomalías En Vdd
▪Interrupción Del Temporizador 1
▪Interrupción Del Temporizador 2
▪Interrupción Del Temporizador 3.
9. Sistema de Interrupciones
Se deben configurar los registros indicados según el tipo de interrupción que se
desea trabajar. Teniendo en cuenta los niveles de prioridad: Nivel alto vectorizado
en la dirección 0008H Nivel bajo vectorizado en la dirección 0018H
Todas las interrupciones pueden ser programadas con cualquiera de las dos
prioridades, menos la interrupción externa 0 (que siempre tiene alta prioridad).
Todas las interrupciones disponen de 3 bits de configuración (excepto la
interrupción externa 0 que tiene dos):
▪Bit de habilitación de interrupción: permite habilitar a nivel individual
la interrupción.
▪Flag de interrupción: se pone a '1' cuando se produce la condición de
interrupción independientemente de si la interrupción esta habilitada o
no. Este flag debe colocarse a ‘0’por software cuando se procesa la
interrupción.
▪Bit de prioridad de interrupción: establece si la interrupción es de alta o
de baja prioridad este bit no esta disponible para la interrupción
externa 0
9
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
Registros Asociados al sistema
de interrupciones
▪RCON
▪INTCON
▪INTCON2
▪INTCON3
▪PIR1
▪PIR2
▪PIE1
▪PIE2
▪IPR1
▪IPR2
¿Cómo se configuran o activan las Interrupciones?
10. “
Ahora vamos analizar como configurar cada BIT, de cada
registro asignado a cada interrupcion, configurandolos
podremos usar correctamente las Interruciones que
necesitemos
¿Que te parece?...
Ok, Sigamos avanzando entonces.
10
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
11. Sistema de Interrupciones
Para configurar el Registro RCON
Este registro se encaga de habilitar las prioridades de las interrupcion,
para ello Se denben dar valores digitales (1 o 0) al IPEN bit 7 de este
registro:
▪IPEN: Bit de habilitación de prioridades en las interrupciones
▪IPEN= ‘0’: Sistema de prioridad en las interrupciones deshabilitado
▪IPEN=‘1’: Sistema de prioridad en las interrupciones habilitado
11
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
¿Cómo se configuran los registros?
Registro RCON
12. Sistema de Interrupciones
Para configurar el Registro INTCON
Este registro se encaga de la habilitación global de las
interrupciones. Su función depende del valor de IPEN,
para ello se debe asignar valor digital (1 o 0) a los Bits
GIE/GIEH, PELE/GIEI, TMR0IE, TMR0IF :
Asignando valor al Bit
GIE/GIEH: Bit de habilitación global de las
interrupciones
Si IPEN=‘0':
▪GIE= '0’ : Interrupciones deshabilitadas a nivel global
▪GIE=‘1': Interrupciones habilitadas a nivel global
Si IPEN=‘1':
▪GIE='0’ : Interrupciones de alta prioridad
deshabilitadas a nivel global
▪GIE=‘1': Interrupciones de alta prioridad habilitadas a
nivel global
12
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
¿Cómo se configuran los registros?
Registro INTCON
13. Sistema de Interrupciones
Para configurar el Registro INTCON
Asignando valor al Bit
PELE/GIEI: Bit de habilitación global de las interrupciones
de periféricos
Si IPEN=‘0'
▪PEIE='0': Interrupciones de periféricos deshabilitadas a
nivel global
▪PEIE=‘1’: Interrupciones de periféricos habilitadas a
nivel global
Si IPEN=‘1’:
▪ GIEL='0': Interrupciones de baja prioridad
deshabilitadas a nivel global
▪ GIEL=‘1’: Interrupciones de baja prioridad
habilitadas a nivel global
13
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
¿Cómo se configuran los registros?
Registro INTCON
14. Wilfran Yaraure
Ing. En Electronica
Facilitador
Sistema de Interrupciones
Para configurar el Registro INTCON
Asignando valor al Bit
TMR0IE: Bit de habilitación de la interrupción de
desbordamiento del Temporizador 0:
▪TMR0IE=‘0’: Interrupción deshabilitada de
desbordamiento del Temporizador 0
▪TMR0IE=‘1’: Interrupción habilitada de
desbordamiento del Temporizador 0
Asignando valor al Bit
INT0IE: Bit de habilitación de la Interrupción externa 0
▪INT0IE=‘0’: Interrupción externa 0 deshabilitada
▪INT0IE=‘1’: Interrupción externa 0 habilitada
Asignando valor al Bit
RBIE: Bit de habilitación de la interrupción por Cambio en el
Puerto B
▪RBIE=‘0’: Interrupción por cambio en el Puerto B
deshabilitada
▪RBIE=‘1’: Interrupción por cambio en el Puerto B
habilitada
14
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
¿Cómo se configuran los registros?
Registro INTCON
15. Wilfran Yaraure
Ing. En Electronica
Facilitador
Sistema de Interrupciones
Para configurar el Registro INTCON
Asignando valor al Bit
TMR0IF: Flag de la interrupción de desbordamiento
del Temporizador 0
▪TMR0IF=‘0': No se ha producido
desbordamiento del Temporizador 0
▪TMIR0IF=‘1’: Se ha producido
desbordamiento del Temporizador 0
Asignando valor al Bit
INT0IF: Flag de la Interrupción externa 0
▪INT0IF=‘0’: No se ha producido un flanco en
la línea RB0/INT0
▪INT0IF=‘1’: Se ha producido un flanco en la
línea RB0/INT0
Asignando valor al Bit
RBIF: Flag de la interrupción por Cambio en el
Puerto B
▪RBIF=‘0’: No se ha producido ningún cambio
en ninguna de las líneas RB7,RB6,RB5,RB4.
▪RBIF=‘1’: Se ha producido un cambio en de la
líneas RB7,RB6,RB5,RB4.
15
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
¿Cómo se configuran los registros?
Registro INTCON
16. Sistema de Interrupciones
Para configurar el Registro INTCON2
Este registro se encaga de de habilitación de las
interrupciones externas. para ello se debe asignar valor
digital (1 o 0) a los Bits RBPU, INTEDG0, INTEDG1,
INTEDG2 , TMR0IP, RBIP:
16
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
¿Cómo se configuran los registros?
Registro INTCON2
17. Wilfran Yaraure
Ing. En Electronica
Facilitador
Sistema de Interrupciones
Para configurar el Registro INTCON2
Asignando valor al Bit
RBPU: :Bit de habilitación de las Resistencias de pull-up del
Puerto B
▪RBPU=‘0’: Las resistencias de pull-up del Puerto B están
activadas.
▪RBPU=‘1’: Las resistencias de pull-up del Puert B están
desactivadas
Asignando valor al Bit
INTEDG0: Bit de selección de flanco de la Interrupción
externa 0
▪INTEDG0=‘0’: Interrupción externa 0 se dispara por
flanco de bajada
▪INTEDG0=‘1’: Interrupción externa 0 se dispara por
flanco de subida
Asignando valor al Bit
INTEDG1: Bit de selección de flanco de la Interrupción
externa 1
▪INTEDG1=‘0’: Interrupción externa 1 se dispara por
flanco de bajada
▪INTEDG1=‘1’: Interrupción externa 1 se dispara por
flanco de subida
17
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
¿Cómo se configuran los registros?
Registro INTCON2
18. Wilfran Yaraure
Ing. En Electronica
Facilitador
Sistema de Interrupciones
Para configurar el Registro INTCON2
Asignando valor al Bit
INTEDG2: Bit de selección de flanco de la Interrupción
externa 2
▪INTEDG2=‘0’: Interrupción externa 2 se dispara por
flanco de bajada
▪INTEDG2=‘1’: Interrupción externa 2 se dispara por
flanco de subida
Asignando valor al Bit
TMR0IP: Bit de selección de prioridad de la interrupción del
Temporizador 0
▪TMR0IP=‘0’: Prioridad baja para la interrupción del
Temporizador 0
▪TMR0IP=‘1’: Prioridad alta para la interrupción del
Temporizador 0
Asignando valor al Bit
RBIP: Bit de selección de prioridad de Interrupción por
cambio en el Puerto B
▪RBIP=‘0': Prioridad baja por Interrupción por cambio
en el Puerto B
▪RBIP=‘1': Prioridad alta por Interrupción por cambio
en el Puerto B
18
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
¿Cómo se configuran los registros?
Registro INTCON2
19. Sistema de Interrupciones
Para configurar el Registro INTCON3
Este registro se encaga de de habilitación de las
PRIORIDADES de interrupciones externas 1 y 2. para ello
se debe asignar valor digital (1 o 0) a los Bits INT2IP,
INT1IP, INT2IE, INT1IE, INT2IF, INT1IF:
19
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
¿Cómo se configuran los registros?
Registro INTCON3
20. Registro INTCON3
Wilfran Yaraure
Ing. En Electronica
Facilitador
Sistema de Interrupciones
Para configurar el Registro INTCON3
Asignando valor al Bit
INT2IP: Bit de selección de prioridad de la Interrupción
externa 2
▪INT2IP=‘0’: Prioridad baja para la Interrupción
externa 2
▪INT2IP=‘1’: Prioridad alta para la Interrupción
externa 2
Asignando valor al Bit
INT1IP: Bit de selección de prioridad de la Interrupción
externa 1
▪INT1IP=‘0’: Prioridad baja para la Interrupción
externa 1
▪INT1IP=‘1’: Prioridad alta para la Interrupción
externa 1
Asignando valor al Bit
INT2IE: Bit de habilitación de la Interrupción externa 2
▪INT2IE=‘0’: Interrupción externa 2 deshabilitada
▪INT2IE=‘1’: Interrupción externa 2 habilitada
20
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
¿Cómo se configuran los registros?
21. Registro INTCON3
Wilfran Yaraure
Ing. En Electronica
Facilitador
Sistema de Interrupciones
Para configurar el Registro INTCON3
Asignando valor al Bit
INT1IE: Bit de habilitación de la Interrupción externa 1
▪INT1IE=‘0’: Interrupción externa 1 deshabilitada
▪INT1IE=‘1’: Interrupción externa 1 habilitada
Asignando valor al Bit
INT2IF: Flag de la Interrupción externa 2
▪INT2IF=‘0’: No se ha producido flanco en la línea
RB2/INT2
▪INT2IF=‘1’: Se ha producido flanco en la línea
RB2/INT2
Asignando valor al Bit
INT1IF: Flag de la Interrupción externa 1
▪INT1IF=‘0’: No se ha producido flanco en la línea
RB1/INT1
▪INT1IF=‘1’: Se ha producido flanco en la línea
RB1/INT1
21
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
¿Cómo se configuran los registros?
22. Sistema de Interrupciones
Para configurar el Registro PIR1
Este registro se encaga de de habilitación de las de interrupciones por
comunicación paralelo, serial ADC, y comparadores. para ello se debe
asignar valor digital (1 o 0) a los Bits
SPPIF, ADIF, RCIF, TXIF, SSPIF, CCP1IF, TMR2IF, Temporizador 1 :
22
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
¿Cómo se configuran los registros?
Registro PIR1
23. Registro PIR1
Wilfran Yaraure
Ing. En Electronica
Facilitador
Sistema de Interrupciones
Para configurar el Registro PIR1
Asignando valor al Bit
SPPIF: Flag de la interrupción de lectura/escritura en el
canal de transmisión de datos en paralelo (SPP)
▪SPPIF=‘0’: No se ha producido operación de
lectura/escritura en el SPP
▪SPPIF=‘1’: Se ha producido operación de
lectura/escritura en el SPP
Asignando valor al Bit
ADIF: Flag de la interrupción del convertidor A/D
▪ADIF=‘0’: No se ha completado la conversión A/D
▪ADIF=‘1’: Se ha se ha completado una conversión
A/D
Asignando valor al Bit
RCIF : Flag de la interrupción de recepción del EUSART
▪RCIF=‘0’: El búfer de recepción del EUSART
(RCREG) esta vacío
▪RCIF=‘1’: El búfer de recepción del EUSART
(RCREG) esta lleno
23
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
¿Cómo se configuran los registros?
24. Registro PIR1
Wilfran Yaraure
Ing. En Electronica
Facilitador
Sistema de Interrupciones
Para configurar el Registro PIR1
Asignando valor al Bit
TXIF : Flag de la interrupción de transmisión del EUSART
▪TXIF=‘0’: El búfer de recepción del EUSART (TXREG) esta
lleno
▪TXIF=‘1’: El búfer de recepción del EUSART (RCREG)
esta vacío
Asignando valor al Bit
SSPIF: Flag de la interrupción del puerto serie síncrono
▪SSPIF=‘0’: A la espera de una recepción/transmisión
▪SSPIF=‘1’: Se ha producido una transmisión/recepción
Asignando valor al Bit
CCP1IF: Flag de la interrupción del modulo 1 de
Comparación/Captura/PWM(CCP1)
Modo Captura:
▪CCP1IF=‘0’: No se ha capturado el valor del
Temporizador 1
▪CCP1IF=‘1’: Se ha capturado el valor del
Temporizador 1
Modo Comparación:
▪CCP1IF=‘0’: No se ha producido igualdad con el valor
del Temporizador 1
▪CCP1IF=‘1’: Se ha producido igualdad con
Temporizador 1
24
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
¿Cómo se configuran los registros?
25. Registro PIR1
Wilfran Yaraure
Ing. En Electronica
Facilitador
Sistema de Interrupciones
Para configurar el Registro PIR1
Asignando valor al Bit
TMR2IF: Flag de la interrupción de igualdad entre TMR2 y
PR2
▪TMR21F=‘0’: No se ha producido igualdad con el
valor del Temporizador 2 y el valor del registro PR2
▪TMR21F=’1’: Se ha producido igualdad con el valor
del Temporizador 2 y el valor del registro PR2
Asignando valor al Bit
TMR1IF: Flag de la interrupción de desbordamiento del
Temporizador 1
▪TMR1IF=‘0’: No se ha producido desbordamiento del
Temporizador 1
▪TMR1IF=‘1’: Se ha producido desbordamiento del
Temporizador 1
25
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
¿Cómo se configuran los registros?
26. Sistema de Interrupciones
Para configurar el Registro PIR2
Este registro se encaga de la habilitación de las de interrupciones por
Oscilador, modulo SSP, comparador 2, USB, MEMORIA EEPROM, Modulo
SSp, Tensión Alta o Baja, Temporizador 3, PWM. para ello se debe asignar
valor digital (1 o 0) a los Bits
OSCFIF, CMIF, USBIF, EEIF, BCLIF, HLVIF, TMR3IF, CPP2IF
26
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
¿Cómo se configuran los registros?
Registro PIR2
27. Wilfran Yaraure
Ing. En Electronica
Facilitador
Sistema de Interrupciones
Para configurar el Registro PIR2
Asignando valor al Bit
OSCFIF: Flag de la interrupción de fallo en el oscilador
▪OSCFI=‘0’: El oscilador funciona correctamente
▪OSCFIF=‘1’: Se ha producido un fallo en el oscilador. La
señal de reloj ha sido conmutada a INTOSC
Asignando valor al Bit
CMIF: Flag de la interrupción del comparador
▪CMIF=‘0’: La entrada del comparador no ha cambiado
▪CMIF=‘1’: La entrada del comparador ha cambiado
Asignando valor al Bit
USBIF: Flag de la interrupción del USB
▪USBIF=‘0’: El modulo USB no ha generado una interrupción
▪USBIF=‘0’: El modulo USB ha generado una interrupción
Asignando valor al Bit
EEIF : Flag de la interrupción de escritura en las memorias
EEPROM/ Flash
▪EEIF=‘0’: La operación de escritura en memoria
EEPROM/Flash no se ha iniciado o no ha concluido
▪EEIF=‘1’: La operación de escritura en memoria
EEPROM/Flash ha concluido
27
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
¿Cómo se configuran los registros?
Registro PIR2
28. Wilfran Yaraure
Ing. En Electronica
Facilitador
Sistema de Interrupciones
Para configurar el Registro PIR2
Asignando valor al Bit
BCLIF: Flag de la interrupción de colisión de bus en el SSP
▪BCLIF=‘0’: No se ha producido colisión de bus en el SSP
▪BCLIF=‘1’: Se ha producido colisión de bus en el SSP
Asignando valor al Bit
HLVIF: Flag de la interrupción de detección de tensión alta/baja
▪HLVIF=‘0’: No se ha detectado ninguna condición de tensión
alta o Baja
▪HLVIF=‘1’: Se ha detectado ninguna condición de tensión
alta o baja
Asignando valor al Bit
TMR3IF: Flag de la interrupción de desbordamiento del
Temporizador 3
▪TMIR3IF=‘0’: No se ha producido desbordamiento del
Temporizador 3
▪TMR3IF=‘1’: Se ha producido desbordamiento del
Temporizador 3
Asignando valor al Bit
CPP2IF: Flag de la interrupción del modulo 2 de
Comparación/Captura/PWM (CCP2)
28
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
¿Cómo se configuran los registros?
Registro PIR2
29. En resumen
Debes seguir estos pasos para tratar las Interrupciones
▪Configurar el dispositivo asociado a la interrupción
(Temporizadores, EUSART, Convertidor A/D,
entre otros).
▪Habilitar a nivel global las interrupciones del grupo
correspondiente mediante los bits GIE/GIEH y
PEIE/GIEL del registro INTCON
▪Habilitar a nivel individual la interrupción
mediante el bit de habilitación.
▪Establecer la prioridad de la interrupción mediante
el bit de prioridad (solo si previamente se ha
activado el sistema de prioridad de interrupciones,
IPEN=‘1’)
29
Wilfran Yaraure
Ing. En Electronica
Facilitador
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
30. Temporizadores (Timer’s)
Son contadores que temporizan o miden el
tiempo de una instrucción.
Pueden ser utilizados con 2 propósitos, uno es
el de temporizar, y el otro es el de contar.
Temporizar a medir el tiempo como una
alarma o cronometro, mientras que contar
hace referencia a medir la cantidad de paso, o
pulsos que llegan a un determinado pin.
30
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
El PIC18F4550 cuenta con 4 TIMER´S, siendo
ellos:
Timer 0, TMR0.
Timer 1, TMR1.
Timer 2, TMR2.
Timer 3, TMR3
¿Qué Son las Temporizadores o Timer´s?
Existen Timer´s de 8bit y de 16Bit, se diferencia es la
cantidad de conteo que puede realizar
31. 31
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
Temporizadores (Timer’s)
Se deben configurar los bit necesarios del
registro correspondiente, colocando en ellos lo
valores digitales (1 o 0) .
Por ejemplo el Timer 0 (TMR0), el cual cuenta con las siguientes características:
▪Es Configurable como temporizador/contador de 8 bits/16 bits
▪Cuneta con Pre-escalador de 8 bits programable
▪Puede generar Interrupción por desbordamiento
▪Tiene Registros asociados T0CON, TMR0L, TMR0H, INTCON, TRISA
¿Cómo configurar los Timer´s?
T0CON
32. 32
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
Temporizadores (Timer’s)
Se deben configurar los bit:
TMR0ON, T08BIT, T0CS, T0SE,
PSA,T0PS2,T0PS1,T0PS0. Para iniciar se activa los Bit
TMR0ON: Que es el Bit de puesta en marcha del
Temporizador 0
T08BIT: Bit de configuración del modo 8-bit/16-bit:
▪T08BIT=‘0’: Modo 16-bit
▪T08BIT=‘1’: Modo 8-bit
Configurando el TMR0
T0CON
33. 33
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
Temporizadores (Timer’s)
Configurando el TMR0
T0CON
Para utilizarlo como contador o Temporizador
T0CS: Bit de configuración del modo
contador/temporizador
▪ T0CS=‘0': Modo temporizador (TMR0 se incrementa
en cada ciclo de instrucción Fosc/4)
▪ T0CS=‘1’: Modo contador (TMR0 se incrementa en
cada transición de la línea RA4/T0CKI)
El resto de los Bit se configura según se desee utilizar:
T0SE: Bit de selección de flanco en modo contador
▪ T0SE=‘0': TMR0 se incrementa en los flancos
de subida de la línea RA4/T0CKI
▪ T0SE=‘1’: TMR0 se incrementa en los flancos
de bajada de la línea RA4/T0CKI
34. 34
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
Temporizadores (Timer’s)
Configurando el TMR0
T0CON
PSA: Bit de activación del pre-escalar
▪ PSA=‘0’: Pre-escalar activado
▪ PSA=‘1’: Pre-escalar no activado
▪ Los T0PS2,T0PS1,T0PS0: Bits permiten la selección
del pre-escalar del Temporizador
Para la configuración del Prescalador:
35. 35
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
Temporizadores (Timer’s)
Configurando el TMR0
T0CON
T08BIT (TOCON)=‘1’/ T0CS (TOCON)=‘0’
Dos opciones:
1. Sin pre-escalar
PSA (T0CON)=‘0’ : el registro TMR0L se incrementa
con cada ciclo de instrucción (Fosc/4).
2. Con pre-escalar
PSA (T0CON)=‘1’: el contador de pre-escalar se
incrementa en cada ciclo de instrucción (Fosc/4).
Para la configuración En modo de
Temporizador de 8Bit:
Cuando el pre-escalar alcanza el valor programado en
los bits PS2, PS1, PSO (T0CON) produce un pulso que
incrementa el registro TMR0L.
Cuando se produce desbordamiento de TMR0L se
pone a ‘1’ el flag TMR0IF
36. 36
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
Temporizadores (Timer’s)
Configurando el TMR0
T0CON
T08BIT (TOCON)=‘1’/ T0CS (TOCON)=‘0’
Dos opciones:
1. Sin pre-escalar
PSA (T0CON)=‘0’ : el registro TMR0L se incrementa
con flaco de subida (T0SE=‘0’) o de bajada
(T0SE=‘1’) de la línea T0CKI (RA4)
Para la configuración En modo de
contador de 8Bit:
2. Con pre-escalar
PSA (T0CON)=‘1’: el contador de pre-escalar se
incrementa flaco de subida (T0SE=‘0’) o de bajada
(T0SE=‘1’) de la línea T0CKI (RA4). Cuando el pre-
escalar alcanza el valor programado en los bits PS2,
PS1, PSO (T0CON) produce un pulso que incrementa
el registro TMR0L.
Cuando se produce desbordamiento de TMR0L se
pone a ‘1’ el flagTMR0IF
37. TMR1:registros asociados T1CON, PIR1,PIE1, IPR1, TMR1L,TMR1H
Registro para su configuración
T1CON
TMR2: registros asociados T2CON, PIR1,PIE1, IPR1, TMR2, PR2
Registro para su configuración
T2CON
TRM3:registros asociados INTCON, PIR2,PIE2,IPR2,TMR2L,TMR2H,T1CON, T3CON.
Registro para su configuración
T3CON
37
Temporizadores (Timer’s) 1,2,3
UNIDAD I:
DESCRIPCIÓN
GENERAL DEL
PIC18F4550
Wilfran Yaraure
Ing. En Electronica
Facilitador
Te invito a
profundizar
un poco mas
sobre estos
Timers.
¡Vamos que
se puede!
38. ¡Excelente!
Ha sido un buen vuelo de Águila ahora te corresponde
seguir profundizando en este tema, recuerda dar Siempre
lo mejor, haz tu parte que yo hare la mía.
Puedes seguirme: en Ig: @profesor_y
Y escribir al Correo ucup2biounefm@gmail.com, para
plantear tus dudas.
Para finalizar sigue el recorrido la bici.
38
Wilfran Yaraure
Ing. En Electronica
Facilitador
39. “
"Tenemos el mundo aquí (en nuestras manos), debemos
hacer algo bueno con él, sino mejor nos hubiera matado a
todos"
(Steven Rogers, Avenger: End Game)
39
Las oportunidades son como los amaneceres, si te
demoras mucho te pierdes todo el espectáculo,
¿cuanto mas vas a esperar para ser el mejor, para
AMAR mas, Para perdonar, para luchar por lo que
realmente es esencial?. si no vas a hacer lo mejor
cada día, en cada tarea, en cada trabajo, en cada
relación, si no vas a darlo todo, entonces no esperes
que te toque el mejor espectáculo.
Wilfran Yaraure
Ing. En Electronica
Facilitador