Está en la página 1de 58

Machine Translated by Google

PIC18(L)F2X/45K50
10.0 INTERRUPCIONES 10.2 Prioridad de interrupción

Los dispositivos PIC18(L)F2X/45K50 tienen múltiples fuentes de La función de prioridad de interrupción se habilita configurando el bit
interrupción y una función de prioridad de interrupción que permite IPEN del registro RCON. Cuando la prioridad de interrupción está
asignar un nivel de prioridad alto o bajo a la mayoría de las fuentes habilitada, los bits de habilitación de interrupción global GIE/GIEH y
de interrupción (INT0 no tiene un bit de prioridad, siempre es una PEIE/GIEL del modo de compatibilidad se reemplazan por las
prioridad alta). El vector de interrupción de alta prioridad está en habilitaciones de interrupción global de alta prioridad GIEH y GIEL de
0008h y el vector de interrupción de baja prioridad está en 0018h. Un baja prioridad. Cuando se establece, el bit GIEH del registro INT CON
evento de interrupción de alta prioridad interrumpirá una interrupción habilita todas las interrupciones que tienen su registro IPRx asociado
de baja prioridad que pueda estar en curso. o bit de prioridad de registro INTCONx establecido (prioridad alta).
Cuando está claro, el bit GIEH desactiva todas las fuentes de
Hay 13 registros utilizados para controlar la operación de interrupción.
interrupción, incluidas las seleccionadas como de baja prioridad.
Cuando está borrado, el bit GIEL del registro INTCON deshabilita solo
Estos registros son: las interrupciones que tienen su bit de prioridad asociado borrado
• INTCON, INTCON2, INTCON3 • PIR1, PIR2, (prioridad baja). Cuando se establece, el bit GIEL habilita las fuentes
de baja prioridad cuando también se establece el bit GIEH.
PIR3 • PIE1, PIE2, PIE3 • IPR1, IPR2, IPR3

Cuando el indicador de interrupción, el bit de habilitación y el bit de


habilitación de interrupción global (GIE) apropiado están todos
• RCON
establecidos, la interrupción se vectorizará inmediatamente a la
Se recomienda utilizar los archivos de encabezado de Microchip dirección 0008h para prioridad alta o 0018h para prioridad baja, según
suministrados con MPLAB® IDE para los nombres de bits simbólicos el nivel del bit de prioridad de la fuente de interrupción. Las
en estos registros. Esto permite que el ensamblador/compilador se interrupciones individuales se pueden deshabilitar a través de sus
ocupe automáticamente de la ubicación de estos bits dentro del correspondientes bits de habilitación de interrupción.
registro especificado.

En general, las fuentes de interrupción tienen tres bits para controlar 10.3 Respuesta a la interrupción
su funcionamiento. Ellos son: • Bit de bandera para indicar que
Cuando se responde a una interrupción, el bit de habilitación de
ocurrió un evento de interrupción interrupción global se borra para deshabilitar más interrupciones. El
bit GIE/GIEH es la habilitación de interrupción global cuando se borra
• Bit de habilitación que permite que la ejecución del programa el bit IPEN. Cuando se establece el bit IPEN, que habilita los niveles
bifurcar a la dirección del vector de interrupción cuando se de prioridad de interrupción, el bit GIEH es la habilitación de
establece el bit de bandera • Bit de prioridad para seleccionar interrupción global de alta prioridad y el bit GIEL es la habilitación de

prioridad alta o prioridad baja interrupción global de baja prioridad. Las fuentes de interrupción de
alta prioridad pueden interrumpir una interrupción de baja prioridad.

10.1 Compatibilidad de gama media Las interrupciones de baja prioridad no se procesan mientras las
interrupciones de alta prioridad están en curso.
Cuando se borra el bit IPEN (estado predeterminado), la función de
La dirección de retorno se coloca en la pila y la PC se carga con la
prioridad de interrupción se desactiva y las interrupciones son
dirección del vector de interrupción (0008h o 0018h). Una vez en la
compatibles con los dispositivos de rango medio del microcontrolador
Rutina de Servicio de Interrupción, la(s) fuente(s) de la interrupción
PIC. En el modo de compatibilidad, los bits de prioridad de interrupción
pueden determinarse sondeando los bits indicadores de interrupción
de los registros IPRx no tienen efecto. El bit PEIE/GIEL del registro
en los registros INTCONx y PIRx. El software debe borrar los bits de
INTCON es la habilitación de interrupción global para los periféricos.
la bandera de interrupción antes de volver a habilitar las interrupciones
El bit PEIE/GIEL deshabilita solo las fuentes de interrupción periféricas
para evitar repetir la misma interrupción.
y habilita las fuentes de interrupción periféricas cuando también se
establece el bit GIE/GIEH. El bit GIE/GIEH del registro INTCON es la
habilitación de interrupción global que habilita todas las fuentes de La instrucción “return from interrupt”, RETFIE, sale de la rutina de

interrupción no periféricas y deshabilita todas las fuentes de interrupción y establece el bit GIE/GIEH (GIEH o GIEL si se usan

interrupción, incluidos los periféricos. Todas las interrupciones se niveles de prioridad), que vuelve a habilitar las interrupciones.

bifurcan a la dirección 0008h en el modo de compatibilidad.


Para eventos de interrupción externa, como los pines INT o la
interrupción por cambio de PORTB, la latencia de interrupción será
de tres a cuatro ciclos de instrucción. La latencia exacta es la misma
para instrucciones de uno o dos ciclos. Se establecen bits de marca
de interrupción individuales, independientemente del estado de sus
bits de habilitación correspondientes o del bit de habilitación de
interrupción global.

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 111


Machine Translated by Google

PIC18(L)F2X/45K50

Nota: No utilice la instrucción MOVFF para


modificar cualquiera de los registros de control de
interrupción mientras cualquier interrupción está habilitada.
Si lo hace, puede provocar un comportamiento
errático del microcontrolador.

FIGURA 10-1: LÓGICA DE INTERRUPCIÓN PIC18

Despierta si en
INT0IF
Modos inactivo o de suspensión
INT0IE

TMR0IF
TMR0IE
TMR0IP
IOCIF (1)
IOCIE
IOCIP
INT1SI Interrumpir a la CPU
INT1IE Vector a ubicación
PIR1<7:0>
TARTA1<7:0> INT1IP 0008h
IPR1<7:0> INT2IF
PIR2<7:0> INT2IE
PIE2<7:0> INT2IP
IPR2<7:0>
GIEH/GIE
PIR3<7:0>
PIE3<7:0>
IPR3<7:0> IPEN

IPEN
GIEL/PEIE

IPEN

Generación de interrupciones de alta prioridad

Generación de interrupciones de baja prioridad

PIR1<7:0>
TARTA1<7:0>
IPR1<7:0>
PIR2<7:0>
PIE2<7:0>
IPR2<7:0>
PIR3<7:0>
PIE3<7:0>
IPR3<7:0> Interrumpir a la CPU
TMR0IF Vector a ubicación
TMR0IE 0018h
TMR0IP
(1)
IOCIF
IOCIE
IOCIP GIEH/GIE
GIEL/PEIE

INT1SI
INT1IE
INT1IP

INT2IF
INT2IE
INT2IP

Nota 1: La interrupción IOCIF también requiere las habilitaciones de IOCB de pin individual.

DS30000684B-página 112 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50
10.4 Registros INTCON
Los registros INTCON son registros de lectura y escritura, que
contienen varios bits de activación, prioridad y bandera.

10.5 Registros PIR


Los registros PIR contienen los bits de bandera individuales
para las interrupciones periféricas. Debido a la cantidad de
fuentes de interrupción periférica, hay tres registros de bandera
de solicitud de interrupción periférica (PIR1, PIR2 y PIR3).

10.6 Registros PIE


Los registros PIE contienen los bits de habilitación individuales
para las interrupciones periféricas. Debido a la cantidad de
fuentes de interrupción periférica, hay tres registros de
habilitación de interrupción periférica (PIE1, PIE2 y PIE3).
Cuando IPEN = 0, el bit PEIE/GIEL debe configurarse para
habilitar cualquiera de estas interrupciones periféricas.

10.7 Registros de DPI


Los registros IPR contienen los bits de prioridad individuales
para las interrupciones periféricas. Debido a la cantidad de
fuentes de interrupción periférica, hay tres registros de prioridad
de interrupción periférica (IPR1, IPR2 e IPR3). El uso de los bits
de prioridad requiere que se establezca el bit de habilitación de
prioridad de interrupción (IPEN).

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 113


Machine Translated by Google

PIC18(L)F2X/45K50
10.8 Definiciones de registros: REGISTRO DE CONTROL DE
INTERRUPCIONES 10-1: INTCON: REGISTRO DE CONTROL DE INTERRUPCIONES

L/E-0 L/E-0 L/E-0 L/E-0 L/E-0 L/E-0 L/E-0 R/Ax

GIE/GIEH PEIE/GIEL TMR0IE INT0IE IOCIE TMR0IF INT0IF IOCIF

bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7 GIE/GIEH: Bit de activación de interrupción global


Cuando IPEN = 0:
1 = Habilita todas las interrupciones no enmascaradas
0 = Deshabilita todas las interrupciones, incluidos los periféricos
Cuando IPEN = 1:
1 = Habilita todas las interrupciones de alta prioridad
0 = Deshabilita todas las interrupciones, incluidas las de baja prioridad

bit 6 PEIE/GIEL: bit de habilitación de interrupción periférica


Cuando IPEN = 0:
1 = Habilita todas las interrupciones periféricas no enmascaradas
0 = Deshabilita todas las interrupciones periféricas
Cuando IPEN = 1:
1 = Habilita todas las interrupciones de baja prioridad
0 = Deshabilita todas las interrupciones de baja prioridad

bit 5 TMR0IE: bit de habilitación de interrupción de desbordamiento TMR0

1 = Habilita la interrupción por desbordamiento de TMR0


0 = Deshabilita la interrupción de desbordamiento de TMR0

bit 4 INT0IE: INT0 Bit de habilitación de interrupción externa


1 = Habilita la interrupción externa INT0
0 = Deshabilita la interrupción externa INT0
bit 3 IOCIE: bit de habilitación de interrupción en cambio (IOCx) (2)
1 = Habilita la interrupción de cambio de puerto IOCx
0 = Deshabilita la interrupción de cambio de puerto IOCx
bit 2 TMR0IF: Bit de indicador de interrupción de desbordamiento TMR0

1 = El registro TMR0 se ha desbordado (debe ser borrado por software)


0 = el registro TMR0 no se desbordó
bit 1 INT0IF: INT0 Bit de indicador de interrupción externa
1 = Ocurrió la interrupción externa INT0 (debe ser borrada por software)
0 = No ocurrió la interrupción externa INT0
bit 0 IOCIF: Interrupción en cambio (IOCx) Bit de indicador de interrupción (1)

1 = Al menos uno de los pines IOC cambió de estado (debe ser borrado por software)
0 = Ninguno de los pines IOC ha cambiado de estado

Nota 1: una condición de discrepancia seguirá activando el bit IOCIF. La lectura de PORTB/PORTC finalizará la
condición de discrepancia y permitir que el bit se borre.

2: Las interrupciones de cambio de puerto también requieren las habilitaciones de pines individuales IOCBx/IOCCx.

Nota: Los bits de marca de interrupción se establecen cuando se produce una interrupción.

condición ocurre, independientemente del estado de


su bit de habilitación correspondiente o el global
bit de habilitación. El software del usuario debe garantizar

los bits de bandera de interrupción apropiados están claros


antes de habilitar una interrupción. Esta característica
permite el sondeo de software.

DS30000684B-página 114 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 10-2: INTCON2: REGISTRO DE CONTROL DE INTERRUPCIÓN 2

L/E-1 L/E-1 L/E-1 L/E-1 U-0 L/E-1 U-0 L/E-1

RBPU INTEDG0 INTEDG1 INTEDG2 — TMR0IP — IOCIP

bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7 RBPU: bit de habilitación de pull-up PORTB

1 = Todos los pull-ups de PORTB están deshabilitados


0 = Los pull-ups de PORTB están habilitados siempre que el pin sea una entrada y el bit WPUB correspondiente sea
colocar.

bit 6 INTEDG0: Interrupción externa 0 Bit de selección de flanco


1 = Interrupción en flanco ascendente
0 = Interrupción en flanco descendente
bit 5 INTEDG1: bit de selección de flanco de interrupción externa 1
1 = Interrupción en flanco ascendente
0 = Interrupción en flanco descendente
bit 4 INTEDG2: bit de selección de flanco de interrupción externa 2
1 = Interrupción en flanco ascendente
0 = Interrupción en flanco descendente
bit 3 Sin implementar: se lee como '0'
bit 2 TMR0IP: bit de prioridad de interrupción de desbordamiento TMR0

1 = alta prioridad
0 = Prioridad baja
bit 1 Sin implementar: se lee como '0'
bit 0 IOCIP: bit de prioridad de interrupción de cambio de puerto

1 = alta prioridad
0 = Prioridad baja

Nota: Los bits de marca de interrupción se establecen cuando se produce una interrupción.

condición ocurre, independientemente del estado de


su bit de habilitación correspondiente o el global
bit de habilitación. El software del usuario debe garantizar

los bits de bandera de interrupción apropiados están claros


antes de habilitar una interrupción. Esta característica
permite el sondeo de software.

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 115


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 10-3: INTCON3: REGISTRO DE CONTROL DE INTERRUPCIÓN 3

L/E-1 L/E-1 U-0 L/E-0 L/E-0 U-0 L/E-0 L/E-0

INT2IP INT1IP — INT2IE INT1IE — INT2IF INT1SI

bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7 INT2IP: bit de prioridad de interrupción externa INT2


1 = alta prioridad
0 = Prioridad baja
bit 6 INT1IP: bit de prioridad de interrupción externa INT1
1 = alta prioridad
0 = Prioridad baja
bit 5 Sin implementar: se lee como '0'
bit 4 INT2IE: bit de habilitación de interrupción externa INT2
1 = Habilita la interrupción externa INT2
0 = Deshabilita la interrupción externa INT2
bit 3 INT1IE: bit de habilitación de interrupción externa INT1
1 = Habilita la interrupción externa INT1
0 = Deshabilita la interrupción externa INT1
bit 2 Sin implementar: se lee como '0'
bit 1 INT2IF: Bit de indicador de interrupción externa INT2
1 = Ocurrió la interrupción externa INT2 (debe ser borrada por software)
0 = No ocurrió la interrupción externa INT2
bit 0 INT1IF: Bit de indicador de interrupción externa INT1
1 = Ocurrió la interrupción externa INT1 (debe ser borrada por software)
0 = No ocurrió la interrupción externa INT1

Nota: Los bits de marca de interrupción se establecen cuando se produce una interrupción.

condición ocurre, independientemente del estado de


su bit de habilitación correspondiente o el global
bit de habilitación. El software del usuario debe garantizar
los bits de bandera de interrupción apropiados están claros
antes de habilitar una interrupción. Esta característica
permite el sondeo de software.

DS30000684B-página 116 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 10-4: PIR1: SOLICITUD DE INTERRUPCIÓN PERIFÉRICA (BANDERA) REGISTRO 1


L/E-0 L/E-0 R-0 R-0 L/E-0 L/E-0 L/E-0 L/E-0

ACTIF ADIF RCIF TXIF SSPIF CCP1IF TMR2IF TMR1IF

bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7 ACTIF: Bit de indicador de interrupción de sintonización de reloj activo

1 = Un evento de sintonización de reloj activo generó una interrupción (debe borrarse en el software)
0 = No hay interrupción de sintonización de reloj activa pendiente
bit 6 ADIF: Bit de bandera de interrupción del convertidor A/D

1 = Una conversión A/D completada (debe ser borrada por software)


0 = La conversión A/D no está completa o no se ha iniciado
bit 5 RCIF: EUSART Recibir bit de bandera de interrupción

1 = El búfer de recepción de EUSART, RCREG1, está lleno (se borra cuando se lee RCREG1)
0 = El búfer de recepción de EUSART está vacío
bit 4 TXIF: EUSART Transmit Interrupt Flag bit
1 = El búfer de transmisión de EUSART, TXREG1, está vacío (se borra cuando se escribe TXREG1)
0 = El búfer de transmisión de EUSART está lleno

bit 3 SSPIF: bit de indicador de interrupción de puerto serie síncrono maestro


1 = La transmisión/recepción está completa (debe ser borrada por software)
0 = Esperando para transmitir/recibir
bit 2 CCP1IF: Bit de indicador de interrupción CCP1

Modo de captura:
1 = Ocurrió una captura de registro TMR1 (debe ser borrado por software)
0 = No se produjo ninguna captura de registro TMR1
Modo de comparación:
1 = Ocurrió una coincidencia de comparación de registro TMR1 (debe ser borrada por software)
0 = No se produjo ninguna coincidencia de comparación de registros TMR1
Modo PWM:
Sin usar en este modo

bit 1 TMR2IF: Bit de indicador de interrupción de coincidencia de TMR2 a PR2

1 = Ocurrió coincidencia de TMR2 con PR2 (debe ser borrado por software)
0 = No se produjo ninguna coincidencia de TMR2 con PR2

bit 0 TMR1IF: Bit de indicador de interrupción de desbordamiento TMR1

1 = Registro TMR1 desbordado (debe ser borrado por software)


0 = el registro TMR1 no se desbordó

Nota 1: Los bits de bandera de interrupción se establecen cuando


se produce una condición de interrupción, independientemente de

el estado de su correspondiente bit de habilitación


o el bit de habilitación de interrupción global, GIE/
GIEH del registro INTCON.

2: El software del usuario debe asegurarse de que los


bits de indicador de interrupción apropiados se borren antes
para habilitar una interrupción y después de dar
servicio a esa interrupción.

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 117


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 10-5: PIR2: SOLICITUD DE INTERRUPCIÓN PERIFÉRICA (BANDERA) REGISTRO 2

L/E-0 L/E-0 L/E-0 L/E-0 L/E-0 L/E-0 L/E-0 L/E-0


OSCFIF C1IF C2IF FEEI BCLIF HLVDIF TMR3IF CCP2IF
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7 OSCFIF: bit de indicador de interrupción de falla del oscilador

1 = El oscilador del dispositivo falló, la entrada del reloj cambió a HFINTOSC (debe ser borrado por software)
0 = reloj del dispositivo en funcionamiento

bit 6 C1IF: Bit de indicador de interrupción C1 del comparador

1 = La salida del comparador C1 ha cambiado (debe ser borrado por software)


0 = La salida del comparador C1 no ha cambiado
bit 5 C2IF: Bit de indicador de interrupción C2 del comparador

1 = La salida del comparador C2 ha cambiado (debe ser borrado por software)


0 = La salida del comparador C2 no ha cambiado
bit 4 EEIF: Bit de indicador de interrupción de operación de escritura EEPROM/Flash de datos

1 = La operación de escritura está completa (debe ser borrada por software)


0 = La operación de escritura no está completa o no se ha iniciado
bit 3 BCLIF: bit de indicador de interrupción de colisión de bus MSSP

1 = Ocurrió una colisión de bus (debe ser borrado por software)


0 = No ocurrió ninguna colisión de bus

bit 2 HLVDIF: Bit de indicador de interrupción de detección de bajo voltaje

1 = Ocurrió una condición de bajo voltaje (dirección determinada por el bit VDIRMAG del
registro HLVDCON)
0 = No se ha producido una condición de bajo voltaje
bit 1 TMR3IF: Bit de indicador de interrupción de desbordamiento TMR3

1 = Registro TMR3 desbordado (debe ser borrado por software)


0 = el registro TMR3 no se desbordó
bit 0 CCP2IF: Modo de captura de bit de indicador

de interrupción CCP2:
1 = Ocurrió una captura de registro TMR1 (debe ser borrado por software)
0 = No se produjo ninguna captura de registro
TMR1 Modo de comparación:
1 = Ocurrió una coincidencia de comparación de registro TMR1 (debe ser borrada por software)
0 = No se produjo ninguna coincidencia de comparación de registros TMR1
Modo PWM:
Sin uso en este modo.

DS30000684B-página 118 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 10-6: PIR3: INTERRUPCIÓN PERIFÉRICA (BANDERA) REGISTRO 3


U-0 U-0 U-0 U-0 L/E-0 L/E-0 L/E-0 L/E-0
— — — — CTMUIF USBIF TMR3GIF TMR1GIF
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7-4 Sin implementar: se lee como '0'


bit 3 CTMUIF: Bit de indicador de interrupción de CTMU

1 = Ocurrió una interrupción CTMU (debe borrarse en el software)


0 = No se produjo ninguna interrupción CTMU
bit 2 USBIF: bit de indicador de interrupción USB

1 = USB solicitó una interrupción (debe borrarse en el software)


0 = Sin solicitud de interrupción USB
bit 1 TMR3GIF: Bit de indicador de interrupción de puerta TMR3

1 = Ocurrió una interrupción de puerta TMR (debe borrarse en el software)


0 = No se produjo ninguna puerta TMR
bit 0 TMR1GIF: Bit de indicador de interrupción de puerta TMR1

1 = Ocurrió una interrupción de puerta TMR (debe borrarse en el software)


0 = No se produjo ninguna puerta TMR

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 119


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 10-7: PIE1: HABILITAR INTERRUPCIÓN PERIFÉRICA (BANDERA) REGISTRO 1

L/E-0 L/E-0 L/E-0 L/E-0 L/E-0 L/E-0 L/E-0 L/E-0

ACTUAR UNA MUERTE RCIE TXIE SSPIE CCP1IE TMR2IE TMR1IE

bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7 ACTIE: Bit de habilitación de interrupción de sintonización de reloj activo

1 = Habilita la interrupción de sintonización de reloj activo


0 = Desactiva la interrupción de sintonización de reloj activo

bit 6 ADIE: bit de habilitación de interrupción del convertidor A/D

1 = Habilita la interrupción A/D


0 = Deshabilita la interrupción A/D
bit 5 RCIE: bit de habilitación de interrupción de recepción de EUSART

1 = Habilita la interrupción de recepción EUSART


0 = Deshabilita la interrupción de recepción de EUSART
bit 4 TXIE: bit de habilitación de interrupción de transmisión EUSART

1 = Habilita la interrupción de transmisión EUSART


0 = Deshabilita la interrupción de transmisión EUSART
bit 3 SSPIE: bit de habilitación de interrupción de puerto serie síncrono maestro
1 = Habilita la interrupción MSSP
0 = Deshabilita la interrupción MSSP
bit 2 CCP1IE: Bit de habilitación de interrupción CCP1

1 = Habilita la interrupción CCP1


0 = Deshabilita la interrupción CCP1
bit 1 TMR2IE: bit de habilitación de interrupción de coincidencia de TMR2 a PR2

1 = Habilita la interrupción de coincidencia de TMR2 a PR2


0 = Deshabilita la interrupción de coincidencia de TMR2 a PR2
bit 0 TMR1IE: bit de habilitación de interrupción de desbordamiento TMR1

1 = Habilita la interrupción por desbordamiento de TMR1


0 = Deshabilita la interrupción de desbordamiento de TMR1

DS30000684B-página 120 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 10-8: PIE2: HABILITAR INTERRUPCIÓN PERIFÉRICA (BANDERA) REGISTRO 2

L/E-0 L/E-0 L/E-0 L/E-0 L/E-0 L/E-0 L/E-0 L/E-0

OSCFIE C1IE C2IE EEIE BCLIE HLVDIE TMR3IE CCP2IE

bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7 OSCFIE: bit de habilitación de interrupción por falla del oscilador


1 = Habilitado
0 = Deshabilitado

bit 6 C1IE: bit de habilitación de interrupción del comparador C1


1 = Habilitado
0 = Deshabilitado

bit 5 C2IE: Bit de habilitación de interrupción C2 del comparador


1 = Habilitado
0 = Deshabilitado

bit 4 EEIE: bit de habilitación de interrupción de operación de escritura EEPROM/Flash de datos


1 = Habilitado
0 = Deshabilitado

bit 3 BCLIE: Bit de habilitación de interrupción de colisión de bus MSSP


1 = Habilitado
0 = Deshabilitado

bit 2 HLVDIE: Bit de habilitación de interrupción de detección de bajo voltaje


1 = Habilitado
0 = Deshabilitado

bit 1 TMR3IE: Bit de habilitación de interrupción de desbordamiento de TMR3

1 = Habilitado
0 = Deshabilitado

bit 0 CCP2IE: Bit de habilitación de interrupción CCP2


1 = Habilitado
0 = Deshabilitado

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 121


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 10-9: PIE3: HABILITAR INTERRUPCIÓN PERIFÉRICA (BANDERA) REGISTRO 3


U-0 U-0 U-0 U-0 L/E-0 L/E-0 L/E-0 L/E-0
— — — — CTMUIE USBIE TMR3GIE TMR1GIE
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7-4 Sin implementar: se lee como '0'


bit 3 CTMUIE: Bit de habilitación de interrupción de CTMU
1 = Habilitado
0 = Deshabilitado

bit 2 USBIE: bit de activación de interrupción USB


1 = Habilitado
0 = Deshabilitado

bit 1 TMR3GIE: Bit de habilitación de interrupción de puerta TMR3


1 = Habilitado
0 = Deshabilitado

bit 0 TMR1GIE: bit de habilitación de interrupción de puerta TMR1


1 = Habilitado
0 = Deshabilitado

DS30000684B-página 122 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 10-10: IPR1: PRIORIDAD DE INTERRUPCIÓN PERIFÉRICA REGISTRO 1

L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1

ACTIP UN CHAPUZÓN RCIP TXIP SSPIP CCP1IP TMR2IP TMR1IP

bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7 ACTIP: bit de prioridad de interrupción de sintonización de reloj activo

1 = alta prioridad
0 = Prioridad baja
bit 6 ADIP: bit de prioridad de interrupción del convertidor A/D
1 = alta prioridad
0 = Prioridad baja
bit 5 RCIP: bit de prioridad de interrupción de recepción EUSART
1 = alta prioridad
0 = Prioridad baja
bit 4 TXIP: bit de prioridad de interrupción de transmisión EUSART

1 = alta prioridad
0 = Prioridad baja
bit 3 SSPIP: bit de prioridad de interrupción del puerto serie síncrono maestro
1 = alta prioridad
0 = Prioridad baja
bit 2 CCP1IP: bit de prioridad de interrupción CCP1
1 = alta prioridad
0 = Prioridad baja
bit 1 TMR2IP: bit de prioridad de interrupción de coincidencia de TMR2 a PR2

1 = alta prioridad
0 = Prioridad baja
bit 0 TMR1IP: bit de prioridad de interrupción de desbordamiento TMR1

1 = alta prioridad
0 = Prioridad baja

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 123


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 10-11: IPR2: PRIORIDAD DE INTERRUPCIÓN PERIFÉRICA REGISTRO 2

L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1


OSCFIP C1IP C2IP EEIP BCLIP HLVDIP TMR3IP CCP2IP
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7 OSCFIP: bit de prioridad de interrupción por falla del oscilador

1 = alta prioridad
0 = Prioridad baja
bit 6 C1IP: Bit de prioridad de interrupción del comparador C1
1 = alta prioridad
0 = Prioridad baja
bit 5 C2IP: bit de prioridad de interrupción C2 del comparador
1 = alta prioridad
0 = Prioridad baja
bit 4 EEIP: bit de prioridad de interrupción de operación de escritura EEPROM/Flash de datos
1 = alta prioridad
0 = Prioridad baja
bit 3 BCLIP: bit de prioridad de interrupción de colisión de bus MSSP
1 = alta prioridad
0 = Prioridad baja
bit 2 HLVDIP: bit de prioridad de interrupción de detección de bajo voltaje

1 = alta prioridad
0 = Prioridad baja
bit 1 TMR3IP: bit de prioridad de interrupción de desbordamiento TMR3

1 = alta prioridad
0 = Prioridad baja
bit 0 CCP2IP: bit de prioridad de interrupción CCP2
1 = alta prioridad
0 = Prioridad baja

DS30000684B-página 124 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 10-12: IPR3: PRIORIDAD DE INTERRUPCIÓN PERIFÉRICA REGISTRO 3


U-0 U-0 U-0 U-0 L/E-1 L/E-1 L/E-1 L/E-1
— — — — CTMUIP IP USB TMR3GIP TMR1GIP
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7-4 Sin implementar: se lee como '0'


bit 3 CTMUIP: bit de prioridad de interrupción de CTMU

1 = alta prioridad
0 = Prioridad baja
bit 2 USBIP: bit de prioridad de interrupción USB
1 = alta prioridad
0 = Prioridad baja
bit 1 TMR3GIP: bit de prioridad de interrupción de puerta TMR3
1 = alta prioridad
0 = Prioridad baja
bit 0 TMR1GIP: bit de prioridad de interrupción de puerta TMR1
1 = alta prioridad
0 = Prioridad baja

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 125


Machine Translated by Google

PIC18(L)F2X/45K50
10.9 Interrupciones de clavijas INTn 10.10 Interrupción TMR0

Interrupciones externas en RB0/INT0, RB1/INT1 y En el modo de 8 bits (que es el predeterminado), un desbordamiento en el


Los pines RB2/INT2 se activan por borde. Si el correspondiente El registro TMR0 (FFh ÿ 00h) establecerá el bit indicador, TMR0IF. En
se establece el bit INTEDGx en el registro INTCON2 (= 1), el modo de 16 bits, un desbordamiento en el par de registros
la interrupción se activa por un flanco ascendente; si el bit es claro, TMR0H:TMR0L (FFFFh ÿ 0000h) establecerá TMR0IF. la interrupción
el gatillo está en el borde descendente. Cuando un borde válido se puede habilitar/deshabilitar configurando/borrando el bit de habilitación,
aparece en el pin RBx/INTx, la bandera correspondiente TMR0IE del registro INTCON. Prioridad de interrupción para
bit, INTxF, está establecido. Esta interrupción puede ser deshabilitada por Timer0 está determinado por el valor contenido en el
borrando el bit de habilitación correspondiente, INTxE. Bit de bandera, bit de prioridad de interrupción, TMR0IP del registro INTCON2.
INTxF, debe ser borrado por software en la Interrupción Consulte la Sección 12.0 "Módulo Timer0" para obtener más detalles.
Rutina de servicio antes de volver a habilitar la interrupción. en el módulo Timer0.

Todas las interrupciones externas (INT0, INT1 e INT2) pueden activar


el procesador desde los modos inactivo o inactivo si el bit INTxE 10.11 Cambio de interrupción de PORTB/
se configuró antes de entrar en esos modos. Si el Mundial PORTC
Se establece el bit de habilitación de interrupción, GIE/GIEH, el procesador
Un cambio de entrada en los conjuntos PORTB<7:4> o PORTC<2:0>
se bifurcará al vector de interrupción después de la activación.
bit indicador, IOCIF del registro INTCON. la interrupción
La prioridad de interrupción para INT1 e INT2 está determinada por se puede habilitar/deshabilitar configurando/borrando el bit de habilitación,
el valor contenido en los bits de prioridad de interrupción, INT1IP IOCIE del registro INTCON. Los pines también deben ser
e INT2IP del registro INTCON3. No hay un bit de prioridad asociado habilitado individualmente con el registro IOCB/IOCC.
con INT0. Siempre es una alta prioridad Se determina la prioridad de interrupción para la interrupción en el cambio
fuente de interrupción. por el valor contenido en el bit de prioridad de interrupción, IOCIP
del registro INTCON2.

10.12 Guardado de contexto durante las interrupciones

Durante las interrupciones, la dirección de retorno de la PC se guarda en


la pila. Además, WREG, STATUS y BSR
los registros se guardan en la pila de retorno rápido. si un ayuno
no se utiliza el retorno de la interrupción (consulte la Sección 6.2.2
"Fast Register Stack"), es posible que el usuario deba guardar el
Registros WREG, STATUS y BSR a la entrada en el
Rutina de servicio de interrupción. Dependiendo del usuario
aplicación, es posible que también sea necesario guardar otros registros.
El ejemplo 10-1 guarda y restaura WREG, STATUS
y BSR se registra durante una rutina de servicio de interrupción.

EJEMPLO 10-1: GUARDAR ESTADO, REGISTROS WREG Y BSR EN LA RAM


MOVWF W_TEMP ; W_TEMP está en el banco virtual
MOVFF ESTADO, ESTADO_TEMP ; STATUS_TEMP ubicado en cualquier lugar
MOVFF BSR, BSR_TEMP ; BSR_TMEP ubicado en cualquier lugar
;
; CÓDIGO ISR DEL USUARIO
;
MOVFF BSR_TEMP, BSR ; Restaurar BSR
MOVF W_TEMP, W ; Restaurar WREG
MOVFF ESTADO_TEMP, ESTADO ; Restaurar ESTADO

DS30000684B-página 126 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50

TABLA 10-1: REGISTROS ASOCIADOS A INTERRUPCIONES

Regístrate
Nombre Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 bit 0
en la página

ANSELB — — ANSB5 ANSB4 ANSB3 ANSB2 ANSB1 ANSB0 148


INTCON GIE/GIEH PEIE/GIEL TMR0IE INT0IE IOCIE TMR0IF INT0IF IOCIF 114
INTCON2 RBPU INTEDG0 INTEDG1 INTEDG2 — TMR0IP — IOCIP 115
INTCON3 INT2IP INT1IP — INT2IE INT1IE — INT2IF INT1SI 116
IOCB IOCB7 IOCB6 IOCB5 IOCB4 — — — — 151
COI IOCC7 IOCC6 IOCC5 IOCC4 — IOCC2 IOCC1 IOCC0 151
IPR1 ACTIP UN CHAPUZÓN RCIP TXIP SSPIP CCP1IP TMR2IP TMR1IP 123
IPR2 OSCFIP C1IP C2IP EEIP BCLIP HLVDIP TMR3IP CCP2IP 124
IPR3 — — — — CTMUIP USBIP TMR3GIP TMR1GIP 125
PASTEL1 ACTUAR UNA MUERTE RCIE TXIE SSPIE CCP1IE TMR2IE TMR1IE 120
PASTEL2 OSCFIE C1IE C2IE EEIE BCLIE HLVDIE TMR3IE CCP2IE 121
PASTEL3 — — — — CTMUIE USBIE TMR3GIE TMR1GIE 122
PIR1 ACTIF ADIF RCIF TXIF SSPIF CCP1IF TMR2IF TMR1IF 117
PIR2 OSCFIF C1IF C2IF FEEI BCLIF HLVDIF TMR3IF CCP2IF 118
PIR3 — — — — CTMUIF USBIF TMR3GIF TMR1GIF 119
PUERTOB RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 146
RCON IPEN SBOREN — Rhode Island PARA PD POR BOR 64
Leyenda: — = ubicaciones no implementadas, se lee como '0'. Los bits sombreados no se utilizan para interrupciones.

TABLA 10-2: REGISTROS DE CONFIGURACIÓN ASOCIADOS A INTERRUPCIONES

Registrarse
Nombre Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 bit 0
en la página

CONFIG3H MCLRE SDOMX — T3CMX — — PBADEN CCP2MX 376


CONFIG4L DEPURAR XINST ICPRT — — LVP — STRVEN 377
Leyenda: — = ubicaciones no implementadas, se lee como '0'. Los bits sombreados no se utilizan para interrupciones.

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 127


Machine Translated by Google

PIC18(L)F2X/45K50
11.0 PUERTOS DE E/S 11.1 Registros PORTA
Según el dispositivo seleccionado y las funciones habilitadas, hay PORTA es un puerto bidireccional de 8 bits de ancho. El registro de
hasta cinco puertos disponibles. Todos los pines de los puertos de E/ dirección de datos correspondiente es TRISA. Establecer un bit TRISA
S están multiplexados con una o más funciones alternativas de las (= 1) convertirá el pin PORTA correspondiente en una entrada (es decir,
características periféricas del dispositivo. En general, cuando un deshabilitará el controlador de salida). Borrar un bit TRISA (= 0) hará
periférico está habilitado, ese pin no se puede usar como un pin de E/ que el pin PORTA correspondiente sea una salida (es decir, habilitará
S de propósito general. el controlador de salida y colocará el contenido del latch de salida en
el pin seleccionado).
Cada puerto cuenta con cinco registros para su funcionamiento. Estos
registros son: • Registro TRIS (registro de dirección de datos) • Registro Al leer el registro PORTA, se lee el estado de los pines, mientras que
al escribirlo, se escribirá en el latch PORT.
PORT (lee los niveles en los pines del
El registro Data Latch (LATA) también está mapeado en memoria.
Las operaciones de lectura, modificación y escritura en el registro
LATA leen y escriben el valor de salida bloqueado para PORTA.
dispositivo) • Registro LAT (bloqueo

de salida) • Registro ANSEL (control de entrada El pin RA4 se multiplexa con la entrada de reloj del módulo Timer0 y
una de las salidas del comparador para convertirse en el pin RA4/
analógica) • Registro SLRCON (control de velocidad de respuesta del puerto)
T0CKI/C1OUT. Los pines RA6 y RA7 están multiplexados con los pines
El Latch de datos (registro LAT) es útil para operaciones de escritura del oscilador principal; se habilitan como oscilador o pines de E/S
de modificación de lectura en el valor que manejan los pines de E/S. mediante la selección del oscilador principal en el registro de
configuración (consulte la Sección 26.1 "Bits de configuración" para

En la Figura 11-1 se muestra un modelo simplificado de un puerto de E/ obtener más detalles). Cuando no se usan como pines de puerto, RA6

S genérico, sin las interfaces a otros periféricos . y RA7 y sus bits TRIS y LAT asociados se leen como '0'.

FIGURA 11-1: PUERTO E/S GENÉRICO Los otros pines PORTA están multiplexados con entradas analógicas,
OPERACIÓN las entradas analógicas VREF+ y VREF- y la salida de referencia de
voltaje del comparador. La operación de los pines RA<3:0> y RA5 como
analógicos se selecciona configurando los bits ANSELA<5, 3:0> en el
RD LAT TRISx
registro ANSELA, que es la configuración predeterminada después de
Datos un reinicio de encendido.
Autobús
D q
Los pines RA0 a RA5 también se pueden usar como entradas o salidas
WR LAT clavija de E/S (1)
del comparador configurando los bits apropiados en los registros
o Puerto
CK CM1CON0 y CM2CON0.
Pestillo de datos
Nota: En un reinicio de encendido, RA5 y RA<3:0> se configuran
D q como entradas analógicas y se leen como '0'. RA4
ANSELx
está configurado como entrada digital.
WR TRIS
CK
El pin RA4/T0CKI/C1OUT es una entrada de disparador Schmitt.
Pestillo TRIS
Aporte Todos los demás pines PORTA tienen niveles de entrada TTL y
Buffer
controladores de salida CMOS completos.
RD TRIS
El registro TRISA controla los controladores de los pines PORTA,
incluso cuando se utilizan como entradas analógicas.
q D El usuario debe asegurarse de que los bits del registro TRISA se
mantengan configurados cuando los utilice como entradas analógicas.
ESES

Puerto RD
EJEMPLO 11-1: INICIALIZACIÓN DE PORTA
MOVLB 0xF ; Establecer BSR para SFR depositados

Nota 1: los pines de E/S tienen protección de diodo para VDD y VSS. CLRF LATA; Inicializar PORTA por
; salida de limpieza;
pestillos de datos
CLRF ANSELA ; Configurar E/S; para entradas
digitales
MOVLW 0CFh ; Valor utilizado para ;
inicializar datos
; dirección
MOVWF TRISA; Establecer RA<3:0> como entradas
; RA<5:4> como salidas

DS30000684B-página 128 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50

TABLA 11-1: RESUMEN DE PORTA I/O


TRIS ANSEL Alfiler Buffer
Nombre del pin Función Descripción
Ajuste Ajuste Escribe Escribe

RA0/C12IN0-/AN0 RA0 0 X O Salida de datos DIG LATA<0>; no se ve afectado por la entrada analógica.
1 0 I Entrada de datos TTL PORTA<0>; deshabilitado cuando la entrada analógica está habilitada.

C12IN0- 1 1 I AN Entrada inversora de los comparadores C1 y C2.


AN0 1 1 I AN Entrada analógica 0.
RA1/C12IN1-/AN1 RA1 0 X O Salida de datos DIG LATA<1>; no se ve afectado por la entrada analógica.
1 0 I Entrada de datos TTL PORTA<1>; deshabilitado cuando la entrada analógica está habilitada.

C12IN1- 1 1 I AN Entrada inversora de los comparadores C1 y C2.


AN1 1 1 I AN Entrada analógica 1.
RA2/C2IN+/AN2/ RA2 0 X O Salida de datos DIG LATA<2>; no afectado por la entrada analógica; discapacitado
DACOUT/VREF- cuando DACOUT está habilitado.

1 0 I Entrada de datos TTL PORTA<2>; deshabilitado cuando la entrada analógica está


habilitada; deshabilitado cuando DACOUT está habilitado.

C2IN+ 1 1 I AN Entrada no inversora del comparador C2.


AN2 1 1 I AN Salida analógica 2.
salida x 1 O Salida de referencia AN DAC.
VREF- 1 1 I Una entrada de voltaje de referencia A/D (bajo).
RA3/C1IN+/AN3/ RA3 0 X O Salida de datos DIG LATA<3>; no se ve afectado por la entrada analógica.
VREF+ 1 I
0 Entrada de datos TTL PORTA<3>; deshabilitado cuando la entrada analógica está habilitada.

C1IN+ 1 1 I AN Entrada no inversora del comparador C1.


AN3 1 1 I AN Entrada analógica 3.
VREF+ 1 1 I Una entrada de voltaje de referencia A/D (alto).
RA4/C1SALIDA/SRQ/ RA4 0-O Salida de datos DIG LATA<4>.
T0CKI 1 - yo Entrada de datos ST PORTA<4>; configuración predeterminada en POR.
C1SALIDA 0-O Salida DIG Comparador C1.
SRQ 0-O Salida DIG SR pestillo Q; tiene prioridad sobre la salida del CCP 5.
T0CKI 1 - yo Entrada de reloj externo ST Timer0.
RA5/C2SALIDA/ RA5 0 X O Salida de datos DIG LATA<5>; no se ve afectado por la entrada analógica.
SRNQ/SS1/ 1 0 I Entrada de datos TTL PORTA<5>; deshabilitado cuando la entrada analógica está habilitada.
HLVDIN/AN4
C2SALIDA 0 0 O Salida DIG Comparador C2.
SRNQ 0 0 O Salida DIG SR latch Q.
SS1 1 0 I Entrada de selección de esclavo TTL SPI (MSSP).
HLVDIN 1 1 I Una entrada de detección de alto/bajo voltaje.
AN4 1 1 I Una entrada A/D 4.
RA6/CLKO/OSC2 RA6 0-O Salida de datos DIG LATA<6>; activado en los modos INTOSC cuando
CLKO no está habilitado.
1 - yo Entrada de datos TTL PORTA<6>; activado en los modos INTOSC cuando
CLKO no está habilitado.
CLKO x-O DIG En el modo RC, el pin OSC2 genera CLKO, que tiene 1/4 de
la frecuencia de OSC1 y denota la tasa de ciclo de instrucción.
OSC2 x — O XTAL Salida de cristal del oscilador; se conecta al cristal o al resonador en el modo Crystal Oscillator.

Leyenda: AN = Entrada o salida analógica; TTL = entrada compatible con TTL; HV = Alto Voltaje; OD = drenaje abierto; XTAL = Cristal;
CMOS = entrada o salida compatible con CMOS; ST = entrada Schmitt Trigger con niveles CMOS; I2C™ = Entrada de
disparador Schmitt con I2C.

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 129


Machine Translated by Google

PIC18(L)F2X/45K50
TABLA 11-1: RESUMEN DE PORTA I/O (CONTINUACIÓN)
TRIS ANSEL Alfiler Buffer
Nombre del pin Función Descripción
Ajuste Ajuste Escribe Escribe

RA7/CLKI/OSC1 RA7 0-O Salida de datos DIG LATA<7>; desactivado en los modos de oscilador externo.
1 - yo Entrada de datos TTL PORTA<7>; deshabilitado en oscilador externo
modos.
CLKI x-yo AN Entrada de fuente de reloj externa; siempre asociado a
la función pin OSC1.
OSC1 x-yo Entrada de cristal de oscilador XTAL o búfer ST de entrada de fuente de
reloj externo cuando se configura en modo RC; CMOS de lo contrario.
Leyenda: AN = Entrada o salida analógica; TTL = entrada compatible con TTL; HV = Alto Voltaje; OD = drenaje abierto; XTAL = Cristal;
CMOS = entrada o salida compatible con CMOS; ST = entrada Schmitt Trigger con niveles CMOS; I2C™ = Entrada de
disparador Schmitt con I2C.

TABLA 11-2: REGISTROS ASOCIADOS A PORTA

Regístrate
Nombre Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 bit 0
en la página

ANSELA — — ANSA5 — ANSA3 ANSA2 ANSA1 ANSA0 147


CM1CON0 C1ON C1SAL C1OE C1POL C1SP C1R C1CH<1:0> 307
CM2CON0 C2ON C2OUT C2OE C2POL C2SP C2R C2CH<1:0> 307
VREFCON1 DACEN DACLPS DACOE — DACPSS<1:0> — DACNSS 334
VREFCON2 — ——
DACR<4:0> 335
HLVDCON VDIRMAG BGVST IRVST HLVDEN HLVDL<3:0> 364
PORTA RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0 146
LATA LATA7 LATA6 LATA5 LATA4 LATA3 LATA2 LATA1 LATA0 150
SLRCON — — — SLRE SLRD SLRC SLRB SLRA 152
SRCON0 SRLEN SRCLK<2:0> SRQEN SRNQEN SRPS SRPR 328
SSP1CON1 WCOL SSPOV SSPEN CKP SSPM<3:0> 252
T0CON TMR0ON T08BIT T0CS T0SE PSA T0PS<2:0> 153
Trisa TRISA7 TRISA6 TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 149
Leyenda: — = ubicaciones no implementadas, se lee como '0'. Los bits sombreados no se utilizan para PORTA.

TABLA 11-3: CONFIGURACIÓN DE REGISTROS ASOCIADOS A PORTA

Regístrate
Nombre Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 bit 0
en la página

CONFIG1H IESO FCMEN PCLKEN — FOSC<3:0> 373


Leyenda: — = ubicaciones no implementadas, se lee como '0'. Los bits sombreados no se utilizan para PORTA.

DS30000684B-página 130 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50
11.1.1 PRIORIDAD DE SALIDA DE PORTA
Cada pin PORTA está multiplexado con otras funciones.
Los pines, sus funciones combinadas y sus prioridades de salida
se describen brevemente aquí. Para obtener información
adicional, consulte la sección correspondiente de esta hoja de
datos.

Cuando se habilitan múltiples salidas, el control de pin real va al


periférico con la prioridad más alta.
La Tabla 11-4 enumera las funciones del pin PORTA desde la
prioridad más alta a la más baja.

Las funciones de entrada analógica, como ADC y comparador,


no se muestran en las listas de prioridad.

Estas entradas están activas cuando el pin de E/S está configurado


para el modo analógico usando los registros ANSELx. Las
funciones de salida digital pueden controlar el pin cuando está
en modo analógico con la prioridad que se muestra a continuación.

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 131


Machine Translated by Google

PIC18(L)F2X/45K50

TABLA 11-4: PRIORIDAD DE LA FUNCIÓN DEL PIN DEL PUERTO

Prioridad de función de puerto por PIN de puerto


bit de puerto
PORTA PUERTOB PUERTO PUERTO(2) PORTE(2)

0 RA0 ASD SOSCO


RB0
RC0 RD0 RE0
1 RA1 SCL SOSCI
SCK PCC2(3) RE1
P1C(1) RD1
RB1 RC1
2 DACOUT PCC1
RA2 P1B(1) P1A RD2 RE2
RB2 CTPLS
RC2
3 RA3 SDO(3) MCLR
PCC2(4) RD3 VPP

RE3
RB3
4 SRQ P1D(1) D
C1SALIDA RB4
RD4
RA4
5 SRNQ D+ P1B
C2SALIDA RD5
RA5
RB5
6 OSC2 PGC TX/CK
CLKO ICDCK P1C
RA6 RB6 RD6
RC6
7 OSC1 DGP RX/DT
RA7 ICDDT P1D
RB7 RC7 RD7

Nota 1: dispositivos PIC18(L)F2XK50.


2: Dispositivos PIC18(L)F45K50.
3: pin predeterminado de la función.

4: Pin alternativo de función.

DS30000684B-página 132 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50
11.2 Registros PORTB 11.3 Funciones adicionales del pin PORTB

PORTB es un puerto bidireccional de 8 bits de ancho. El registro de Los pines PORTB RB<7:4> tienen una opción de interrupción al
dirección de datos correspondiente es TRISB. Establecer un bit cambiar. Todos los pines PORTB tienen una opción de pull-up débil.
TRISB (= 1) convertirá el pin PORTB correspondiente en una entrada
(es decir, deshabilitará el controlador de salida). Borrar un bit TRISB 11.3.1 DOMINALES DÉBILES
(= 0) convertirá el pin PORTB correspondiente en una salida (es Cada uno de los pines PORTB tiene un pull-up interno débil
decir, activará el controlador de salida y colocará el contenido del controlado individualmente. Cuando se establece, cada bit del
latch de salida en el pin seleccionado). registro WPUB habilita el pin pull-up correspondiente. Cuando se
El registro de bloqueo de datos (LATB) también está mapeado en borra, el bit RBPU del registro INTCON2 habilita pull-ups en todos
memoria. Las operaciones de lectura, modificación y escritura en el los pines que también tienen establecido su bit WPUB
registro LATB leen y escriben el valor de salida bloqueado para correspondiente. Cuando se establece, el bit RBPU desactiva todos
PORTB. los pull-ups débiles. El pull-up débil se apaga automáticamente
cuando el pin del puerto se configura como una salida. Los pull-ups

EJEMPLO 11-2: INICIALIZACIÓN DE PORTB se deshabilitan en un reinicio de encendido.

MOVLB 0xF ; Establecer BSR para SFR depositados Nota: En un restablecimiento de encendido, RB<5:0> se
CLRF LATB ; Inicializar PORTB por ; salida configuran como entradas analógicas de manera
de limpieza; pestillos de datos predeterminada y se leen como '0'; RB<7:6> se
configuran como entradas digitales.
MOVIL 0F0h ; Valor para inicial
MOVWF ANSELB ; Habilitar RB<3:0> para ; pines de Cuando el bit de configuración de PBADEN se
entrada digital; (no se requiere establece en '0', RB<5:0> se configurará
si el bit de configuración alternativamente como entradas digitales en POR.
; PBADEN es claro)
MOVLW 0CFh ; Valor utilizado para ;
11.3.2 INTERRUPCIÓN EN CAMBIO
inicializar datos; dirección
Cuatro de los pines PORTB (RB<7:4>) se pueden configurar
MOVWF TRISB ; Establecer RB<3:0> como entradas individualmente como pines de interrupción en el cambio. Los bits
; RB<5:4> como salidas de control en el registro IOCB habilitan (cuando están establecidos)
; RB<7:6> como entradas o deshabilitan (cuando están libres) la función de interrupción para cada pin.

Cuando se establece, el bit IOCIE del registro INTCON habilita


interrupciones en todos los pines que también tienen establecido
su bit IOCB correspondiente. Cuando está claro, el bit IOCIE
deshabilita todas las interrupciones en los cambios.
11.2.1 PRIORIDAD DE SALIDA DEL PUERTO B
Solo los pines configurados como entradas pueden causar que
Cada pin PORTB se multiplexa con otras funciones. ocurra esta interrupción (es decir, cualquier pin RB<7:4> configurado
Los pines, sus funciones combinadas y sus prioridades de salida como salida se excluye de la comparación de interrupción por cambio).
se describen brevemente aquí. Para obtener información adicional,
Para los pines de interrupción por cambio habilitados, los valores
consulte la sección correspondiente de esta hoja de datos.
se comparan con el valor anterior bloqueado en la última lectura de
PORTB. Las salidas 'no coincidentes' de la última lectura se unen
Cuando se habilitan múltiples salidas, el control de pin real va al con OR para establecer el bit indicador de interrupción de
periférico con la prioridad más alta. interrupción por cambio (IOCIF) en el registro INTCON.
La Tabla 11-4 enumera las funciones del pin PORTB desde la
Esta interrupción puede reactivar el dispositivo desde el modo de
prioridad más alta a la más baja.
suspensión o cualquiera de los modos inactivos. El usuario, en la
Las funciones de entrada analógica, como ADC, comparador y Rutina de Servicio de Interrupción, puede borrar la interrupción de
entradas de bloqueo SR, no se muestran en las listas de prioridad. la siguiente manera: a) Cualquier lectura o escritura de PORTB para
Estas entradas están activas cuando el pin de E/S está configurado borrar la condición de discrepancia (excepto cuando PORTB es el
para el modo analógico usando los registros ANSELx. Las funciones origen o el destino de una instrucción MOVFF). b) Ejecute al
de salida digital pueden controlar el pin cuando está en modo menos una instrucción después de leer o escribir PORTB,
analógico con la prioridad que se muestra a continuación.
luego borre el bit indicador, IOCIF.

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 133


Machine Translated by Google

PIC18(L)F2X/45K50
Una condición de discrepancia continuará configurando la bandera IOCIF 11.3.3 FUNCIONES ALTERNATIVAS
poco. Leer o escribir PORTB terminará con el desajuste
PORTB está multiplexado con varias funciones periféricas
condición y permitir que se borre el bit IOCIF. el pestillo
(Cuadro 11-5). Los pines tienen buffers de entrada TTL. Algunos de
mantener el último valor leído no se ve afectado por un MCLR ni
estas funciones de pin se pueden reubicar en pines alternativos
Restablecimiento de Brown-out. Después de cualquiera de estos reinicios, el
utilizando los bits del fusible de control en CONFIG3H. RB3 es el
El indicador IOCIF seguirá estando establecido si hay una discrepancia.
PIN predeterminado para SDO. Borrar el bit SDOMX mueve el
Nota: Si se produce un cambio en el pin de E/S Función pin SDO a RC7.
cuando se ejecuta la operación de lectura Otras dos funciones de pines, T3CKI y CCP2, pueden ser
(inicio del ciclo Q2), luego el IOCIF reubicados de sus pines predeterminados a pines PORTB por
Es posible que no se establezca el indicador de interrupción. Es más,
limpiando los fusibles de control en CONFIG3H. Claro
ya que una lectura o escritura en un puerto afecta a todos T3CMX y CCP2MX mueven las funciones de pin a RB5
bits de ese puerto, se debe tener cuidado cuando y RB3, respectivamente.
usando múltiples pines en Interrupt-on-Change
modo. Los cambios en un pin pueden no ser
visto durante el servicio de cambios en otro
alfiler.

La función de interrupción en el cambio se recomienda para


Despertar en operación de pulsación de tecla y operaciones
donde PORTB solo se usa para la interrupción en el cambio
rasgo. No se recomienda sondear PORTB mientras
utilizando la función de interrupción en el cambio.

TABLA 11-5: RESUMEN DE E/S DE PORTB


TRIS ANSEL Alfiler Buffer
Alfiler Función Descripción
Ajuste Ajuste Escribe Escribe

RB0/INT0/FLT0/ RB0 0 X Salida de datos O DIG LATB<0>; no se ve afectado por la entrada analógica.
SRI/SDA/SDI/AN12
1 0 I Entrada de datos TTL PORTB<0>; deshabilitado cuando la entrada analógica
está habilitada.

INT0 1 0 I ST Interrupción externa 0.


FLT0 1 0 I Entrada de falla ST PWM para apagado automático de ECCP.
ISR 1 0 I Entrada de pestillo ST SR.
ASD 1 0 E/S I2C™ E/S de datos I2C (MSSP).
IDE 1 0 I Entrada de datos ST SPI (MSSP).
AN12 1 1 I AN Entrada analógica 12.
RB1/INT1/P1C/ RB1 0 X Salida de datos O DIG LATB<1>; no se ve afectado por la entrada analógica.
SCK/SCL/C12IN3-/
1 0 I Entrada de datos TTL PORTB<1>; deshabilitado cuando la entrada analógica
AN10
activado.

INT1 1 0 I ST Interrupción externa 1.


P1C(3) 0 0 O DIG Salida mejorada CCP1 PWM 3.
SCK 0 0 O DIG MSSP SPI Salida de reloj.
1 0 I Entrada de reloj ST MSSP SPI.
SCL 0 0 O DIG MSSP I2C Salida de reloj.
1 0 I Entrada de reloj I2C MSSP I2C .
C12IN3- 1 1 I AN Entrada inversora de los comparadores C1 y C2.
AN10 1 1 I AN Entrada analógica 10.

Leyenda: AN = Entrada o salida analógica; TTL = entrada compatible con TTL; HV = Alto Voltaje; OD = drenaje abierto; XTAL = Cristal;
CMOS = entrada o salida compatible con CMOS; ST = entrada Schmitt Trigger con niveles CMOS; I2C = Entrada de disparador Schmitt
con I2C.
Nota 1: Asignación de pines predeterminada para SDO cuando se establece el bit de configuración SDOMX.
2: Asignación de pines alternativos para T3CKI y CCP2 cuando los bits de configuración T3CMX y CCP2MX están limpios.
3: La función está en PORTD/PORTE para dispositivos PIC18(L)F45K50.

DS30000684B-página 134 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50
TABLA 11-5: RESUMEN DE E/S DE PORTB (CONTINUACIÓN)
TRIS ANSEL Alfiler Buffer
Alfiler Función Descripción
Ajuste Ajuste Escribe Escribe

RB2/INT2/CTED1/ RB2 0 X Salida de datos O DIG LATB<2>; no se ve afectado por la entrada analógica.
P1B/AN8
1 0 I Entrada de datos TTL PORTB<2>; deshabilitado cuando la entrada analógica
está habilitada.

INT2 1 0 I ST Interrupción externa 2.


CTED1 1 0 I ST CTMU Entrada de flanco 1.
P1B(3) 0 0 O DIG Salida mejorada CCP1 PWM 2.
AN8 1 1 I AN Entrada analógica 8.
RB3/CTED2/CCP2/ RB3 0 X Salida de datos O DIG LATB<3>; no se ve afectado por la entrada analógica.
SDO/C12IN2-/AN9
1 0 I Entrada de datos TTL PORTB<3>; deshabilitado cuando la entrada analógica
está habilitada.

CTED2 1 0 I Entrada ST CTMU Edge 2.


PCC2(2) 0 0 O DIG Compare 2 salidas/PWM 2 salidas.
1 0 I Entrada ST Captura 2.
SDO(1) 0 0 O DIG MSSP Salida de datos SPI.
C12IN2- 1 1 I AN Entrada inversora de los comparadores C1 y C2.
AN9 1 1 I AN Entrada analógica 9.
RB4/IOCB4/P1D/ RB4 0 X Salida de datos O DIG LATB<4>; no se ve afectado por la entrada analógica.
AN11
1 0 I Entrada de datos TTL PORTB<4>; deshabilitado cuando la entrada analógica
está habilitada.

IOCB4 1 0 I Clavija TTL de interrupción al cambiar.


P1D(3) 0 0 O DIG Salida mejorada CCP1 PWM 4.
AN11 1 1 I AN Entrada analógica 11.
RB5/IOCB5/T3CKI/ RB5 0 X Salida de datos O DIG LATB<5>; no se ve afectado por la entrada analógica.
T1G/AN13
1 0 I Entrada de datos TTL PORTB<5>; deshabilitado cuando la entrada analógica
está habilitada.

IOCB5 1 0 I TTL Interrupción en cambio pin 1.


T3CKI(2) 1 0 I Entrada de reloj ST Timer3.
T1G 1 0 I Entrada de puerta de reloj externo ST Timer1.
AN13 1 1 I AN Entrada analógica 13.
RB6/IOCB6/PGC RB6 0 — Salida de datos O DIG LATB<6>; no se ve afectado por la entrada analógica.
1 - yo Entrada de datos TTL PORTB<6>; deshabilitado cuando la entrada analógica
está habilitada.

IOCB6 1 - yo Clavija TTL de interrupción al cambiar.


PGC x-yo Depurador en circuito ST y entrada de reloj de programación ICSPTM .
RB7/IOCB7/PGD RB7 0 — Salida de datos O DIG LATB<7>; no se ve afectado por la entrada analógica.
1 - yo Entrada de datos TTL PORTB<7>; deshabilitado cuando la entrada analógica
está habilitada.

IOCB7 1 - yo Clavija TTL de interrupción al cambiar.


DGP x — O DIG Depurador en circuito y salida de datos de programación ICSPTM .
x-yo Depurador en circuito ST y entrada de datos de programación ICSPTM .

Leyenda: AN = Entrada o salida analógica; TTL = entrada compatible con TTL; HV = Alto Voltaje; OD = drenaje abierto; XTAL = Cristal;
CMOS = entrada o salida compatible con CMOS; ST = entrada Schmitt Trigger con niveles CMOS; I2C = Entrada de disparador
Schmitt con I2C.
Nota 1: Asignación de pines predeterminada para SDO cuando se establece el bit de configuración SDOMX.
2: Asignación de pines alternativos para T3CKI y CCP2 cuando los bits de configuración T3CMX y CCP2MX están limpios.
3: La función está en PORTD/PORTE para dispositivos PIC18(L)F45K50.

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 135


Machine Translated by Google

PIC18(L)F2X/45K50

TABLA 11-6: REGISTROS ASOCIADOS A PORTB

Regístrate
Nombre Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 bit 0
en la página

ANSELB — — ANSB5 ANSB4 ANSB3 ANSB2 ANSB1 ANSB0 148


ECCP1AS ECCP1ASA ECCP1AS<2:0> PSS1AC<1:0> PSS1BD<1:0> 201
CCP1CON P1M<1:0> DC1B<1:0> PCC1M<3:0> 197
CCP2CON — — DC2B<1:0> PCC2M<3:0> 197
INTCON GIE/GIEH PEIE/GIEL TMR0IE INT0IE IOCIE TMR0IF INT0IF IOCIF 114
INTCON2 RBPU INTEDG0 INTEDG1 INTEDG2 — TMR0IP — IOCIP 115
INTCON3 INT2IP INT1IP — INT2IE INT1IE — INT2IF INT1SI 116
IOCB IOCB7 IOCB6 IOCB5 IOCB4 — — — — 151
LATB LATB7 LATB6 LATB5 LATB4 LATB3 LATB2 LATB1 LATB0 150
PUERTOB RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 146
SLRCON — — — SLRE(1) SLRD(1) SLRC SLRB SLRA 152
T1GCON TMR1GE T1GPOL T1GTM T1GSPM T1GGO/DONE T1GVAL T1GSS<1:0> 166
T3CON TMR3CS<1:0> T3CKPS<1:0> SOSCEN T3SYNC RD16 TMR3ON 165
TRIB TRIB7 TRISB6 TRISB5 TRIB4 TRIB3 TRISB2 TRISB1 TRISB0 149
WPUB WPUB7 WPUB6 WPUB5 WPUB4 WPUB3 WPUB2 WPUB1 WPUB0 150
Leyenda: — = ubicaciones no implementadas, se lee como '0'. Los bits sombreados no se utilizan para PORTB.
Nota 1: Disponible solo en dispositivos PIC18(L)F45K50.

TABLA 11-7: CONFIGURACIÓN DE REGISTROS ASOCIADOS A PORTB

Regístrate
Nombre Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 bit 0
en la página

CONFIG3H MCLRE SDOMX — T3CMX — — PBADEN CCP2MX 376


CONFIG4L DEPURAR XINST ICPRT — — LVP (1) - STRVEN 377
Leyenda: — = ubicaciones no implementadas, se lee como '0'. Los bits sombreados no se utilizan para PORTB.
Nota 1: solo se puede cambiar en el modo de programación de alto voltaje.

DS30000684B-página 136 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50
11.4 Registros PORTC 11.4.1 PRIORIDAD DE SALIDA DE PUERTO

PORTC es un puerto bidireccional de 8 bits de ancho. El registro de Cada pin PORTC está multiplexado con otras funciones.

dirección de datos correspondiente es TRISC. Establecer un bit TRISC Los pines, sus funciones combinadas y sus prioridades de salida se

(= 1) convertirá el pin PORTC correspondiente en una entrada (es decir, describen brevemente aquí. Para obtener información adicional,

deshabilitará el controlador de salida). Borrar un bit TRISC (= 0) hará consulte la sección correspondiente de esta hoja de datos.

que el pin PORTC correspondiente sea una salida (es decir, habilitará
el controlador de salida y colocará el contenido del latch de salida en Cuando se habilitan múltiples salidas, el control de pin real va al
el pin seleccionado). periférico con la prioridad más alta.

El registro de bloqueo de datos (LATC) también está mapeado en la La Tabla 11-4 enumera las funciones del pin PORTC desde la prioridad

memoria. Las operaciones de lectura, modificación y escritura en el más alta hasta la más baja.

registro LATC leen y escriben el valor de salida bloqueado para PORTC. Las funciones de entrada analógica, como ADC, comparador y entradas
de bloqueo SR, no se muestran en las listas de prioridad.

PORTC está multiplexado con varias funciones periféricas (tabla 11-8). Estas entradas están activas cuando el pin de E/S está configurado
Los pines tienen buffers de entrada Schmitt Trigger. para el modo analógico utilizando los registros ANSELx. Las funciones
de salida digital pueden controlar el pin cuando está en modo analógico

Algunas de estas funciones de pin se pueden reubicar para alternar con la prioridad que se muestra a continuación.

pines utilizando los bits de fusible de control en CONFIG3H.


RC0 es el pin predeterminado para T3CKI. Borrar el bit T3CMX mueve
11.4.2 INTERRUPCIÓN EN CAMBIO
la función pin a RB5. RC1 es el pin predeterminado para el pin periférico Todos los pines PORTC (RC<7:4> y RC<2:0>) se pueden configurar
CCP2. Borrar el bit CCP2MX mueve la función del pin al pin RB3.
individualmente como pines de interrupción en el cambio.
Los bits de control en el registro IOCC habilitan (cuando están
Al habilitar funciones periféricas, se debe tener cuidado al definir los establecidos) o deshabilitan (cuando están libres) la función de interrupción para cada pin.
bits TRIS para cada pin PORTC. Los periféricos EUSART y MSSP Consulte la Sección 11.3.2 “Interrupción por cambio” para obtener
anulan el bit TRIS para convertir un pin en una salida o una entrada,
detalles sobre la operación de interrupción por cambio.
según la configuración del periférico. Consulte la sección de periféricos
correspondiente para obtener información adicional.

Nota: En un restablecimiento de encendido, estos pines se


configuran como entradas analógicas.

El contenido del registro TRISC se ve afectado por anulaciones de


periféricos. La lectura de TRISC siempre devuelve el contenido actual,
aunque un dispositivo periférico pueda estar anulando uno o más de
los pines.

EJEMPLO 11-3: INICIALIZACIÓN DE PORTC


MOVLB 0xF ; Establecer BSR para SFR depositados
CLRF LATC ; Inicializar PORTC por ; salida de
limpieza; pestillos de datos

MOVLW 0CFh ; Valor utilizado para ;


inicializar datos; dirección

MOVWF TRISC; Establecer RC<3:0> como entradas


; RC<5:4> como salidas
; RC<7:6> como entradas
MOVIL 30h ; Valor utilizado para ;
habilitar entradas digitales
MOVWF ANSELC; Habilitación de entrada de excavación RC<3:2>
; Sin bits ANSEL para RC<1:0>
; Habilitación de entrada de excavación RC<7:6>

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 137


Machine Translated by Google

PIC18(L)F2X/45K50

TABLA 11-8: RESUMEN DE E/S DEL PUERTO


TRIS ANSEL Alfiler Buffer
Nombre del pin Función Descripción
Ajuste ajuste Escribe Escribe

RC0/IOCC0/T3CKI/ RC0 0 — O Salida de datos DIG LATC<0>; no se ve afectado por la entrada analógica.
T3G/T1CKI/SOSCO
1 — I Entrada de datos ST PORTC<0>; deshabilitado cuando la entrada analógica
está habilitada.

IOCC0 1 — I Clavija TTL de interrupción al cambiar.


T3CKI(1) 1 — I Entrada de reloj ST Timer3.
T3G 1 — I Entrada de puerta de reloj externo ST Timer3.
T1CKI 1 — I Entrada de reloj ST Timer1.
SOSCO X — O XTAL Salida del oscilador secundario.
RC1/IOCC1/CCP2/ RC1 0 — O DIG LATC<1> salida de datos; no se ve afectado por la entrada analógica.
SOSCI
1 — I Entrada de datos ST PORTC<1>; deshabilitado cuando la entrada analógica
activado.

IOCC1 1 — I Clavija TTL de interrupción al cambiar.


PCC2(1) 0 — O DIG Compare 2 salidas/PWM 2 salidas.
1 — I Entrada ST Captura 2.
SOSCI X — I Entrada de oscilador secundario XTAL.
RC2/CTPLS/P1A/ RC2 0 0 O Salida de datos DIG LATC<2>; no se ve afectado por la entrada analógica.
CCP1/IOCC2/AN14 1 0 I Entrada de datos ST PORTC<2>; deshabilitado cuando la entrada analógica
está habilitada.

CTPLS 0 0 O Salida del generador de impulsos DIG CTMU.


P1A 0 0 O DIG Salida mejorada CCP1 PWM 1.
PCC1 0 0 O DIG Compare 1 salida/PWM 1 salida.
1 0 I Entrada ST Captura 1.
IOCC2 1 — I Clavija TTL de interrupción al cambiar.
AN14 1 1 I AN Entrada analógica 14.
D-/IOCC4 D- — — I XCVR USB bus diferencial menos entrada de línea.
— — O XCVR Diferencial de bus USB menos salida de línea.
IOCC4 — — I ST Pin de interrupción al cambiar.
D+/IOCC5 D+ — — I XCVR USB bus diferencial menos entrada de línea.
— — O XCVR Diferencial de bus USB menos salida de línea.
IOCC5 — — I ST Pin de interrupción al cambiar.

Leyenda: AN = Entrada o salida analógica; TTL = entrada compatible con TTL; HV = Alto Voltaje; OD = drenaje abierto; XTAL = Cristal;
CMOS = entrada o salida compatible con CMOS; ST = entrada Schmitt Trigger con niveles CMOS; I2C™ = Entrada de disparador Schmitt
con I2C.
Nota 1: Asignación de pines predeterminada para T3CKI y CCP2 cuando se establecen los bits de configuración T3CMX y CCP2MX.
2: Asignación de pines alternativos para SDO cuando el bit de configuración SDOMX está borrado.
3: La función está en PORTD/PORTE para dispositivos PIC18(L)F45K50.

DS30000684B-página 138 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50
TABLA 11-8: RESUMEN DE E/S DE PORTC (CONTINUACIÓN)
TRIS Ajuste Alfiler Buffer
Nombre del pin Función Descripción
Ajuste ANSEL Escribe Escribe

RC6/IOCC6/TX/CK/ RC6 0 0 O DIG LATC<6> salida de datos; no se ve afectado por la entrada analógica.
AN18 1 0 I Entrada de datos ST PORTC<6>; deshabilitado cuando la entrada analógica
activado.
IOCC6 1 0 I Clavija TTL de interrupción al cambiar.
Texas 1 0 Salida de datos de transmisión asíncrona O DIG EUSART.
CK 1 0 Salida de reloj serie síncrona O DIG EUSART.
1 0 I Entrada de reloj serie síncrona ST EUSART.
AN18 1 1 I AN Entrada analógica 18.
RC7/IOCC7/SDO/RX/ RC7 0 0 Salida de datos O DIG LATC<7>; no se ve afectado por la entrada analógica.
DT/AN19 1 0 I Entrada de datos ST PORTC<7>; deshabilitado cuando la entrada analógica
activado.
IOCC7 1 0 I Clavija TTL de interrupción al cambiar.
SDO(2) 1 0 O DIG Salida de datos MSSP SPI alternativa.
RX 1 0 I Entrada de datos de recepción asíncrona ST EUSART.
DT 1 0 O DIG EUSART salida de datos serie síncrona.
1 0 I Entrada de datos serie síncrona ST EUSART.
AN19 1 1 I AN Entrada analógica 19.
Leyenda: AN = Entrada o salida analógica; TTL = entrada compatible con TTL; HV = Alto Voltaje; OD = drenaje abierto; XTAL = Cristal;
CMOS = entrada o salida compatible con CMOS; ST = entrada Schmitt Trigger con niveles CMOS; I2C™ = Entrada de disparador
Schmitt con I2C.
Nota 1: Asignación de pines predeterminada para T3CKI y CCP2 cuando se establecen los bits de configuración T3CMX y CCP2MX.
2: Asignación de pines alternativos para SDO cuando el bit de configuración SDOMX está borrado.
3: La función está en PORTD/PORTE para dispositivos PIC18(L)F45K50.

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 139


Machine Translated by Google

PIC18(L)F2X/45K50

TABLA 11-9: REGISTROS ASOCIADOS A PORTC

Regístrate
Nombre Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 bit 0
en la página

ANSELC ANSC7 ANSC6 — — — ANSC2 — — 148


ECCP1AS ECCP1ASA ECCP1AS<2:0> PSS1AC<1:0> PSS1BD<1:0> 201
CCP1CON P1M<1:0> DC1B<1:0> PCC1M<3:0> 197
CCP2CON — — DC2B<1:0> PCC2M<3:0> 197
CTMUCONH CTMUEN — CTMUSIDL TGEN EDGEN EDGSEQEN IDISSEN CTTRIG 322
LATC LATC7 LATC6 — — — LATC2 LATC1 LATC0 150
PUERTO RC7 RC6 — — — RC2 RC1 RC0 146
RCSTA1 GASTO RX9 SREN CREN AÑADIR FERR RREE RX9D 269
SLRCON — — — SLRE(1) SLRD(1) SLRC SLRB SLRA 152
SSP1CON1 WCOL SSPOV SSPEN CKP SSPM<3:0> 252
T1CON TMR1CS<1:0> T1CKPS<1:0> SOSCEN T1SYNC RD16 TMR1ON 165
T3CON TMR3CS<1:0> T3CKPS<1:0> SOSCEN T3SYNC RD16 TMR3ON 165
T3GCON TMR3GE T3GPOL T3GTM T3GSPM T3GGO/HECHO T3GVAL T3GSS 166
TRISC TRISC7 TRISC6 — — — TRISC2 TRISC1 TRISC0 149
TXSTA1 CSRC TX9 TXEN SINCRONIZAR ENVIARDB BRGH TRMT TX9D 268
Leyenda: — = ubicaciones no implementadas, se lee como '0'. Los bits sombreados no se utilizan para PORTC.
Nota 1: Disponible solo en dispositivos PIC18(L)F45K50.

TABLA 11-10: CONFIGURACIÓN DE REGISTROS ASOCIADOS A PORTC

Regístrate
Nombre Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 bit 0
en la página

CONFIG3H MCLRE SDOMX — T3CMX — — PBADEN CCP2MX 376


Leyenda: — = ubicaciones no implementadas, se lee como '0'. Los bits sombreados no se utilizan para PORTC.

DS30000684B-página 140 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50
11.5 Registros PORTD 11.5.1 PRIORIDAD DE SALIDA DEL PUERTO
Cada pin PORTD está multiplexado con otras funciones.
Nota: PORTD solo está disponible en dispositivos de 40 y 44
Los pines, sus funciones combinadas y sus prioridades de salida
pines.
se describen brevemente aquí. Para obtener información adicional,
PORTD es un puerto bidireccional de 8 bits de ancho. El registro consulte la sección correspondiente de esta hoja de datos.
de dirección de datos correspondiente es TRISD. Establecer un
bit TRISD (= 1) convertirá el pin PORTD correspondiente en una Cuando se habilitan múltiples salidas, el control de pin real va al
entrada (es decir, deshabilitará el controlador de salida). Borrar periférico con la prioridad más alta.
un bit TRISD (= 0) hará que el pin PORTD correspondiente sea una La Tabla 11-4 enumera las funciones del pin PORTD desde la
salida (es decir, habilitará el controlador de salida y colocará el prioridad más alta a la más baja.
contenido del latch de salida en el pin seleccionado).
Las funciones de entrada analógica, como ADC, comparador y
El registro de bloqueo de datos (LATD) también está mapeado en entradas de bloqueo SR, no se muestran en las listas de prioridad.
la memoria. Las operaciones de lectura, modificación y escritura
Estas entradas están activas cuando el pin de E/S está configurado
en el registro LATD leen y escriben el valor de salida bloqueado
para PORTD. para el modo analógico utilizando los registros ANSELx. Las
funciones de salida digital pueden controlar el pin cuando está en
Todos los pines en PORTD se implementan con búferes de entrada modo analógico con la prioridad que se muestra a continuación.
Schmitt Trigger. Cada pin es configurable individualmente como
entrada o salida.

Todos los pines PORTD están multiplexados con módulos


periféricos analógicos y digitales. Consulte la Tabla 11-11.

Nota: En un restablecimiento de encendido, estos pines se


configuran como entradas analógicas.

EJEMPLO 11-4: INICIALIZACIÓN DE PUERTO


MOVLB 0xF ; Establecer BSR para SFR depositados
CLRF LATD ; Inicializar PORTD por ; salida de
limpieza; pestillos de datos

MOVLW 0CFh ; Valor utilizado para ;


inicializar datos; dirección

MOVWF TRISD; Establecer RD<3:0> como entradas


; RD<5:4> como salidas
; RD<7:6> como entradas
MOVIL 30h ; Valor utilizado para
; habilitar entradas digitales
MOVWF ANSELD ; RD<3:0> habilitación de entrada de excavación
; Habilitación de entrada de excavación RC<7:6>

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 141


Machine Translated by Google

PIC18(L)F2X/45K50

TABLA 11-11: RESUMEN DE E/S DE PUERTO


TRIS Ajuste Alfiler Buffer
Nombre del pin Función Descripción
Ajuste ANSEL Escribe Escribe

RD0/AN20 RD0 0 0 O DIG LATD<0> salida de datos; no se ve afectado por la entrada analógica.
1 0 I Entrada de datos ST PORTD<0>; deshabilitado cuando la entrada analógica
está habilitada.

AN20 1 1 I AN Entrada analógica 20.


RD1/AN21 RD1 0 0 O DIG LATD<1> salida de datos; no se ve afectado por la entrada analógica.
1 0 I Entrada de datos ST PORTD<1>; deshabilitado cuando la entrada analógica
está habilitada.

AN21 1 1 I AN Entrada analógica 21.


RD2/AN22 RD2 0 0 O DIG LATD<2> salida de datos; no se ve afectado por la entrada analógica.
1 0 I Entrada de datos ST PORTD<2>; deshabilitado cuando la entrada analógica
activado.
AN22 1 1 I AN Entrada analógica 22.
RD3/AN23 RD3 0 0 O DIG LATD<3> salida de datos; no se ve afectado por la entrada analógica.
1 0 I Entrada de datos ST PORTD<3>; deshabilitado cuando la entrada analógica
activado.
AN23 1 1 I AN Entrada analógica 23.
RD4/AN24 RD4 0 0 O DIG LATD<4> salida de datos; no se ve afectado por la entrada analógica.
1 0 I Entrada de datos ST PORTD<4>; deshabilitado cuando la entrada analógica
está habilitada.

AN24 1 1 I AN Entrada analógica 24.


RD5/P1B/AN25 RD5 0 0 O DIG LATD<5> salida de datos; no se ve afectado por la entrada analógica.
1 0 I Entrada de datos ST PORTD<5>; deshabilitado cuando la entrada analógica
está habilitada.

P1B 0 0 O DIG Salida CCP1 PWM mejorada 2.


AN25 1 1 I AN Entrada analógica 25.
RD6/P1C/AN26 RD6 0 0 O DIG LATD<6> salida de datos; no se ve afectado por la entrada analógica.
1 0 I Entrada de datos ST PORTD<6>; deshabilitado cuando la entrada analógica
activado.
P1C 0 0 O DIG Salida CCP1 PWM mejorada 3.
AN26 1 1 I AN Entrada analógica 26.
RD7/P1D/AN27 RD7 0 0 O DIG LATD<7> salida de datos; no se ve afectado por la entrada analógica.
1 0 I Entrada de datos ST PORTD<7>; deshabilitado cuando la entrada analógica
activado.
P1D 0 0 O DIG Salida mejorada CCP1 PWM 4.
AN27 1 1 I AN Entrada analógica 27.
Leyenda: AN = Entrada o salida analógica; TTL = entrada compatible con TTL; HV = Alto Voltaje; OD = drenaje abierto; XTAL = Cristal;
CMOS = entrada o salida compatible con CMOS; ST = entrada Schmitt Trigger con niveles CMOS; I2C™ = Entrada de disparador
Schmitt con I2C.

DS30000684B-página 142 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50

TABLA 11-12: REGISTROS ASOCIADOS A PORTD


Regístrate en
Nombre Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 bit 0
la página

ANSELDO(1) ANSD7 ANSD6 ANSD5 ANSD4 ANSD3 ANSD2 ANSD1 ANSD0 148
CCP1CON P1M<1:0> DC1B<1:0> PCC1M<3:0> 197
LATD(1) LATD7 LATD6 LATD5 LATD4 LATD3 LATD2 LATD1 LATD0 150
PUERTO(1) RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0 146
SLRCON(1) — — — SLRE SLRD SLRC SLRB SLRA 152
SSP1CON1 WCOL SSPOV SSPEN CKP SSPM<3:0> 252
TRISD(1) TRISD7 TRISD6 TRISD5 TRISD4 TRISD3 TRISD2 TRISD1 TRISD0 149

Leyenda: — = ubicaciones no implementadas, se lee como '0'. Los bits sombreados no se utilizan para PORTD.
Nota 1: Disponible solo en dispositivos PIC18(L)F45K50.

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 143


Machine Translated by Google

PIC18(L)F2X/45K50
11.6 Registros PORTE 11.6.2 PUERTO EN DISPOSITIVOS DE 28 PINES

Dependiendo del dispositivo PIC18(L)F2X/45K50 en particular Para los dispositivos PIC18(L)F2XK50, PORTE solo está

seleccionado, PORTE se implementa de dos maneras diferentes. disponible cuando la funcionalidad Master Clear está deshabilitada
(MCLR = 0). En estos casos, PORTE es un puerto de entrada de
un solo bit compuesto únicamente por RE3. El pasador funciona
como se ha descrito anteriormente.
11.6.1 PUERTO EN DISPOSITIVOS 40/44 PIN
Para dispositivos PIC18(L)F2X/45K50, PORTE es un puerto de 4 11.6.3 ELEVACIÓN DÉBIL RE3
bits de ancho. Tres pines (RE0/AN5, RE1/AN6 y RE2/AN7) se
El pin del puerto RE3 tiene un pull-up interno débil controlado
pueden configurar individualmente como entradas o salidas.
individualmente. Cuando se establece, el bit WPUE3 (TRISE<7>)
Estos pines tienen buffers de entrada Schmitt Trigger. Cuando
habilita la extracción del pin RE3. El bit RBPU del registro INT
se selecciona como una entrada analógica, estos pines se leerán como '0'.
CON2 controla los pull-ups tanto en PORTB como en PORTE.
El registro de dirección de datos correspondiente es TRISE. Cuando RBPU = 0, los pull-ups débiles se activan en todos los
Establecer un bit TRISE (= 1) convertirá el pin PORTE pines que tienen configurados los bits WPUE3 o WPUBx. Cuando
correspondiente en una entrada (es decir, deshabilitará el controlador de salida).
se establece, el bit RBPU desactiva todos los pull ups débiles.
Borrar un bit TRISE (= 0) convertirá el pin PORTE correspondiente Los pull-ups se deshabilitan en un reinicio de encendido.
en una salida (es decir, habilitará el controlador de salida y Cuando el pin del puerto RE3 está configurado como MCLR
colocará el contenido del latch de salida en el pin seleccionado). (CON FIG3H<7>, MCLRE = 1 y CONFIG4L<2>, LVP = 0) o
TRISE controla la dirección de los pines REx, incluso cuando se configurado para programación de bajo voltaje (MCLRE = x y LVP
utilizan como entradas analógicas. El usuario debe asegurarse = 1), el pull-up siempre está habilitado y el bit WPUE3 no tiene
efecto.
de mantener los pines configurados como entradas cuando los
utilice como entradas analógicas.
11.6.4 PRIORIDAD DE SALIDA DEL PORTE
El registro de bloqueo de datos (LATE) también está mapeado en
Cada pin PORTE está multiplexado con otras funciones.
memoria. Las operaciones de lectura, modificación y escritura en
Los pines, sus funciones combinadas y sus prioridades de salida
el registro LATE leen y escriben el valor de salida bloqueado para
PORTE. se describen brevemente aquí. Para obtener información
adicional, consulte la sección correspondiente de esta hoja de
Nota: En un restablecimiento de encendido, RE<2:0> se datos.
configuran como entradas analógicas.
Cuando se habilitan múltiples salidas, el control de pin real va al
El cuarto pin de PORTE (MCLR/VPP/RE3) es un pin solo de periférico con la prioridad más alta.
entrada. Su funcionamiento está controlado por el bit de La Tabla 11-4 enumera las funciones de los pines PORTE desde
configuración MCLRE. Cuando se selecciona como un pin de la prioridad más alta a la más baja.
puerto (MCLRE = 0), funciona como un pin de solo entrada digital;
Las funciones de entrada analógica, como ADC, comparador y
como tal, no tiene bits TRIS o LAT asociados con su
entradas de bloqueo SR, no se muestran en las listas de prioridad.
funcionamiento. De lo contrario, funciona como la entrada Master
Estas entradas están activas cuando el pin de E/S está configurado
Clear del dispositivo. En cualquier configuración, RE3 también
para el modo analógico usando los registros ANSELx. Las
funciona como la entrada de voltaje de programación durante la programación.
funciones de salida digital pueden controlar el pin cuando está
Nota: En un restablecimiento de encendido, RE3 se habilita en modo analógico con la prioridad que se muestra a continuación.
como una entrada digital solo si la funcionalidad
Master Clear está deshabilitada.

EJEMPLO 11-5: INICIALIZACIÓN DE PORTE


CLRF TARDE ; Inicializar PORTE por ; salida
de limpieza; pestillos de datos

CLRF ANSELE ; Configurar pines analógicos; solo para


digitales
MOVLW 05h ; Valor utilizado para ;
inicializar datos
; dirección
MOVWF TRISE ; Establecer RE<0> como entrada
; RE<1> como salida
; RE<2> como entrada

DS30000684B-página 144 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50

TABLA 11-13: RESUMEN DEL PORTE I/O


TRIS ANSEL Alfiler Buffer
Alfiler Función Descripción
Ajuste Ajuste Escribe Escribe

RE0/AN5 RE0 0 0 Salida de datos O DIG LATE<0>; no se ve afectado por la entrada analógica.
1 0 I entrada de datos ST PORTE<0>; deshabilitado cuando la entrada analógica
está habilitada.

AN5 1 1 I AN Entrada analógica 5.


RE1/AN6 RE1 0 0 Salida de datos O DIG LATE<1>; no se ve afectado por la entrada analógica.
1 0 I entrada de datos ST PORTE<1>; deshabilitado cuando la entrada analógica
está habilitada.

AN6 1 1 I AN Entrada analógica 6.


RE2/AN7 RE2 0 0 Salida de datos O DIG LATE<2>; no se ve afectado por la entrada analógica.
1 0 I entrada de datos ST PORTE<2>; deshabilitado cuando la entrada analógica
está habilitada.

AN7 1 1 I AN Entrada analógica 7.


RE3/VPP/MCLR RE3 — — Yo entrada de datos ST PORTE<3>; habilitado cuando Bit de configuración
MCLRE = 0.
VPP — — P Entrada de voltaje de programación AN; siempre disponible
MCLR — — Yo ST Entrada de borrado maestro activo-bajo (reinicio del dispositivo);
habilitado cuando el bit de configuración MCLRE = 1.

Leyenda: AN = Entrada o salida analógica; TTL = entrada compatible con TTL; HV = Alto Voltaje; OD = drenaje abierto; XTAL = Cristal;
CMOS = entrada o salida compatible con CMOS; ST = entrada Schmitt Trigger con niveles CMOS; I2C™ = Entrada de disparador
Schmitt con I2C.

TABLA 11-14: REGISTROS ASOCIADOS A PORTE

Regístrate
Nombre Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 bit 0
en la página

ANSELE(1) — — — — — ANSE2 ANSE1 ANSE0 149


INTCON2 RBPU INTEDG0 INTEDG1 INTEDG2 — TMR0IP — IOCIP 115
TARDE(1) — — — — — TARDE2 TARDE1 TARDE0 150
PORTE — — — — RE3 RE2(1) RE1(1) RE0(1) 147
SLRCON — — — SLRE(1) SLRD(1) SLRC SLRB SLRA 152
TRISE WPUE3 — — — — TRISE2(1) TRISE1(1) TRISE0(1) 149
Leyenda: — = ubicaciones no implementadas, se lee como '0'. Los bits sombreados no se utilizan para PORTE.
Nota 1: Disponible solo en dispositivos PIC18(L)F45K50.

TABLA 11-15: REGISTROS DE CONFIGURACIÓN ASOCIADOS A PORTE

Registrarse
Nombre Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 bit 0
en la página

CONFIG3H MCLRE SDOMX — T3CMX — — PBADEN CCP2MX 376


CONFIG4L DEPURAR XINST — — — LVP(1) — STRVEN 377
Leyenda: — = ubicaciones no implementadas, se lee como '0'. Los bits sombreados no se utilizan para interrupciones.
Nota 1: solo se puede cambiar en el modo de programación de alto voltaje.

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 145


Machine Translated by Google

PIC18(L)F2X/45K50
11.7 Control analógico de puerto 11.8 Control de velocidad de respuesta del puerto

La mayoría de los pines del puerto están multiplexados con funciones analógicas La velocidad de respuesta de salida de cada puerto es programable para
como el convertidor de analógico a digital y seleccione la tasa de transición estándar o una reducida
comparadores. Cuando estos pines de E/S se van a utilizar como tasa de transición de aproximadamente 0,1 veces el estándar
entradas analógicas es necesario deshabilitar la entrada digital para minimizar la EMI. El tiempo de transición reducido es el
búfer para evitar el exceso de corriente causado por inadecuado velocidad de respuesta predeterminada para todos los puertos.

polarización de la entrada digital. Control individual de la


búferes de entrada digital en pines que comparten analógicos
funciones es proporcionada por la ANSELA, ANSELB,
Registros ANSELC, ANSELD y ANSELE. Establecer un
El bit alto de ANSx deshabilitará la entrada digital asociada
búfer y hacer que todas las lecturas de ese pin devuelvan '0' mientras
permitiendo que las funciones analógicas de ese pin funcionen
correctamente.

El estado de los bits ANSx no tiene efecto en digital


funciones de salida Un pin con el bit TRISx asociado
claro y el conjunto de bits ANSx seguirá funcionando como un
salida pero el modo de entrada será analógico. Esto puede
provocar un comportamiento inesperado al realizar operaciones
de lectura, modificación y escritura en el puerto afectado.

Todos los bits de registro de ANSEL están predeterminados en '1' en POR y


BOR, deshabilitando entradas digitales para su puerto asociado
patas. Todos los bits de registro TRIS están predeterminados en '1' en POR o
BOR, deshabilitando salidas digitales para su puerto asociado
patas. Como resultado, todos los pines de puerto que tienen un ANSEL
el registro tendrá por defecto las entradas analógicas en POR o BOR.

11.9 Definiciones de Registro – Control de


Puerto REGISTRO 11-1: PORTx(1): PORTx REGISTRO
R/Wu/x R/Wu/x R/Wu/x R/Wu/x R/Wu/x R/Wu/x R/Wu/x R/Wu/x

Rx7 Rx6 Rx5 Rx4 Rx3 Rx2 Rx1 Rx0

bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
'1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

-n/n = Valor en POR y BOR/Valor en todos los demás reinicios

bit 7-0 Rx<7:0>: valores de bits de E/S PORTx(2)

Nota 1: Descripción de registro para PORTA, PORTB, PORTC y PORTD.


2: Las escrituras en PORTx se escriben en el registro LATx correspondiente. Las lecturas del registro PORTx son el retorno de E/S
valores de pines

DS30000684B-página 146 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 11-2: PORTE: PORTE REGISTRO


U-0 U-0 U-0 U-0 R/Wu/x R/Wu/x R/Wu/x R/Wu/x
— — — — RE3(1) RE2(2), (3) RE1(2), (3) RE0(2), (3)
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
'1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

-n/n = Valor en POR y BOR/Valor en todos los demás reinicios

bit 7-4 Sin implementar: se lee como '0'


bit 3 RE3: PORTE Valor de bit de entrada (1)
bit 2-0 RE<2:0>: valores de bit de E/S PORTE (2), (3)

Nota 1: el puerto está disponible solo como entrada cuando MCLRE = 0.


2: Las escrituras en PORTx se escriben en el registro LATx correspondiente. Las lecturas del registro PORTx son el retorno de E/S
valores de pines

3: Disponible en dispositivos PIC18(L)F45K50.

REGISTRO 11-3: ANSELA – REGISTRO PORTA ANALOG SELECT


U-0 U-0 L/E-1 U-0 L/E-1 L/E-1 L/E-1 L/E-1
— — ANSA5 — ANSA3 ANSA2 ANSA1 ANSA0
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7-6 Sin implementar: se lee como '0'


bit 5 ANSA5: bit de selección analógica RA5
1 = Búfer de entrada digital deshabilitado
0 = Búfer de entrada digital habilitado
bit 4 Sin implementar: se lee como '0'
bit 3-0 ANSA<3:0>: RA<3:0> bit de selección analógica
1 = Búfer de entrada digital deshabilitado
0 = Búfer de entrada digital habilitado

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 147


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 11-4: ANSELB – REGISTRO DE SELECCIÓN DE PUERTO ANALÓGICO


U-0 U-0 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1
— — ANSB5 ANSB4 ANSB3 ANSB2 ANSB1 ANSB0
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7-6 Sin implementar: se lee como '0'


bit 5-0 ANSB<5:0>: RB<5:0> bit de selección analógica
1 = Búfer de entrada digital deshabilitado
0 = Búfer de entrada digital habilitado

REGISTRO 11-5: ANSELC – REGISTRO DE SELECCIÓN ANALÓGICA DEL PUERTO


L/E-1 L/E-1 U-0 U-0 U-0 L/E-1 U-0 U-0
ANSC7 ANSC6 — — — ANSC2 — —

bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7-6 ANSC<7:6>: RC<7:6> bit de selección analógica


1 = Búfer de entrada digital deshabilitado
0 = Búfer de entrada digital habilitado
bit 5-3 Sin implementar: se lee como '0'
bit 2 ANSC<2>: bit de selección analógica RC<2>
1 = Búfer de entrada digital deshabilitado
0 = Búfer de entrada digital habilitado
bit 1-0 Sin implementar: se lee como '0'

REGISTRO 11-6: ANSELD – REGISTRO DE SELECCIÓN DE PUERTO ANALÓGICO


L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1
ANSD7 ANSD6 ANSD5 ANSD4 ANSD3 ANSD2 ANSD1 ANSD0
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7-0 ANSD<7:0>: RD<7:0> bit de selección analógica


1 = Búfer de entrada digital deshabilitado
0 = Búfer de entrada digital habilitado

DS30000684B-página 148 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 11-7: ANSELE – REGISTRO SELECCIONADO PORTE ANALÓGICO


U-0 U-0 U-0 U-0 U-0 L/E-1 L/E-1 L/E-1
— — — — — ANSE2(1) ANSE1(1) ANSE0(1)
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7-3 Sin implementar: se lee como '0'


bit 2-0 ANSE<2:0>: RE<2:0> bit de selección analógica (1)
1 = Búfer de entrada digital deshabilitado
0 = Búfer de entrada digital habilitado
Nota 1: Disponible solo en dispositivos PIC18(L)F45K50.

REGISTRO 11-8: TRISx: PORTx REGISTRO TRI-ESTATAL(1)


L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1
TRISx7 TRISx6 TRISx5 TRISx4 TRISx3 TRISx2 TRISx1 TRISx0
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7-0 TRISx<7:0>: bit de control de tres estados PORTx

1 = pin PORTx configurado como entrada (tri-estado)


0 = pin PORTx configurado como salida
Nota 1: Descripción del registro para TRISA, TRISB, TRISC y TRISD.

REGISTRO 11-9: TRISE: REGISTRO TRIESTATAL PORTE


L/E-1 U-0 U-0 U-0 U-0 L/E-1 L/E-1 L/E-1
WPUE3 — — — — TRISE2(1) TRISE1(1) TRISE0(1)
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7 WPUE3: Bits de registro pull-up débiles


1 = Pull-up habilitado en el pin PORT
0 = Pull-up deshabilitado en el pin PORT
bit 6-3 Sin implementar: se lee como '0'
bit 2-0 TRISE<2:0>: Bit de control de tres estados PORTE (1)

1 = pin PORTE configurado como entrada (tri-estado)


0 = pin PORTE configurado como salida
Nota 1: Disponible solo en dispositivos PIC18(L)F45K50.

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 149


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 11-10: LATx: REGISTRO DE LATCH DE SALIDA DE PORTx (1)


R/Ax/u R/Ax/u R/Ax/u R/Ax/u R/Ax/u R/Ax/u R/Ax/u R/Ax/u
LATx7 LATx6 LATx5 LATx4 LATx3 LATx2 LATx1 LATx0
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7-0 LATx<7:0>: valor de bit de enclavamiento de salida PORTx(2)

Nota 1: Descripción de registro para LATA, LATB, LATC y LATD.


2: Las escrituras en PORTA se escriben en el registro LATA correspondiente. Las lecturas del registro PORTA son el retorno de E/S
valores de pines

REGISTRO 11-11: TARDE: SALIDA PORTE REGISTRO LATCH(1)


U-0 U-0 U-0 U-0 U-0 R/Ax/u R/Ax/u R/Ax/u
— — — — — TARDE2 TARDE1 TARDE0

bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7-3 Sin implementar: se lee como '0'


bit 2-0 LATE<2:0>: valor de bit de enganche de salida PORTE (2)
Nota 1: Disponible solo en dispositivos PIC18(L)F45K50.
2: Las escrituras en PORTE se escriben en el registro LATE correspondiente. Las lecturas del registro PORTE son retorno de E/S
valores de pines

REGISTRO 11-12: WPUB: REGISTRO DE PORTB PULL-UP DÉBIL


L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1
WPUB7 WPUB6 WPUB5 WPUB4 WPUB3 WPUB2 WPUB1 WPUB0
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7-0 WPUB<7:0>: Bits de registro pull-up débiles


1 = Pull-up habilitado en el pin PORTB
0 = Pull-up deshabilitado en el pin PORTB

DS30000684B-página 150 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 11-13: IOCB: REGISTRO DE CONTROL DE INTERRUPCIÓN EN CAMBIO DE PUERTO


L/E-0 L/E-0 L/E-0 L/E-0 U-0 U-0 U-0 U-0
IOCB7 IOCB6 IOCB5 IOCB4 — — — —

bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7-4 IOCB<7:4>: Bits de control PORTB de interrupción por cambio


1 = Interrupción por cambio habilitada(1)
0 = Interrupción al cambiar deshabilitada
bit 3-0 Sin implementar: se lee como '0'
Nota 1: la interrupción por cambio requiere que se establezca el bit IOCIE (INTCON<3>).

REGISTRO 11-14: IOCC: REGISTRO DE CONTROL DE PUERTO DE INTERRUPCIÓN EN CAMBIO


L/E-0 L/E-0 L/E-0 L/E-0 U-0 L/E-0 L/E-0 L/E-0
IOCC7 IOCC6 IOCC5 IOCC4 — IOCC2 IOCC1 IOCC0
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7-4 IOCC<7:4>: Bits de control PORTC de interrupción por cambio


1 = Interrupción por cambio habilitada(1)
0 = Interrupción al cambiar deshabilitada
bit 3 Sin implementar: se lee como '0'
bit 2-0 IOCC<2:0>: Bits de control PORTC de interrupción al cambiar
1 = Interrupción por cambio habilitada(1)
0 = Interrupción al cambiar deshabilitada
Nota 1: la interrupción por cambio requiere que se establezca el bit IOCIE (INTCON<3>).

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 151


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 11-15: SLRCON: REGISTRO DE CONTROL DE LA TASA DE CAMBIO

U-0 U-0 U-0 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1


— — — SLRE(1) SLRD(1) SLRC SLRB SLRA

bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = El bit se borra x = El bit es desconocido

bit 7-5 Sin implementar: se lee como '0'


bit 4 SLRE: bit de control de velocidad de respuesta PORTE (1)

1 = Todas las salidas en PORTE giran a una tasa limitada


0 = Todas las salidas en PORTE giran a la velocidad estándar
bit 3 SLRD: bit de control de velocidad de cambio de PORTD (1)

1 = Todas las salidas en PORTD giran a una velocidad limitada


0 = Todas las salidas en PORTD giran a la velocidad estándar
bit 2 SLRC: bit de control de velocidad de giro de PORTC

1 = Todas las salidas en PORTC giran a una tasa limitada


0 = Todas las salidas en PORTC giran a la velocidad estándar
bit 1 SLRB: bit de control de velocidad de respuesta de PORTB

1 = Todas las salidas en PORTB giran a una tasa limitada


0 = Todas las salidas en PORTB giran a la velocidad estándar
bit 0 SLRA: bit de control de velocidad de giro PORTA

1 = Todas las salidas en PORTA giran a una velocidad limitada(2)


0 = Todas las salidas en PORTA giran a la velocidad estándar

Nota 1: Estos bits están disponibles en dispositivos PIC18(L)F45K50.


2: La velocidad de respuesta de RA6 se establece de manera predeterminada en la velocidad estándar cuando el pin se usa como CLKO.

DS30000684B-página 152 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50
12.0 MÓDULO TEMPORIZADOR0 El registro T0CON (Registro 12-1) controla todos
aspectos del funcionamiento del módulo, incluido el
El módulo Timer0 incorpora las siguientes características: selección de preescala. Es tanto de lectura como de escritura.
• Operación seleccionable por software como Un diagrama de bloques simplificado del módulo Timer0 en 8 bits
temporizador o contador en los modos de 8 o 16 bits
El modo se muestra en la Figura 12-1. La figura 12-2 muestra un
• Registros legibles y escribibles diagrama de bloques simplificado del módulo Timer0 en 16 bits
modo.
• Prescaler programable de software de 8 bits
dedicado
• Fuente de reloj seleccionable (interna o externa)
• Selección de borde para reloj externo
• Interrupción por desbordamiento

12.1 Definiciones de Registro: Control Timer0


REGISTRO 12-1: T0CON: REGISTRO DE CONTROL TIMER0

L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1 L/E-1


TMR0ON T08BIT T0CS T0SE PSA TOPS<2:0>
bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'
-n = Valor en POR '1' = El bit está establecido '0' = Bit borrado x = Bit desconocido

bit 7 TMR0ON: bit de control de encendido/apagado del temporizador 0

1 = Habilita el temporizador 0

0 = Detiene el temporizador 0

bit 6 T08BIT: Timer0 Bit de control de 8 bits/16 bits

1 = Timer0 está configurado como un temporizador/contador de 8 bits


0 = Timer0 está configurado como un temporizador/contador de 16 bits
bit 5 T0CS: bit de selección de fuente de reloj del temporizador 0

1 = Transición en pin T0CKI


0 = Reloj de ciclo de instrucción interna (FOSC/4)
bit 4 T0SE: bit de selección de flanco de fuente del temporizador 0

1 = Incremento en la transición de alto a bajo en el pin T0CKI


0 = Incremento en la transición de bajo a alto en el pin T0CKI
bit 3 PSA: bit de asignación del preescalador Timer0
1 = El preescalador TImer0 NO está asignado. La entrada de reloj del temporizador 0 pasa por alto el preescalador.
0 = Se asigna el preescalador Timer0. La entrada de reloj del temporizador 0 proviene de la salida del preescalador.
bit 2-0 T0PS<2:0>: Timer0 Prescaler Seleccionar bits

111 = 1:256 valor de preescala


110 = 1:128 valor de preescala
101 = valor de preescala 1:64
100 = valor de preescala 1:32
011 = valor de preescala 1:16
010 = valor de preescala 1:8
001 = valor de preescala 1:4
000 = valor de preescala 1:2

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 153


Machine Translated by Google

PIC18(L)F2X/45K50
12.2 Operación del temporizador 0 12.3 Timer0 lee y escribe en
Timer0 puede funcionar como temporizador o como contador;
Modo de 16 bits
el modo se selecciona con el bit T0CS del registro T0CON. En
TMR0H no es el byte alto real de Timer0 en el modo de 16
el modo de temporizador (T0CS = 0), el módulo se incrementa bits; en realidad es una versión almacenada en búfer del byte
en cada reloj de forma predeterminada a menos que se alto real de Timer0 que no se puede leer ni escribir
seleccione un valor de preescalador diferente (consulte la directamente (consulte la Figura 12-2). TMR0H se actualiza
Sección 12.4 “Preescalador”). El incremento del temporizador con el contenido del byte alto de Timer0 durante una lectura
0 se inhibe durante dos ciclos de instrucción después de una de TMR0L. Esto brinda la capacidad de leer los 16 bits de
escritura de registro TMR0. El usuario puede solucionar esto Timer0 sin la necesidad de verificar que la lectura del byte
ajustando el valor escrito en el registro TMR0 para compensar alto y bajo sea válida. De lo contrario, podrían ocurrir lecturas
los incrementos faltantes anticipados. no válidas debido a una transferencia entre lecturas sucesivas

El modo Contador se selecciona configurando el bit T0CS (= del byte alto y bajo.
1). En este modo, Timer0 se incrementa en cada flanco De manera similar, también debe realizarse una escritura en
ascendente o descendente del pin RA4/T0CKI. El flanco de el byte alto de Timer0 a través del registro de búfer TMR0H.
incremento está determinado por el bit de selección de flanco Escribir en TMR0H no afecta directamente a Timer0. En su
de origen del temporizador 0, T0SE del registro T0CON; borrar lugar, el byte alto de Timer0 se actualiza con el contenido de
este bit selecciona el flanco ascendente. Las restricciones en TMR0H cuando se produce una escritura en TMR0L. Esto permite que todos
la entrada del reloj externo se analizan a continuación. 16 bits de Timer0 para ser actualizados a la vez.
Se puede usar una fuente de reloj externa para controlar
Timer0; sin embargo, debe cumplir ciertos requisitos (consulte
la Tabla 29-22) para garantizar que el reloj externo se pueda
sincronizar con el reloj de fase interno (TOSC).
Hay un retraso entre la sincronización y el inicio del
incremento del temporizador/contador.

FIGURA 12-1: DIAGRAMA DE BLOQUES TIMER0 (MODO DE 8 BITS)

FOSC/4 0
1
Colocar
Sincronizar con
1 Interno TMR0L TMR0IF
relojes en desbordamiento
pasador T0CKI Programable 0
Prescaler
T0SE (Retraso de 2 TCY )
8
T0CS 3
T0PS<2:0>
8
PSA Bus de datos interno

Nota: Al restablecerse, Timer0 se habilita en modo de 8 bits con entrada de reloj de T0CKI máx. preescala

DS30000684B-página 154 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50
FIGURA 12-2: DIAGRAMA DE BLOQUES TIMER0 (MODO DE 16 BITS)

FOSC/4 0
1
Sincronizar con Colocar
1 TMR0
Interno TMR0L TMR0IF
relojes Byte alto
Programable 0 en desbordamiento
pasador T0CKI 8
Prescaler
T0SE (Retraso de 2 TCY )

T0CS 3 Leer TMR0L


T0PS<2:0>
Escribir TMR0L
PSA
8
8

TMR0H

8
8
Bus de datos interno

Nota: Al restablecerse, Timer0 se habilita en modo de 8 bits con entrada de reloj de T0CKI máx. preescala

12.4 Preescalador 12.4.1 PREESCALADOR DE CONMUTACIÓN


ASIGNACIÓN
Un contador de 8 bits está disponible como preescalador para el Timer0
módulo. El prescaler no se puede leer ni escribir directamente; La asignación del preescalador está completamente bajo el software
su valor lo establecen los bits PSA y T0PS<2:0> del control y se puede cambiar "sobre la marcha" durante el programa
ejecución.
Registro T0CON que determina el prescaler
asignación y proporción de preescala.

Al borrar el bit PSA, se asigna el preescalador al 12.5 Interrupción del temporizador 0


Módulo Timer0. Cuando se asigna el preescalador, La interrupción TMR0 se genera cuando el registro TMR0 se
valores de preescala de 1:2 a 1:256 en enteros desborda de FFh a 00h en modo de 8 bits, o de
los incrementos de potencia de 2 son seleccionables. FFFFh a 0000h en modo de 16 bits. Este desbordamiento establece el
Cuando se asigna al módulo Timer0, todas las instrucciones Bit indicador TMR0IF. La interrupción se puede enmascarar
escribiendo en el registro TMR0 (por ejemplo, CLRF TMR0, MOVWF borrando el bit TMR0IE del registro INTCON. Antes
TMR0, BSF TMR0, etc.) borre el conteo del preescalador. volver a habilitar la interrupción, el bit TMR0IF debe ser
borrado por el software en la Rutina de Servicio de Interrupción.
Nota: Escribir en TMR0 cuando el prescaler está
asignado a Timer0 borrará el prescaler Dado que Timer0 se apaga en el modo de suspensión, el TMR0
cuenta pero no cambiará el prescaler la interrupción no puede despertar el procesador de la suspensión.

asignación.

TABLA 12-1: REGISTROS ASOCIADOS CON TIMER0

Regístrate
Nombre Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 bit 0
en la página

INTCON GIE/GIEH PEIE/GIEL TMR0IE INT0IE IOCIE TMR0IF INT0IF IOCIF 114
INTCON2 RBPU INTEDG0 INTEDG1 INTEDG2 — TMR0IP — IOCIP 115
T0CON TMR0ON T08BIT T0CS T0SE PSA T0PS<2:0> 153

TMR0H Registro del temporizador 0, byte alto

TMR0L Registro del temporizador 0, byte bajo
Trisa TRISA7 TRISA6 TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 149

Leyenda: — = ubicaciones no implementadas, se lee como '0'. Timer0 no utiliza los bits sombreados.

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 155


Machine Translated by Google

PIC18(L)F2X/45K50
13.0 MÓDULO TIMER1/3 CON CONTROL DE • Disparador de evento especial (con CCP/ECCP) •
Polaridad de fuente de puerta seleccionable • Modo
PUERTA
de alternancia de puerta • Modo de pulso único de
El módulo Timer1/3 es un temporizador/contador de 16 bits con las
puerta • Estado del valor de puerta
siguientes características: • Par de registro de temporizador/

contador de 16 bits (TMRxH:TMRxL) • Fuente de reloj interna o


• Interrupción de evento de
externa programable • Preescalador de 2 bits • Oscilador secundario
puerta La Figura 13-1 es un diagrama de bloques del módulo Timer1/3.
dedicado de 32 kHz • Salida de comparador sincronizada
opcionalmente • Múltiples fuentes de compuerta Timer1/3
(habilitación de conteo) • Interrupción en caso de desbordamiento
• Activación en caso de desbordamiento (reloj externo,

modo asíncrono solamente) •


Operación de lectura/escritura de 16
bits • Base de tiempo para la función de captura/comparación

FIGURA 13-1: DIAGRAMA DE BLOQUES DEL TEMPORIZADOR 1/3

TxGSS<1:0>

TxG 00 TxGSPM

Coincidencia de temporizador 2
01 0
PR2 TxG_IN Bus de datos
0 TxGVAL
D q
10 pulso único RD
sincronización_C1OUT(7) 1 TXGCON
Q1 ES
D q 1 acq. Control

11
sincronización_C2OUT(7) Interrumpir Colocar
CK Q TxGGO/HECHO
TMRxON tmrxgif
R det
TxGPOL TxGTM
TMRxGE

Establecer bit de bandera TMRxON


TMRxIF en
Al módulo comparador
Desbordamiento
RTMx(2),(4)
ES Entrada de reloj
0
TMRxH TMRxL TxCLK sincronizado
q D

TMRxCS<1:0>
Secundario TxSYNC
Oscilador SOSCOUT
Módulo
Reservado 11
Vea la Figura 2-4
Prescaler Sincronizar(3),(7)
1 1, 2, 4, 8
TxCLK_EXT_SRC det
(5) ,(6) (1)
10
2
TxCKI 0
FOSC TxCKPS<1:0>
Interno 01
Reloj FOSC/2
SOSCEN Entrada de sueño
Interno
FOSC/4 Reloj
Interno 00
Reloj

Nota 1: ST Buffer es de tipo de alta velocidad cuando se usa TxCKI.


2: Incrementos de registro del temporizador 1/3 en el flanco ascendente.

3: La sincronización no funciona mientras está en suspensión.


4: Consulte la Figura 13-2 para ver el diagrama de bloques del modo de lectura/escritura de 16 bits.

5: T1CKI no está disponible cuando el oscilador secundario está habilitado. (SOSCGO = 1 o SOSCEN = 1)
6: T3CKI no está disponible cuando el oscilador secundario está habilitado, a menos que T3CMX = 1.
7: La salida del comparador sincronizado no debe usarse junto con TxCKI sincronizado.

DS30000684B-página 156 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50
13.1 Funcionamiento del temporizador 1/3 13.2.1 FUENTE DE RELOJ INTERNO
Cuando se selecciona la fuente del reloj interno, el
El módulo Timer1/3 es un contador incremental de 16 bits
al que se accede a través del registro TMRxH:TMRxL El par de registros TMRxH:TMRxL se incrementará en múltiplos

par. Las escrituras en TMRxH o TMRxL actualizan directamente el de FOSC según lo determinado por el preescalador Timer1/3.
encimera. Cuando se selecciona la fuente de reloj interno FOSC , el

Cuando se usa con una fuente de reloj interna, el módulo es El valor del registro del temporizador 1/3 se incrementará en cuatro conteos

un temporizador e incrementos en cada ciclo de instrucción. cada ciclo de reloj de instrucción. Debido a esta condición, un
Cuando se utiliza con una fuente de reloj externa, el módulo 2 Se producirá un error de resolución LSB al leer el
se puede utilizar como temporizador o contador y Valor del temporizador 1/3. Para utilizar la resolución completa de Timer1/3,

incrementos en cada borde seleccionado de la externa se debe usar una señal de entrada asíncrona para activar el
fuente. Entrada de reloj Timer1/3.

Timer1/3 se habilita configurando TMRxON y Se pueden utilizar las siguientes fuentes asíncronas:

Bits TMRxGE en los registros TxCON y TxGCON, • Evento asíncrono en el pin TxG a Timer1/3
respectivamente. La tabla 13-1 muestra la habilitación del temporizador 1/3 portón
trozos escogidos.
• Entrada del comparador C1 o C2 a la puerta Timer1/3

13.2.2 FUENTE DE RELOJ EXTERNA


TABLA 13-1: HABILITAR TEMPORIZADOR 1/3
TROZOS ESCOGIDOS Cuando se selecciona la fuente de reloj externa, el Timer1/3
El módulo puede funcionar como un temporizador o un contador.
Temporizador1/3
TMRxON TMRxGE
Cuando está habilitado para contar, Timer1/3 se incrementa en el
Operación
flanco ascendente de la entrada de reloj externo del pin TxCKI.
0 0 Apagado
Esta fuente de reloj externa se puede sincronizar con el
0 1 Apagado
reloj del sistema del microcontrolador o puede funcionar
1 0 siempre encendido
asincrónicamente

1 1 Cuenta habilitada Cuando se usa como un temporizador con un oscilador de reloj, un


El cristal externo de 32,768 kHz se puede utilizar junto con
con el circuito oscilador interno secundario dedicado.
13.2 Selección de fuente de reloj
Nota: En el modo Contador, un flanco descendente debe ser
Los bits TMRxCS<1:0> y SOSCEN del TxCON
registrado por el contador antes de la primera
se utilizan para seleccionar la fuente de reloj para Timer1/3.
incrementando el flanco ascendente después de uno o
El circuito oscilador secundario dedicado se puede utilizar
más de las siguientes condiciones:
como fuente de reloj para Timer1 y Timer3,
• Timer1/3 habilitado después de POR
simultaneamente. Cualquiera de los bits SOSCEN habilitará el
circuito oscilador secundario y seleccionarlo como el reloj • Escribir en TMRxH o TMRxL
fuente para ese temporizador en particular. La Tabla 13-2 muestra la • El temporizador 1/3 está deshabilitado
selecciones de fuente de reloj.
• Timer1/3 está deshabilitado (TMRxON = 0)
cuando TxCKI es alto, luego Timer1/3 está
habilitado (TMRxON=1) cuando TxCKI es bajo.

TABLA 13-2: SELECCIONES DE FUENTE DE RELOJ

TMRxCS1 TMRxCS0 SOSCEN Fuente de reloj

0 1 X Reloj del sistema (FOSC)


0 0 X Reloj de instrucciones (FOSC/4)
1 0 0 Reloj externo en pin TxCKI
1 0 1 Circuito oscilador en pines SOSCI/SOSCO

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 157


Machine Translated by Google

PIC18(L)F2X/45K50
13.3 Timer1/3 Prescaler 13.5.1 LECTURA Y ESCRITURA TEMPORIZADOR
1/3 EN MODO CONTADOR
Timer1/3 tiene cuatro opciones de preescalador que permiten
ASINCRONICO
1, 2, 4 u 8 divisiones de la entrada del reloj. Los bits TxCKPS
del registro TxCON controlan el contador de preescala. El La lectura de TMRxH o TMRxL mientras el temporizador
contador de preescala no se puede leer ni escribir está funcionando desde un reloj asíncrono externo
directamente; sin embargo, el contador del preescalador se garantizará una lectura válida (atendida en el hardware). Sin
borra al escribir en TMRxH o TMRxL. embargo, el usuario debe tener en cuenta que la lectura del
temporizador de 16 bits en dos valores de 8 bits plantea
13.4 Oscilador secundario ciertos problemas, ya que el temporizador puede desbordarse
entre las lecturas. Para escrituras, se recomienda que el
Un circuito oscilador secundario dedicado de baja potencia usuario simplemente detenga el temporizador y escriba los
de 32,768 kHz está integrado entre los pines SOSCI (entrada) valores deseados. Puede ocurrir una contención de escritura
y SOSCO (salida del amplificador). Este circuito interno se al escribir en los registros del temporizador, mientras el
utilizará junto con un cristal externo de 32,768 kHz. registro se incrementa. Esto puede producir un valor impredecible en el par de regis

El circuito del oscilador se habilita configurando el bit 13.6 Modo de lectura/escritura de 16 bits del temporizador 1/3
SOSCEN del registro TxCON, el bit SOSCGO del registro
Timer1/3 se puede configurar para leer y escribir todos los
OSCCON2 o seleccionando el oscilador secundario como
16 bits de datos, hacia y desde los registros TMRxL y
reloj del sistema configurando SCS<1:0> = 01 en el registro
TMRxH de 8 bits, simultáneamente. Las operaciones de
OSCCON. El oscilador continuará funcionando durante la
lectura y escritura de 16 bits se habilitan configurando el bit
suspensión.
RD16 del registro TxCON.
Nota: El oscilador requiere un tiempo de puesta en
Para lograr esta función, el valor del registro TMRxH se
marcha y estabilización antes de su uso. Por
asigna a un registro de búfer denominado registro de búfer
lo tanto, se debe configurar SOSCEN y
TMRxH. Mientras está en el modo de 16 bits, el registro
observar un retraso adecuado antes de habilitar el temporizador 1/3.
TMRxH no se puede leer ni escribir directamente y todas las
operaciones de lectura y escritura se realizan mediante el
13.5 Funcionamiento del uso de este registro de búfer TMRxH.
temporizador 1/3 en modo de contador asíncrono Cuando se solicita una lectura del registro TMRxL, el valor
del registro TMRxH se carga simultáneamente en el registro
Si se establece el bit de control TxSYNC del registro TxCON,
de búfer TMRxH. Cuando se solicita una lectura del registro
la entrada del reloj externo no está sincronizada. El
TMRxH, el valor se proporciona en su lugar desde el registro
temporizador incrementa de forma asíncrona a los relojes
de fase internos. Si se selecciona una fuente de reloj externa, la de búfer TMRxH. Esto brinda al usuario la capacidad de leer
con precisión los 16 bits del valor del temporizador 1/3 de
el temporizador continuará ejecutándose durante la
una sola instancia en el tiempo.
suspensión y puede generar una interrupción en caso de
desbordamiento, lo que activará el procesador. Sin embargo, Por el contrario, cuando no está en el modo de 16 bits, el
se necesitan precauciones especiales en el software para usuario debe leer cada registro por separado y determinar
leer/escribir el temporizador (consulte la Sección 13.5.1 si los valores se han vuelto inválidos debido a un traspaso
que puede haber ocurrido entre las operaciones de lectura.
“Lectura y escritura del temporizador 1/3 en el modo de contador asíncrono”).

Nota: Al cambiar de funcionamiento síncrono a Cuando se solicita una solicitud de escritura del registro
asíncrono, es posible omitir un incremento. TMRxL, el registro de búfer TMRxH se actualiza
Al cambiar de operación asíncrona a síncrona, simultáneamente con el contenido del registro TMRxH. El
es posible producir un incremento adicional. valor de TMRxH debe cargarse previamente en el registro
de búfer TMRxH antes de la solicitud de escritura para el
registro TMRxL. Esto proporciona al usuario la capacidad
de escribir los 16 bits en el par de registros TMRxL:TMRxH
al mismo tiempo.

Cualquier solicitud para escribir en el TMRxH directamente


no borra el valor del preescalador Timer1/3. El valor del
preescalador solo se borra mediante solicitudes de escritura
en el registro TMRxL.

DS30000684B-página 158 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50
FIGURA 13-2: TEMPORIZADOR 1/3 16 BITS 13.7.2 FUENTE DE PUERTA DEL TEMPORIZADOR 1/3

MODO DE LECTURA/ESCRITURA SELECCIÓN


DIAGRAMA DE BLOQUES
La fuente de la compuerta Timer1/3 se puede seleccionar de una de
cuatro fuentes diferentes. La selección de la fuente está controlada por
Desde
Temporizador1/3
los bits TxGSS del registro TxGCON. la polaridad
circuitos para cada fuente disponible también es seleccionable. Polaridad
TMR1 Colocar
la selección es controlada por el bit TxGPOL del
TMR1L TMR1IF
Byte alto
en desbordamiento Registro TxGCON.
8

Leer TMR1L TABLA 13-4: FUENTES DE LA PUERTA DEL TEMPORIZADOR 1/3

Escribir TMR1L TxGSS Temporizador 1/3 Fuente de puerta


8
8
00 Temporizador 1/3 Pasador de puerta (TxG)
TMR1H
01 Timer2 coincide con PR2
(incrementos de TMR2 para coincidir con PR2)
8
8 10 Comparador 1 Salida sync_C1OUT
Bus de datos interno
(opcionalmente salida sincronizada Timer1/3)

11 Comparador 2 Salida sync_C2OUT


(opcionalmente salida sincronizada Timer1/3)
13.7 Temporizador 1/3 Puerta
13.7.2.1 Operación de puerta de clavijas TxG
Timer1/3 se puede configurar para contar libremente o el conteo
El pin TxG es una fuente para el control de puerta Timer1/3. Eso
se puede habilitar y deshabilitar usando la puerta Timer1/3
se puede utilizar para suministrar una fuente externa al circuito
circuitos Esto también se conoce como Timer1/3 Gate
de puerta Tim er1/3.
Habilitar.

La puerta Timer1/3 también puede ser impulsada por múltiples seleccionables 13.7.2.2 Operación de la puerta de coincidencia del temporizador 2
fuentes.
El registro TMR2 se incrementará hasta que coincida con el

13.7.1 TEMPORIZADOR 1/3 HABILITAR PUERTA


valor en el registro PR2. En el siguiente incremento
ciclo, TMR2 se restablecerá a 00h. Cuando este reinicio
El modo Timer1/3 Gate Enable se habilita configurando ocurre, se generará automáticamente un pulso de bajo a alto y
el bit TMRxGE del registro TxGCON. la polaridad se suministrará internamente a la puerta Timer1/3
del modo Timer1/3 Gate Enable se configura usando circuitos Consulte la Sección 13.7.2 “Fuente de puerta del temporizador 1/3
el bit TxGPOL del registro TxGCON. Selección” para más información.

Cuando el modo Timer1/3 Gate Enable está habilitado,


13.7.2.3 Operación de la puerta del comparador C1
Timer1/3 se incrementará en el borde ascendente de la
Fuente de reloj Timer1/3. Cuando Timer1/3 Gate Habilitar La salida resultante de una operación del Comparador 1 puede
está deshabilitado, no se producirá ningún incremento y seleccionarse como fuente para el control de puerta Timer1/3. los
Timer1/3 mantendrá el conteo actual. Vea la Figura 13-4 La salida del comparador 1 (sync_C1OUT) se puede
para detalles de tiempo. sincronizado con el reloj Timer1/3 o dejado asíncrono.
Para obtener más información, consulte la Sección 19.8.3
“Sincronización de la salida del comparador con el temporizador 1”.
TABLA 13-3: TEMPORIZADOR 1/3 HABILITAR PUERTA
TROZOS ESCOGIDOS
13.7.2.4 Operación de la puerta del comparador C2

Temporizador1/3
TxCLK TxGPOL TxG La salida resultante de una operación del Comparador 2
Operación se puede seleccionar como fuente para el control de puerta Timer1/3.
ÿ 0 0 cuenta La salida del Comparador 2 (sync_C2OUT) se puede
sincronizado con el reloj Timer1/3 o izquierda
ÿ 0 1 Conteo de retenciones
asincrónico. Para más información, ver
ÿ 1 0 Conteo de retenciones
Apartado 19.8.3 “Sincronización de la Salida del Comparador
ÿ 1 1 cuenta al Temporizador1”.

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 159


Machine Translated by Google

PIC18(L)F2X/45K50
13.7.3 MODO CAMBIO DE PUERTA DEL TEMPORIZADOR 1/3 13.7.4 TEMPORIZADOR 1/3 PUERTA MODO IMPULSO ÚNICO

Cuando el modo de alternancia de puerta Timer1/3 está habilitado, es


posible medir la duración del ciclo completo de una señal de puerta Cuando el modo de pulso único de puerta Timer1/3 está habilitado, es
Timer1/3, a diferencia de la duración de un pulso de un solo nivel. posible capturar un evento de puerta de pulso único.
El modo de pulso único de Timer1/3 Gate se habilita primero

La fuente de la compuerta Timer1/3 se enruta a través de un flip-flop configurando el bit TxGSPM en el registro TxGCON. A continuación, se

que cambia de estado en cada flanco creciente de la señal. Consulte la debe establecer el bit TxGGO/DONE en el registro TxGCON. El Timer1/3

Figura 13-5 para conocer los detalles de temporización. estará completamente habilitado en el siguiente flanco de incremento.
En el siguiente borde posterior del pulso, el bit TxGGO/DONE se borrará
El modo Timer1/3 Gate Toggle se habilita al configurar el bit TxGTM del
automáticamente. No se permitirá que ningún otro evento de puerta
registro TxGCON. Cuando se borra el bit TxGTM, el flip-flop se borra y
incremente el temporizador 1/3 hasta que el bit TxGGO/DONE se
se mantiene limpio. Esto es necesario para controlar qué borde se mide. establezca nuevamente en el software.

Borrar el bit TxGSPM del registro TxGCON también borrará el bit TxGGO/
Nota: Habilitar el modo Alternar al mismo tiempo que cambia la DONE. Consulte la Figura 13-6 para conocer los detalles de temporización.
polaridad de la puerta puede resultar en una operación
indeterminada.
Habilitar el modo Alternar y el modo de un solo pulso simultáneamente
permitirá que ambas secciones funcionen juntas. Esto permite medir
los tiempos de ciclo en la fuente de la puerta Timer1/3. Consulte la
Figura 13-7 para conocer los detalles de temporización.

13.7.5 ESTADO DEL VALOR DE LA PUERTA DEL TEMPORIZADOR 1/3

Cuando se utiliza el estado del valor de puerta del temporizador 1/3, es


posible leer el nivel más actual del valor de control de puerta. El valor
se almacena en el bit TxGVAL en el registro TxGCON. El bit TxGVAL es

válido incluso cuando la puerta Timer1/3 no está habilitada (se borra el


bit TMRxGE).

13.7.6 EVENTO DE PUERTA DEL TEMPORIZADOR 1/3

INTERRUMPIR

Cuando la interrupción de evento de puerta Timer1/3 está habilitada, es


posible generar una interrupción al finalizar un evento de puerta.
Cuando ocurre el flanco descendente de TxGVAL, se establecerá el bit
indicador TMRxGIF en el registro PIR3. Si se establece el bit TMRxGIE
en el registro PIE3, se reconocerá una interrupción.

El bit indicador TMRxGIF funciona incluso cuando la puerta Tim er1/3


no está habilitada (el bit TMRxGE está borrado).

Para obtener más información sobre cómo seleccionar el estado de


prioridad alta o baja para la interrupción de evento de puerta del
temporizador 1/3, consulte la Sección 10.0 "Interrupciones".

DS30000684B-página 160 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50
13.8 Temporizador 1/3 Interrupción El oscilador secundario seguirá funcionando en reposo
independientemente de la configuración del bit TxSYNC.
El par de registros Timer1/3 (TMRxH:TMRxL) aumenta a FFFFh y
se renueva a 0000h. Cuándo
13.10 Base de tiempo de captura/comparación de ECCP/
Timer1/3 se da la vuelta, se establece el bit indicador de
CCP
interrupción Timer1/3 del registro PIR1/2. Para habilitar la
interrupción en rollover, debe establecer estos bits: • Bit TMRxON Los módulos CCP utilizan el par de registros TMRxH:TMRxL como
del registro TxCON • Bits TMRxIE de los registros PIE1 o PIE2 • base de tiempo cuando funcionan en modo Capturar o Comparar.

Bit PEIE/GIEL del registro INTCON • Bit GIE/GIEH del registro


INTCON En el modo de captura, el valor del par de registros TMRxH:TMRxL
se copia en el par de registros CCPRxH:CCPRxL en un evento
configurado.
La interrupción se borra borrando el bit TMRxIF en la rutina de
servicio de interrupción. En el modo de comparación, se activa un evento cuando el valor
del par de registros CCPRxH:CCPRxL coincide con el valor del
Para obtener más información sobre cómo seleccionar el estado de
par de registros TMRxH:TMRxL. Este evento puede ser un
prioridad alta o baja para la interrupción de desbordamiento del
activador de evento especial.
temporizador 1/3, consulte la Sección 10.0 "Interrupciones".
Para obtener más información, consulte la Sección 15.0 “Capturar/
Nota: El par de registros TMRxH:TMRxL y el Comparar/Módulos PWM”.
El bit TMRxIF debe borrarse antes
habilitación de interrupciones.
13.11 Disparador de evento especial ECCP/CCP

Cuando alguno de los CCP está configurado para activar un


13.9 Funcionamiento del temporizador 1/3 durante el reposo
evento especial, el activador borrará el par de registros
El temporizador 1/3 solo puede funcionar durante la suspensión TMRxH:TMRxL. Este evento especial no provoca una interrupción
cuando se configura en el modo de contador asíncrono. En este de Timer1/3. El módulo CCP todavía puede estar configurado para
modo, se puede usar un cristal externo o una fuente de reloj para generar una interrupción CCP.
incrementar el contador. Para configurar el temporizador para
En este modo de operación, el par de registros CCPRxH:CCPRxL
activar el dispositivo: • Se debe establecer el bit TMRxON del se convierte en el registro de período para Timer1/3.
registro TxCON • Se debe establecer el bit TMRxIE del registro Se debe sincronizar el temporizador 1/3 y se debe seleccionar FOSC/
PIE1/2 • Se debe establecer el bit PEIE/GIEL del registro INTCON 4 como fuente de reloj para utilizar el disparador de eventos

• Se debe establecer el bit TxSYNC de TxCON se debe establecer especiales. El funcionamiento asíncrono del Tim er1/3 puede
hacer que se pase por alto un disparador de evento especial.
el registro • Se deben configurar los bits TMRxCS del registro
TxCON En caso de que una escritura en TMRxH o TMRxL coincida con

• Se debe configurar el bit SOSCEN del registro TxCON un Activador de evento especial del CCP, la escritura tendrá
prioridad.

El dispositivo se activará con un desbordamiento y ejecutará la Para obtener más información, consulte la Sección 18.2.8
siguiente instrucción. Si se establece el bit GIE/GIEH del registro "Disparador de evento especial".
INTCON, el dispositivo llamará a la rutina de servicio de
interrupción.

FIGURA 13-3: TEMPORIZADOR 1/3 FLANCO INCREMENTAL

TXCKI = 1
cuando TMRx
Activado

TXCKI = 0
cuando TMRX
Activado

Nota 1: Las flechas indican incrementos de contador.

2: En el modo Contador, el contador debe registrar un flanco descendente antes del primer flanco ascendente incremental del reloj.

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 161


Machine Translated by Google

PIC18(L)F2X/45K50
FIGURA 13-4: TIMER1/3 MODO DE HABILITACIÓN DE PUERTA

TMRxGE

TxGPOL

TxG_IN

TxCKI

TxGVAL

Temporizador1/3 norte norte + 1 norte + 2 norte + 3 norte + 4

FIGURA 13-5: TIMER1/3 MODO DE CAMBIO DE PUERTA

TMRxGE

TxGPOL

TxGTM

TxTxG_IN

TxCKI

TxGVAL

Temporizador1/3 norte norte + 1 norte + 2 norte + 3 norte + 4 norte + 5 norte + 6 norte + 7 norte + 8

DS30000684B-página 162 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50
FIGURA 13-6: TEMPORIZADOR 1/3 PUERTA MODO DE IMPULSO ÚNICO

TMRxGE

TxGPOL

TxGSPM

Borrado por hardware en


TxGGO/ Establecido por software flanco descendente de TxGVAL
HECHO
Cuenta habilitada en
flanco ascendente de TxG
TxG_IN

TxCKI

TxGVAL

Temporizador1/3 norte norte + 1 norte + 2

Borrado por
tmrxgif Borrado por software Establecido por hardware en software
flanco descendente de TxGVAL

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 163


Machine Translated by Google

PIC18(L)F2X/45K50
FIGURA 13-7: TEMPORIZADOR 1/3 PUERTA MONO-PULSO Y CONMUTADOR MODO COMBINADO

TMRxGE

TxGPOL

TxGSPM

TxGTM

Borrado por hardware en


TxGGO/ Establecido por software flanco descendente de TxGVAL
HECHO
Cuenta habilitada en
flanco ascendente de TxG
TxG_IN

TxCKI

TxGVAL

Temporizador1/3 norte norte + 1 norte + 2 norte + 3 norte + 4

Establecido por hardware en Borrado por


tmrxgif Borrado por software flanco descendente de TxGVAL software

13.12 Deshabilitar módulo periférico


Cuando un módulo periférico no está en uso o está inactivo, el
El módulo se puede deshabilitar configurando el Módulo Deshabilitar
bit en los registros PMD. Esto reducirá el consumo de energía a un
mínimo absoluto. Configuración del PMD
bits mantiene el módulo en Reset y desconecta el
fuente de reloj del módulo. Los bits de desactivación del módulo para
Timer1 (TMR1MD) y Timer3 (TMR3MD) están en el
Registro PMD0. Consulte la Sección 4.0 “Power-Management
Modos” para obtener más información.

DS30000684B-página 164 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50
13.13 Definiciones de registro: REGISTRO DE
CONTROL TIMER1/3 13-1: TxCON: REGISTRO DE CONTROL TIMER1/3

L/E-0/u L/E-0/u L/E-0/u L/E-0/u L/E-0/u L/E-0/u L/E-0/0 L/E-0/u

TMRxCS<1:0> TxCKPS<1:0> SOSCEN TxSYNC RD16 TMRxON

bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'

u = El bit no cambia x = El bit es desconocido -n/n = Valor en POR y BOR/Valor en todos los demás reinicios

'1' = El bit está establecido '0' = El bit se borra

bit 7-6 TMRxCS<1:0>: Bits de selección de fuente de reloj Timer1/3


11 = Reservado. No utilice.
10 = La fuente de reloj del temporizador 1/3 es pin u oscilador:
Si SOSCEN = 0:
Reloj externo del pin TxCKI (en el flanco ascendente)
Si SOSCEN = 1:
Oscilador de cristal en pines SOSCI/SOSCO
01 = La fuente de reloj del temporizador 1/3 es el reloj del sistema (FOSC)
00 = La fuente de reloj del temporizador 1/3 es el reloj de instrucciones (FOSC/4)

bit 5-4 TxCKPS<1:0>: Timer1/3 Bits de selección de preescala de reloj de entrada


11 = 1:8 Valor de preescala
10 = 1:4 Valor de preescala
01 = 1:2 Valor de preescala
00 = 1:1 Valor de preescala

bit 3 SOSCEN: bit de control de habilitación del oscilador secundario


1 = Circuito oscilador secundario dedicado habilitado
0 = Circuito oscilador secundario dedicado deshabilitado
bit 2 TxSYNC: Bit de control de sincronización de entrada de reloj externo Timer1/3
TMRxCS<1:0> = 1X
1 = No sincronizar entrada de reloj externo
0 = sincronizar la entrada del reloj externo con el reloj del sistema (FOSC)

TMRxCS<1:0> = 0X
Este bit se ignora. Timer1/3 usa el reloj interno cuando TMRxCS<1:0> = 0X.
bit 1 RD16: bit de habilitación del modo de lectura/escritura de 16 bits

1 = Habilita la lectura/escritura de registro de Timer1/3 en una operación de 16 bits


0 = Habilita la lectura/escritura de registro de Timer1/3 en dos operaciones de 8 bits
bit 0 TMRxON: Bit de encendido del temporizador 1/3

1 = Habilita Temporizador 1/3


0 = Detiene el temporizador 1/3
Borra Timer1/3 Gate flip-flop

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 165


Machine Translated by Google

PIC18(L)F2X/45K50

REGISTRO 13-2: TxGCON: REGISTRO CONTROL PORTON TIMER1/3


L/E-0/u L/E-0/u L/E-0/u L/E-0/u L/E/HC-0/u Rx/x L/E-0/u L/E-0/u

TMRxGE TxGPOL TxGTM TxGSPM TxGGO/HECHO TxGVAL TxGSS<1:0>

bit 7 bit 0

Leyenda:
R = bit legible W = Bit grabable U = bit no implementado, leído como '0'

u = El bit no cambia x = El bit es desconocido -n/n = Valor en POR y BOR/Valor en todos los demás reinicios
'1' = El bit está establecido '0' = El bit se borra HC = Bit borrado por hardware

bit 7 TMRxGE: bit de habilitación de puerta del temporizador 1/3

Si TMRxON = 0:
Este bit es ignorado
Si TMRxON = 1:
1 = El conteo de Timer1/3 es controlado por la función de puerta Timer1/3
0 = Timer1/3 cuenta independientemente de la función de puerta Timer1/3
bit 6 TxGPOL: bit de polaridad de puerta del temporizador 1/3

1 = La compuerta Timer1/3 está activa en nivel alto (Timer1/3 cuenta cuando la compuerta está en nivel alto)
0 = La compuerta Timer1/3 está activa-baja (Timer1/3 cuenta cuando la compuerta está baja)
bit 5 TxGTM: bit de modo de alternancia de puerta Timer1/3
1 = El modo de alternancia de puerta del temporizador 1/3 está habilitado

0 = El modo de alternancia de puerta del temporizador 1/3 está deshabilitado y el flip-flop de alternancia se borra
El flip-flop de la puerta Timer1/3 alterna en cada flanco ascendente.
bit 4 TxGSPM: bit de modo de pulso único de puerta Timer1/3
1 = El modo de pulso único de la puerta Timer1/3 está habilitado y está controlando la puerta Timer1/3
0 = El modo de pulso único de la puerta del temporizador 1/3 está deshabilitado

bit 3 TxGGO/DONE: bit de estado de adquisición de un solo pulso de la puerta del temporizador 1/3
1 = La adquisición de un solo pulso de la puerta del temporizador 1/3 está lista, esperando un flanco
0 = La adquisición de un solo pulso de la puerta del temporizador 1/3 se ha completado o no se ha iniciado
Este bit se borra automáticamente cuando se borra TxGSPM.
bit 2 TxGVAL: bit de estado actual de la puerta del temporizador 1/3

Indica el estado actual de la puerta Timer1/3 que podría proporcionarse a TMRxH:TMRxL.


No se ve afectado por Timer1/3 Gate Enable (TMRxGE).
bit 1-0 TxGSS<1:0>: Bits de selección de fuente de puerta del temporizador 1/3

00 = Temporizador 1/3 Pasador de puerta

01 = Timer2 Match PR2 salida


10 = Salida sincronizada opcional del comparador 1 (sync_C1OUT)
11 = Salida sincronizada opcional del comparador 2 (sync_C2OUT)

DS30000684B-página 166 ÿ 2012-2014 Microchip Technology Inc.


Machine Translated by Google

PIC18(L)F2X/45K50
TABLA 13-5: REGISTROS ASOCIADOS A TIMER1/3 COMO TEMPORIZADOR/CONTADOR

Regístrate
Nombre Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 bit 0
en la página

ANSELB — — ANSB5 ANSB4 ANSB3 ANSB2 ANSB1 ANSB0 148


INTCON GIE/GIEH PEIE/GIEL TMR0IE INT0IE IOCIE TMR0IF INT0IF IOCIF 114
IPR1 ACTIP UN CHAPUZÓN RCIP TXIP SSPIP CCP1IP TMR2IP TMR1IP 123
IPR2 OSCFIP C1IP C2IP EEIP BCLIP HLVDIP TMR3IP CCP2IP 124
IPR3 — — — — CTMUIP IP USB TMR3GIP TMR1GIP 125
PASTEL1 ACTUAR UNA MUERTE RCIE TXIE SSPIE CCP1IE TMR2IE TMR1IE 120
PASTEL2 OSCFIE C1IE C2IE EEIE BCLIE HLVDIE TMR3IE CCP2IE 121
PASTEL3 — — — — CTMUIE USBIE TMR3GIE TMR1GIE 122
PIR1 ACTIF ADIF RCIF TXIF SSPIF CCP1IF TMR2IF TMR1IF 117
PIR2 OSCFIF C1IF C2IF FEEI BCLIF HLVDIF TMR3IF CCP2IF 118
PIR3 — — — — CTMUIF USBIF TMR3GIF TMR1GIF 119
PMD0 — UARTMD USBMD ACTMD — TMR3MD TMR2MD TMR1MD 61
T1CON TMR1CS<1:0> T1CKPS<1:0> SOSCEN T1SYNC RD16 TMR1ON 165
T1GCON TMR1GE T1GPOL T1GTM T1GSPM T1GGO/DONE T1GVAL T1GSS<1:0> 166
T3CON TMR3CS<1:0> T3CKPS<1:0> SOSCEN T3SYNC RD16 TMR3ON 165
T3GCON TMR3GE T3GPOL T3GTM T3GSPM T3GGO/HECHO T3GVAL T3GSS<1:0> 166
TMRxH Registro de temporizador 1/3, byte alto

TMRxL Registro de temporizador 1/3, byte bajo


TRIB TRIB7 TRISB6 TRISB5 TRISB4 TRIB3 TRISB2 TRISB1 TRISB0 149
TRISC TRISC7 TRISC6 — — — TRISC2 TRISC1 TRISC0 149

TABLA 13-6: REGISTROS DE CONFIGURACIÓN ASOCIADOS CON TIMER1/3

Regístrate
Nombre Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 bit 0
en la página

CONFIG3H MCLRE SDOMX — T3CMX — — PBADEN CCP2MX 376

ÿ 2012-2014 Microchip Technology Inc. DS30000684B-página 167


Machine Translated by Google

PIC18(L)F2X/45K50
14.0 MÓDULO TEMPORIZADOR2

El módulo Timer2 incorpora las siguientes características:


• Registros de período y temporizador de 8 bits (TMR2 y
PR2, respectivamente) • Lectura y escritura (ambos
registros) • Preescalador programable por software (1:1,
1:4, 1:16) • Software escalador posterior programable (1:1
a 1:16) • Interrupción en la coincidencia de TMR2 con PR2,
respectivamente • Uso opcional como reloj de turno para
el MSSP
módulo

Consulte la Figura 14-1 para ver un diagrama de bloques del Timer2.

FIGURA 14-1: DIAGRAMA DE BLOQUES DEL TEMPORIZADOR 2

Establece el bit
TMRx
de bandera TMRxIF
Producción

Prescaler Reiniciar
FOSC/4 TMRx
1:1, 1:4, 1:16

2 Postscaler
comparador
ecualizador
1:1 a 1:16
TxCKPS<1:0>
PRx 4

SALIDAS Tx<3:0>

DS30000684B-página 168 ÿ 2012-2014 Microchip Technology Inc.

También podría gustarte