Beruflich Dokumente
Kultur Dokumente
FUSIBLES E INTERRUPCIONES
I. OBJETIVOS:
Objetivo General:
Conocer sobre cada fusible e interruptor que tiene el PIC 16f887 y el
18f4550 para determinacin de cual se utiliza para un mejor
funcionamiento de los mismos.
Objetivos Especficos:
Conocer la descripcin de los fusibles y las interrupciones para los PICs
16f887 y 18f4550.
Determinar fusibles e interrupciones diferentes entre los PICS 16f887 y
18f4550.
II. INTRODUCCIN:
FUSIBLES:
1) Segn Fernando E. Valds Prez y Ramn Palls Areny en su libro
MICROCONTROLADORES: FUNDAMENTOS Y APLICACIONES CON PIC: Los
Fusibles Son configuraciones de la forma de funcionamiento del
microcontrolador, se transfieren al PIC cada vez que se graba un programa.
2) Segn Armando Astarloa Cullar y Aizol Zuloaga Izaguierreen su libro
SISTEMAS DE PROCESAMIENTO DIGITAL: Los bit's de configuracin o ms
comnmente llamados "fusibles" permiten configurar ciertas funciones en
los microcontroladores PIC, como el tipo de cristal para el oscilador,
permiten proteger el cdigo en el micro, entre muchas funciones. La
cantidad de funciones que se pueden configurar con los fusibles dependen
del microcontrolador, si tenemos en el 16F84A 4 funciones, en el 16F88 son
alrededor de 13 funciones.
3) Segn Cnovas Andrs en su documento Manual CCS Espaol alojado en
Scribd.com: Los fusibles se utilizan para configurar parmetros importantes
del sistema. A diferencia de los registros de configuracin, estos fusibles
estn relacionados con aspectos ms bsicos e importantes en el
funcionamiento del sistema (por ejemplo, los bits de fusible de la fuente de
reloj, que le permiten especificar el origen y/o la velocidad de reloj del
chip). Adems, su configuracin queda grabada en memoria Flash, de forma
tal que no se pierda al cortar la alimentacin al microcontrolador.
Ejemplos:
# FUSES LP
# FUSES XT
# FUSES HS
# FUSES RC
# FUSES WDT
Low Power
Cristal Oscilator 4Mhz.
High Speed Oscilator >4Mhz.
Montaje Resistencia Condensador.
Watch Dog Timer Activo
# FUSES NOWDT
# FUSES PROTECT
# FUSES NOPROTECT
# FUSES PUT
INTERRUPCIONES:
4) Segn Fernando E. Valds Prez y Ramn Palls Areny en su libro
MICROCONTROLADORES: FUNDAMENTOS Y APLICACIONES CON PIC:
Una solicitud de interrupcin o simplemente una interrupcin es un evento
de origen interno o externo que, si es atendido, hace que el
microcontrolador interrumpa la ejecucin del programa en curso y en su
lugar ejecute las interrupciones de otro programa. Normalmente, cuando el
programa que atiende la solicitud de interrupciones ha completado su
ejecucin, el microcontrolador continua con las instrucciones del programa
interrumpido, justo con la instruccin que sigue a la que se estaba
ejecutando cuando se produjo la solicitud de interrupcin.
SPTIMO ELECTRNICA A
MICROCONTROLADORES
Descripcin
Conversin AD completa.
Conversin AD fuera de rango de tiempo
Colisin de bus
Por botn (14000)
Erro en el mdulo CAN
Mensaje invalido n el bus CAN
Bus CAN recibe un nuevo mensaje en buffer 0
Bus CAN recibe un nuevo mensaje en buffer 1
Descripcin
Conversin AD completa.
Conversin AD fuera de rango de tiempo
Colisin de bus
Por botn (14000)
Erro en el mdulo CAN
Mensaje invalido n el bus CAN
Bus CAN recibe un nuevo mensaje en buffer 0
Bus CAN recibe un nuevo mensaje en buffer 1
Tabla 2.6.1: Ejemplos de interrupciones.
PWRTE
DESCRIPCIN
FUNCIN
PIC
Code
Protection
Este fusible si est habilitado en 16f887
Codigo de Proteccion de ON evita que otras personas
Programa
puedan leer el programa
contenido en el PIC
Config
1 = Program memory code
protection is disabled
0 = Program memory code
protection is enabled
Power-up Timer Enable Este fusible se utiliza para 16f887
Bit de Permiso para el resetear el PIC cada vez que se
Timer de Alimentacin
conecta a la fuente de
alimentacin de la aplicacin a
usarse.
SPTIMO ELECTRNICA A
MICROCONTROLADORES
WDTE
FOSC<2:0>
Config
1 = PWRT disabled
0 = PWRT enabled
Watchdog Timer Enable Este
fusible
temporizador 16f887
Temporizador de resetea el PIC cada cierto
Perro Guardin
tiempo
para
evitar
enciclamientos por error en el
programa.
Config
1 = WDT enabled
0 = WDT disabled (pudiendo ser
habilitado por SWDTEN bit del
resgistro WDTCON)
Bits de Seleccin del Este fusible define la funcin 16f887
Oscilador.
de los terminales A6 y A7. Ya
Flash
Program
Memory Self Write
Enable bits o bits de
habilitacin de auto
escritura
de
la
memoria flash de
programa.
Protege la memoria de
programa contra escritura de la
siguiente manera:
00: 0000h to 0FFFh
01: 0000h to 07FFh
10: 0000h to 00FFh
11: writte protection off
16F887
BOR4V
Brown-out
Selection bit
16f887
SPTIMO ELECTRNICA A
MICROCONTROLADORES
como el tipo de oscilador, habilitar reset, bajo voltaje en el oscilador, y otros; Los
cuales se detalla los fusibles del PIC 18F4550 diferentes al PIC 16F887.
NOMBRE DE FUSIBLE
DESCRIPCIN
CCP2 MUX bit
El
bit
de
configuracin CCP2
MUX determina qu
pin
CCP2
es
multiplexado.
Por
defecto, se le asigna
a RC1 (CCP2MX = 1)
y si el bit de
configuracin
se
borra,
CCP2
se
multiplexa con RB3.
PLL
Prescaler Este fusible funciona
Selection
como
un
multiplexor.
La
finalidad es obtener
una frecuencia de
4MHz
para
el
circuito.
System
Clock Este fusible es el
Postscaler Selection
encargado de hacer
la
divisin
de
frecuencia tanto de
la seal de entrada
96MHz o del cristal u
oscilador de entrada.
PORTB A/D
FUNCIN
Pertenece al mdulo
Capture/Compare/P
WM
PIC
18f4550
La funcin de este
Fuse es dividir la
frecuencia
de
entrada
del
Oscilador (OS1 y
OS2) a las siguientes
escalas: /No divide
(1), /2, /3, /4, /5, /6,
/10, /12.
En los dos casos se
puede
realizar
diferentes divisiones
de oscilador para de
esta manera no solo
obtener
una
frecuencia de 4MHz
sino
con
otros
valores.
Esta funcin habilita
o no la conversin
Analgica-Digital.
18f4550
Si uno requiere
hacerlo
manualmente debe
de configurar los
registros ADCON o
ANSEL
correspondientes en
el MCU.
USBDIV: USB Clock Permite realizar una Este fuse configura
Selection bit
configuracin para el de donde proviene
oscilador.
la velocidad de reloj
para el Mdulo USB.
VREGEN:
USB Modifica el voltaje Este habilita
o
SPTIMO ELECTRNICA A
18f4550
18f4550
18f4550
18f4550
MICROCONTROLADORES
Internal
Voltage del USB
Regulator Enable bit
deshabilita
la
utilizacin
del
regulador
interno
del Vbus para el
USB.
WDTPS3:
Configuracin
del Seleccin de bits
WDTPS0:Watchdog
wach dog.
para la configuracin
Timer
Postscale
del Watchdog Timer
Select bits
y para ello debe de
habilitar el uso de
este.
Low-Power Timer 1 Establece en nivel de Cuando se establece 18f4550
Oscillator
voltaje
en
la el
bit
de
configuracin
del configuracin
Timer 1, ya que este LPT1OSC,
el
puede funcionar en oscilador
Timer1
dos
diferentes opera en un modo
niveles de consumo de bajo consumo y
de energa
cuando LPT1OSC no
est
establecido,
Timer1 opera a un
nivel de potencia
ms alto
STVREN:
Stack Permite el reinicio Si est activo por 18f4550
Full/Underflow Reset del dispositivo.
causa
de
un
Enable bit
subdesbordamiento
restablece
el
dispositivo de lo
contrario
las
condiciones
de
subdesbordamiento
no restablecen el
dispositivo.
ICPRT: Dedicated In- Configuracin
del Con este fusible se 18f4550
Circuit
puerto
de activa o desactiva el
Debug/Programming .programacin
puerto de Puede
Port (ICPORT) Enable
configurar el puerto
bit
terminal
del
programa
para
enviar y recibir datos
seriales.
Tabla 2.2: Fusibles Del Pic 18f4550 Diferentes Al Pic 16f887
FUSIBLES IGUALES ENTRE 16F887 Y 18F4550
Los fusibles o tambin conocidos como bits de configuracin (BIT'S DE
CONFIGURACION) permiten configurar ciertas funciones de los microcontroladores
SPTIMO ELECTRNICA A
MICROCONTROLADORES
DESCRIPCION
FUNCION
MASTER CLEAR
RESETEA EL
MICROCONTROLAD
OR
VISUALIZA LOS
FALLOS OCURRIDOS
EN EL PIC
PROTEJE EL CODICO
DEL
MICROCONTROLAD
OR
DEPURACIN PARA
ICD (SERIE).
MCLRE
FCMEN
FAIL-SAFE CLOCK
MONITOR ENABLE BIT
CPD
DEBUG
BACKGROUND
DEBUGGER ENABLE BIT
IESO
FOSC
-
INTERNAL/EXTERNAL
OSCILLATOR
SWITCHOVER BIT
OSCILLATOR SELECTION
BITS
HS
LP
XT
EC
WDT
HIGH-SPEED
CRYSTAL/RESONA
TOR
OSCILLATOR:
LOW-POWER
CRYSTAL ON
CRYSTAL/RESONA
TOR
EXTERNAL CLOCK
WITH FOSC/4
OUTPUT
WATCHDOG TIMER
SPTIMO ELECTRNICA A
CONMUTACIN
INTERNO EXTERNO
ESTABLECE LA
OSCILACION DEL
CIRCUITO
INSTRUCCIONES
PARA
ACTIVAR/DESACTIV
AR
#FUSES MCLR
#FUSES FCMEN
#FUSES NOCPD
#FUSES CPD
#FUSES NODEBUG
#FUSES DEBUG
#FUSES IESO
#FUSES NOIESO
#FUSES HS_OSC
#FUSES XT_OSC
#FUSES LP_OSC
#FUSES EC_OSC
#FUSES NOWDT
#FUSES WDT
MICROCONTROLADORES
LVP
ESTABLECE LA
LOW-VOLTAGE ICSP
PROGRAMACION EN #FUSES NOLVP
PROGRAMMING
BAJA TENSIN DE
#FUSES LVP
PROGRAMACIN EN
B3 (PIC16) O B5
(PIC18)
Figura 2.3: Fusibles Iguales Entre 16f887 Y 18f4550
GIE
PEIE
T0IE
INTE
RBIE
T0IF
INTF
RBIF
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
NOMBRE DE BIT
SPTIMO ELECTRNICA A
MICROCONTROLADORES
Registro PIE1
El registro PIE1 contiene los bits de habilitacin de interrupciones perifricas.
PIE1
R/W(0)
R/W(0)
R/W(0)
R/W(0)
R/W(0)
R/W(0)
R/W(0)
Caractersticas
ADIE
RCIE
TXIE
SSPIE
CCP1IE
TMR2IE
TMR1IE
Nombre de bit
SPTIMO ELECTRNICA A
MICROCONTROLADORES
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-Bit no implementado
R/W Bit de lectura/escritura
(0)Despues del reinicio, el bit se pone a cero
SPTIMO ELECTRNICA A
MICROCONTROLADORES
SPTIMO ELECTRNICA A
MICROCONTROLADORES
void main() {
TRISB = 0;
Registro PIR1:
El registro PIR1 contiene los bits de banderas de interrupcin.
PIR1
Bit7
R/W(0) R(0)
ADIF
RCIF
Bit6
Bit5
R(0)
TXIF
Bit4
R/W(0) R/W(0)
SSPIF
CCP1IF
Bit3
Bit2
Leyenda:
Bit no implementado
R/W
Bit de lectura/escritura
R
Bit de lectura
(0)
Despus del reinicio, el Bit se pone a cero
ADIF - A/D Converter Interrupt Flag bit (bit de bandera de la interrupcin del
convertidor A/D)
o 1 - Se ha completado una conversin A/D (el bit debe volverse a 0 por
software)
o 0 - No se ha completado una conversin A/D o no ha empezado
SPTIMO ELECTRNICA A
MICROCONTROLADORES
SSPIF - Master Synchronous Serial Port (MSSP) Interrupt Flag bit (bit de
bandera de la interrupcin de puerto serie sncrono maestro)
o 1 - Se ha cumplido la condicin de ocurrir una interrupcin del MSSP al
transmitir/ recibir los datos. Difieren dependiendo del modo de
operacin del MSSP (SPI o I2C). El bit debe ponerse a cero por software
antes de volver de la rutina de servicio de interrupciones)
o 0 - No se ha cumplido ninguna condicin de ocurrir una interrupcin del
MSSP.
CCP1IF - CCP1 Interrupt Flag bit (bit de bandera de la interrupcin del mdulo
1 de Comparacin/Captura/PWM (CCP1).
o 1 - Se ha cumplido la condicin de la interrupcin del CCP1 (CCP1 es una
unidad para captar, comparar y generar una seal PWM). Dependiendo
del modo de operacin (modo captura o modo comparacin), se
produce una captura o la igualdad en la comparacin. En ambos casos,
el bit debe volverse a cero por software. El bit no se utiliza en el modo
PWM.
o 0 - No se ha cumplido la condicin de la interrupcin del CCP1.
SPTIMO ELECTRNICA A
MICROCONTROLADORES
R/W-0
C2IF
Bit 6
Leyenda
R=Readable bit
-n= Value at POR
R/W-0
C1IF
Bit 5
R/W-0
EEIF
Bit 4
R/W-0
BCLIF
Bit 3
R/W-0
U-0
R/W-0
ULPWUIF Unimplemented CCP2IF
Bit 2
Bit 1
Bit 0
Numero de Bit
Interrupcion
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Unimplemented: Read as 0
Bit 0
is
SPTIMO ELECTRNICA A
MICROCONTROLADORES
Numero de Bit
Interrupcion
Bit 7
Unimplemented: Read as 0
Bit 6
Unimplemented: Read as 0
Bit 5
SPTIMO ELECTRNICA A
is
MICROCONTROLADORES
Bit 4
Bit 3
Unimplemented: Read as 0
Bit 2
Unimplemented: Read as 0
Bit 1
Bit 0
SPTIMO ELECTRNICA A
MICROCONTROLADORES
SPTIMO ELECTRNICA A
MICROCONTROLADORES
Funcin
When IPEN = 0:
When IPEN = 1:
When IPEN = 1:
SPTIMO ELECTRNICA A
MICROCONTROLADORES
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
Unimplemented: Read as 0
SPTIMO ELECTRNICA A
MICROCONTROLADORES
1 = Enabled
0 = Disabled
1 = Enabled
0 = Disabled
1 = Enabled
0 = Disabled
1 = Enabled
0 = Disabled
1 = Enabled
0 = Disabled
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
SPTIMO ELECTRNICA A
MICROCONTROLADORES
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
1 = High priority
0 = Low priority
Unimplemented
Read as 0
RI
Nombre
SPTIMO ELECTRNICA A
Parmetros
Funcin
MICROCONTROLADORES
REGISTRO INTCON
16F887
18F4550
INTCON
(registro de control de
interrupcin)
GIE
Global Interrupt Enable
bit (bit de habilitacin de
interrupciones globales)
GIEH(Interrupciones de alta
prioridad)
PEIE
Peripheral Interrupt Enable
bit (bit de habilitacin de
interrupciones perifricas)
GIEL (Interrupciones de baja
prioridad)
T0IE - TMR0IE
TMR0 Overflow Interrupt
Enable bit (bit de
habilitacin de
interrupciones por el
desbordamiento del
temporizador Timer0)
SPTIMO ELECTRNICA A
16f887
INTCON
18F4550
INTCON, INTCON2,
INTCON3
Interrupcin externa
1 - Interrupciones
habilitadas a nivel global
0 - Interrupciones
deshabilitadas a nivel
global.
Interrupcin externa
1 - Interrupciones de
perifricos
deshabilitadas a nivel
global
0 - Interrupciones de
perifricos habilitadas a
nivel global.
Interrupcin externa
1 - Habilita
interrupciones por
Timer0.
0 - Deshabilita
interrupciones por
Timer0.
MICROCONTROLADORES
INTE
External Interrupt Enable
bit (bit de habilitacin de la
interrupcin externa)
RBIE
RB Port Change Interrupt
Enable bit (bit de
habilitacin de
interrupciones por cambios
en el puerto PORTB)
T0IF- TMR0IF
TMR0 Overflow Interrupt
Flag bit (bit de bandera de
interrupcin por el desbor
damiento del Timer0)
INTF- INT0IF
External Interrupt Flag
bit (bit de bandera de
interrupcin externa en INT)
RBIF
RB Port Change Interrupt
Flag bit (Flag de la
interrupcin por cambio en
el Puerto B)
SPTIMO ELECTRNICA A
Interrupcin externa
1 - Habilita
interrupciones externas
INT.
0 - Deshabilita
interrupciones externas
INT.
Interrupcin externa
1 - Habilita
interrupciones por
cambio en el puerto
PORTB.
0 - Deshabilita
interrupciones por
cambio en el puerto
PORTB.
Controla interrupciones
causadas por el cambio del
estado lgico en el pin de
entrada RB0/INT en el caso
del 16F887, en el caso del
18F4550 los pines de
entrada con BR0, RB1, RB2
1 - En el registro del
Timer0 ha ocurrido
desbordamiento (esta
bandera debe volverse a
0 por software).
0 - En el registro del
Timer0 no ha ocurrido
desbordamiento.
Detecta el desbordamiento
en el registro del
temporizador Timer0, es
decir el contador se pone a
cero.
Interrupcin externa
1 - Ha ocurrido una
interrupcin externa por
INT (esta bandera debe
volverse a 0 por
software)
0 - No ha ocurrido una
interrupcin externa por
INT.
Detecta el cambio en el
estado lgico en el o los
pines INT
MICROCONTROLADORES
software).
0 - Ninguno de los pines
de E/S de propsito
general en el puerto B ha
cambiado de valor.
Registro PIE1 (PERIPHERAL INTERRUPT ENABLE REGISTER 1)
Contiene los bits de habilitacin de interrupciones perifricas.
16f887
18F4550
ADIE
A/D Converter Interrupt
Enable bit (bit de
habilitacin de
interrupciones del
convertidor A/D)
RCIE
EUSART Receive Interrupt
Enable bit (bit de
habilitacin de
interrupciones de recepcin
del EUSART)
TXIE
EUSART Transmit Interrupt
Enable bit (bit de
habilitacin de
interrupciones de
transmisin del EUSART)
SSPIE
Master Synchronous Serial
Port (MSSP) Interrupt
Enable bit (bit de
habilitacin de la
interrupcin del puerto
serie sncrono maestro
SPTIMO ELECTRNICA A
1 - Habilita la
interrupcin ADC.
0 - Deshabilita la
interrupcin ADC.
1 - Habilita la
interrupcin de
recepcin del EUSART.
0 - Deshabilita la
interrupcin de
recepcin del EUSART.
1 - Habilita la
interrupcin de
transmisin del EUSART.
0 - Deshabilita la
interrupcin de
transmisin del EUSART.
1 - Habilita la
interrupcin del MSSP.
0 - Deshabilita la
interrupcin del MSSP.
MICROCONTROLADORES
(MSSP)
CCP1IE
CCP1 Interrupt Enable
bit (bit de habilitacin de la
interrupcin del mdulo 1
de
Comparacin/Captura/PWM
- CCP1)
TMR2IE
TMR2 to PR2 Match
Interrupt Enable bit (bit de
habilitacin de la
interrupcin de igualdad
entre TMR2 y PR2)
TMR1IE
TMR1 Overflow Interrupt
Enable bit (bit de
habilitacin de la
interrupcin de
desbordamiento del
temporizador Timer1)
1 - Habilita la
interrupcin CCP1.
0 - Deshabilita la
interrupcin CCP1.
1 - Habilita la
interrupcin de igualdad
entre TMR2 y PR2.
0 - Deshabilita la
interrupcin de igualdad
entre TMR2 y PR2.
1 - Habilita la
interrupcin de
desbordamiento del
temporizador Timer1.
0 - Deshabilita la
interrupcin de
desbordamiento del
temporizador Timer1.
18F4550
OSFIE
Oscillator Fail Interrupt
Enable bit (bit de
habilitacin de la
interrupcin de fallo en el
oscilador)
EEIE
EEPROM Write Operation
SPTIMO ELECTRNICA A
1 - Habilita la
interrupcin de fallo en
el oscilador.
0 - Deshabilita la
interrupcin de fallo en
el oscilador.
Habilita la interrupcin si se
produce algn tipo de fallo
en el oscilador
1 - Habilita la
interrupcin de escritura
MICROCONTROLADORES
en la memoria EEPROM.
0 - Deshabilita la
interrupcin de escritura
en la memoria EEPROM.
EEPROM
BCLIE
1 - Habilita la
interrupcin de colisin
de bus.
0 - Deshabilita la
interrupcin de colisin
de bus.
Habilita la interrupcin si se
produce una colisin en el
bus
1 - Habilita la
interrupcin del CCP2.
0 - Deshabilita la
interrupcin del CCP2.
Interrupcin externa
1 - Interrupcin por
flanco ascendente
0 - Interrupcin por
flanco descendente
16f887
Una sola interrupcin
INTEDG
18F4550
Tres interrupciones:
INTEDG0, INTEDG1,
INTEDG2
Ejecuta interrupciones
externas en dependencia
del flanco activo que se
configure (subida o bajada)
INTEDG
Interrupt Edge Select bit (bit
selector de flanco activo de
la interrupcin externa)
SPTIMO ELECTRNICA A
MICROCONTROLADORES
http://www.ucontrol.com.ar/forosmf/programacion-en-c/ccs-softwarecalculadora-cientifica-grafica/20/?wap2
Microchip Technology Incorporated (2007). Data Sheet 28/40/44-Pin, Enhanced
Flash-Based 8-Bit CMOS microcontrollers with nanoWatt Technology
http://ww1.microchip.com/downloads/en/DeviceDoc/41291D.pdf Printed in
the U.S.A, All Rights Reserved.
SPTIMO ELECTRNICA A
MICROCONTROLADORES
SPTIMO ELECTRNICA A
MICROCONTROLADORES