3.7 Módulos CCP
El módulo CCP (
Captura/Comparación/PWM) es un periférico que le permite medir y controlar diferentes eventos.
El
modo de captura proporciona el acceso al estado actual de un registro que cambia su valor constantemente. En este caso, es el registro del temporizador Timer1.
El
modo de comparación compara constantemente valores de dos registros. Uno de ellos es el registro del temporizador Timer1. Este circuito también le permite al usuario activar un evento externo después de que haya expirado una cantidad de tiempo predeterminada.
PWM (
Pulse Width Modulation - modulación por ancho de pulsos) puede generar señales de frecuencia y de ciclo de trabajo variados por uno o más pines de salida.
El microcontrolador PIC16F887 dispone de dos módulos CCP - CCP1 y CCP2.
Ambos son idénticos en modo normal de funcionamiento, mientras que las características del PWM mejorado están disponibles sólo en el modo CCP1. Ésta es la razón por la que en este capítulo se describe detalladamente el funcionamiento del módulo CCP1. Con respecto al CCP2, se presentarán sólo las características que lo distinguen del CCP1.
MÓDULO CCP1
Una parte central de este circuito es un registro CCPR1 de 16 bits que consiste en registros CCPR1L y CCOR1H. Se utiliza para capturar y comparar sus valores con los números almacenados en el registro del temporizador Timer1 (TMR1H y TMR1L).
Si está habilitado por software, puede ocurrir el reinicio del temporizador Timer1 al igualarse los valores en modo de Comparación. Además, el módulo CCP1 puede generar señales PWM de frecuencia y de ciclo de trabajo variados.
Los bits del registro CCP1CON están en control del módulo CCP1.
CCP1 EN MODO DE CAPTURA
En este modo, el registro del temporizador Timer1 (que consiste en los TMR1H y TMR1L) se copia al registro CCP1 (que consiste en los CCPR1H y CCPR1L) en las siguientes situaciones:
- Cada flanco ascendente (1 -> 0) en el pin RC2/CCP;
- Cada flanco descendente (0 -> 1) en el pin RC2/CCP1;
- Cada cuarto flanco ascendente (0 -> 1) en el pin RC2/CCP1; y
- Cada decimosexto flanco descendente (0 -> 1) en el pin RC2/CCP1.
Una combinación de cuatro bits (CCP1M3 - CCP1M0) del registro de control determina cuál de estos eventos causará transmisión de dato de 16 bits. Además, se deben cumplir los siguientes requisitos::
- El pin RC2/CCP1 debe estar configurado como entrada; y
- El Timer1 debe funcionar como temporizador o contador síncrono.
El bit de bandera CCP1IF se pone a uno después de acabar la captura. Si se pone a 1 el bit CCP1IE del registro PIE1, se producirá una interrupción.
En caso de que el módulo CCP1 esté en modo de captura, puede producirse una interrupción no deseada. Para evitarlo, antes de que ocurra un cambio en el registro de control se deben poner a 0 tanto el bit que habilita la interrupción CCP1IE, como el bit de bandera CCP1IF.
Las interrupciones no deseadas pueden producirse al cambiar el valor del pre-escalador. Para evitarlo, el módulo CCP1 debe estar apagado temporalmente antes de cambiar el valor del pre-escalador.
Se recomienda la siguiente secuencia de programa, escrita en ensamblador:
BANKESEL CCP1CON
CLRF CCP1CON ;REGISTRO DE CONTROL BORRADO
;MÓDULO CCP1 ESTÁ APAGADO
MOVLW XX ;NUEVO MODO DEL PRE-ESCALADOR ESTÁ SELECCIONADO
MOVWF CCP1CON ;EN EL REGISTRO DE CONTROL SE INTRODUCE UN NUEVO VALOR
;MÓDULO CCP1 SE ENCIENDE SIMULTÁNEAMENTE
Vamos a hacerlo en mikroC...
...
ASM {
BANKESEL CCP1CON
CLRF CCP1CON // REGISTRO DE CONTROL BORRADO
// MÓDULO CCP1 ESTÁ APAGADO
MOVLW XX // NUEVO MODO DEL PRE-ESCALADOR ESTÁ SELECCIONADO
MOVWF CCP1CON // EN EL REGISTRO DE CONTROL SE INTRODUCE NUEVO VALOR
} // MÓDULO CCP1 SE ENCIENDE SIMULTÁNEAMENTE
...
CCP1 EN MODO DE COMPARACIÓN
En este modo, el valor almacenado en el registro CCP1 se compara constantemente al valor almacenado en el registro del temporizador Timer1. Al igualarse los valores, el estado lógico en el pin de salida puede ser cambiado, lo que depende del estado de bits en el registro de control (CCP1M3 - CCP1M0). El bit de bandera CCP1IF se pone a uno simultáneamente.
Para poner el módulo CCP1 en este modo de funcionamiento, se deben cumplir dos condiciones:
- El pin RC2/CCP1 debe estar configurado como salida; y
- El temporizador Timer1 debe estar sincronizado con el reloj interno.
CCP1 EN MODO PWM
Las señales de frecuencia y de ciclo de trabajo variados tienen una amplia gama de aplicaciones en automatización. Un ejemplo típico es un circuito de control de potencia. Refiérase a la siguiente figura. Si un cero lógico (0) indica un interruptor abierto y un uno lógico (1) indica un interruptor cerrado, la potencia eléctrica que se transmite a los consumidores será directamente proporcional a la duración del pulso. Esta relación se le denomina
Ciclo de Trabajo.
El otro ejemplo, común en la práctica, es el uso de señales PWM en un circuito para generar señales de forma de onda arbitraria como una onda sinusoidal. Vea la siguiente figura:
Los dispositivos que funcionan según este principio se utilizan con frecuencia en la práctica como variadores de frecuencia ajustable que controlan motores eléctricos (velocidad, aceleración, desaceleración etc.)
La Figura anterior muestra el diagrama de bloques del módulo CCP1 puesto en el modo PWM. Para generar un pulso de forma arbitraria en el pin de salida, es necesario ajustar el período de pulsos (frecuencia) y la duración de pulsos.
PERÍODO DE PWM
El período de pulso de salida (T) se determina por el registro PR2 del temporizador Timer2. El período de PWM se puede calcular por la siguiente ecuación:
Período PWM = (PR2 +1) * 4Tosc * Valor de pre-escala del Timer2
Si el período de PWM (T) es conocido, es fácil determinar la frecuencia de señal F, porque estos dos valores están relacionados por la ecuación F=1/T.
CICLO DE TRABAJO DE PWM
El ciclo de trabajo de PWM se especifica al utilizar en total 10 bits: los ocho bits más significativos del registro CCPR1L y los dos bits menos significativos adicionales del registro CCP1CON (DC1B1 y DC1B0). El resultado es un número de 10 bits dado por la siguiente fórmula:
Ancho de pulsos = (CCPR1L,DC1B1,DC1B0) * Tosc * Valor de pre-escala del Timer2
La siguiente tabla muestra cómo generar las señales PWM de diferentes frecuencias cuando el microcontrolador utiliza un cristal de cuarzo de 20 MHz (Tosc=50nS).
FRECUENCIA [KHZ] |
1.22 |
4.88 |
19.53 |
78.12 |
156.3 |
208.3 |
Pre-escalador del TMR2 |
16 |
4 |
1 |
1 |
1 |
1 |
Registro PR2 |
FFh |
FFh |
FFh |
3Fh |
1Fh |
17h |
Notas adicionales:
- El pin de salida se va a poner a 1 constantemente, si por error el ancho de pulso generado es más largo que el período de PWM.
- En esta aplicación, no se puede utilizar el post-escalador del temporizador Timer2 para generar períodos de PWM largos.
RESOLUCIÓN DE PWM
Una señal PWM no es nada más que una secuencia de pulsos que varían su ciclo de trabajo. Para una frecuencia específica (número de pulsos por segundo), hay un número limitado de combinaciones de ciclos de trabajo. Este número representa una resolución medida en bits. Por ejemplo, si una resolución es de 10 bits estarán disponibles 1024 ciclos de trabajo discretos; si una resolución es de 8 bits estarán disponibles 256 ciclos de trabajo disretos etc. En este microcontrolador la resolución es determinada por el registro PR2. El máximo valor se obtiene al usar el número FFh.
Frecuencias y resoluciones de PWM (Fosc = 20MHz):
FRECUENCIA DE PWM |
1.22KHZ |
4.88KHZ |
19.53KHZ |
78.12KHZ |
156.3KHZ |
208.3KHZ |
Pre-escala del temporizador |
16 |
4 |
1 |
1 |
1 |
1 |
Valor del PR2 |
FFh |
FFh |
FFh |
3Fh |
1Fh |
17h |
Resolución máxima |
10 |
10 |
10 |
8 |
7 |
6 |
Frecuencias y resoluciones de PWM (Fosc = 8MHz):
FRECUENCIA DEL PWM |
1.22KHZ |
4.90KHZ |
19.61KHZ |
76.92KHZ |
153.85KHZ |
200.0KHZ |
Pre-escala del temporizador |
16 |
4 |
1 |
1 |
1 |
1 |
Valor del PR2 |
65h |
65h |
65h |
19h |
0Ch |
09h |
Resolución máxima |
8 |
8 |
8 |
6 |
5 |
5 |
Vamos a hacerlo en mikroC...
/* En este ejemplo, el módulo PWM está inicializado y ajustado para producir una secuencia
de pulsos de ciclo de trabajo del 50%. Para este propósito, se utilizan las funciones
PWM1_Init(), PWM1_Start() y PWM1_Set_Duty(). Todas las funciones las contiene la librería
PWM del mikroC PRO for PIC. Sólo es necesario copiarlas al programa */
unsigned short duty_c; // Definir la variable duty_c
void initMain() {
ANSEL = ANSELH = 0; // Todos los pines de E/S se configuran como digitales
PORTC = TRISC = 0; // Estado inicial de los pines de salida del puerto PORTC
PWM1_Init(5000); // Inicialización del módulo PWM (5KHz)
}
void main() {
initMain();
duty_c = 127; // Valor inicial del ciclo de trabajo
PWM1_Start(); // Iniciar el módulo PWM1
PWM1_Set_Duty(duty_c); // Ajustar el ciclo de trabajo de PWM al 50%
...
...
Registro CCP1CON
P1M1, P1M0 - PWM Output Configuration bits (bits de configuración del modo PWM) - El pin P1A es la entrada del módulo de Captura/Comparación en todos los modos, menos en modo PWM. Los pines P1B, P1C y P1D actúan como los pines de E/S del puerto D.
En modo PWM estos bits afectan al funcionamiento del módulo CCP1 como se muestra en la siguiente tabla:
P1M1 |
P1M0 |
MODO |
0 |
0 |
PWM con una sóla salida |
Por el pin P1A sale una señal modulada.
Pines P1B, P1C y P1D son entradas/salidas del puerto D. |
0 |
1 |
Configuración Full Bridge - Forward
(puente completo con salida directa) |
Por el pin P1D sale una señal modulada.
Por el pin P1D sale una señal modulada.
Pines P1B y P1C están inactivos. |
1 |
0 |
Configuración Half Bridge (medio-puente) |
Por los pines P1A y P1B sale una señal modulada.
Pines P1C y P1D son entradas/salidas del puerto D. |
1 |
1 |
Configuración Full Bridge - Reverse
(puente completo con salida inversa) |
Por el pin P1B sale una señal modulada.
Pin P1C está activo.
Pines P1A y P1D están inactivos. |
DC1B1, DC1B0 - PWM Duty Cycle Least Significant bits (bits menos significativos del ciclo de trabajo de PWM) - Se utilizan sólo en el modo PWM y representan dos bits menos significativos de un número de 10 bits. Este número determina el ciclo de trabajo de la señal PWM. Los demás 8 bits se almacenan en el registro CCPR1L.
CCP1M3 - CCP1M0 - (bits de selección de modo del módulo CCP1) determina el modo del módulo CCP1.
CCP1M3 |
CCP1M2 |
CCP1M1 |
CCP1M0 |
MODO |
0 |
0 |
0 |
0 |
Módulo está deshabilitado (reinicio). |
0 |
0 |
0 |
1 |
No utilizado. |
0 |
0 |
1 |
0 |
Modo de comparación |
El bit CCP1IF bit se pone a 1 al ocurrir una coincidencia. |
0 |
0 |
1 |
1 |
No utilizado. |
0 |
1 |
0 |
0 |
Modo de captura |
Cada flanco descendente en el pin CCP1. |
0 |
1 |
0 |
1 |
Modo de captura |
Cada flanco ascendente en el pin CCP1. |
0 |
1 |
1 |
0 |
Modo de captura |
Cada cuarto flanco ascendente en el pin CCP1. |
0 |
1 |
1 |
1 |
Modo de captura |
Cada decimosexto flanco ascendente en el pin CCP1. |
1 |
0 |
0 |
0 |
Modo de comparación |
La salida y el bit CCP1IF se ponen a 1 al ocurrir una coincidencia |
1 |
0 |
0 |
1 |
Modo de comparación |
La salida se pone a 0 y el bit CCP1IF se pone a 1 al ocurrir una coincidencia. |
1 |
0 |
1 |
0 |
Modo de comparación |
Llega la solicitud de interrupción y el bit CCP1IF se pone a 1 al ocurrir una coincidencia |
1 |
0 |
1 |
1 |
Modo de comparación |
El bit CCP1IF se pone a 1, y los registros de temporizadores 1 o 2 se borran al ocurrir una coincidencia |
1 |
1 |
0 |
0 |
Modo PWM |
Pines P1A y P1C están activos a nivel alto.
Pines P1B y P1D están activos a nivel alto. |
1 |
1 |
0 |
1 |
Modo PWM |
Pines P1A y P1C están activos a nivel alto.
Pines P1B y P1D están activos a nivel bajo. |
1 |
1 |
1 |
0 |
Modo PWM |
Pines P1A y P1C están activos a nivel bajo.
Pines P1B y P1D están activos a nivel alto. |
1 |
1 |
1 |
1 |
Modo PWM |
Pines P1A y P1C están activos a nivel bajo.
Pines P1B y P1D están activos a nivel bajo. |
MÓDULO CCP2
Con exclusión de los nombres diferentes de los registros y de los bits, este módulo es una muy buena copia del módulo CCP1 puesto en modo normal. La única diferencia significativa entre ellos es el funcionamiento en modo de comparación del módulo CCP2. La diferencia se refiere a la señal de reinicio del temporizador T1. Concretamente, si el convertidor A/D está habilitado, al igualarse los valores de los registros TMR1 y CCPR2, la señal de reinicio del temporizador T1 iniciará automáticamente la conversión A/D. Similar al módulo anterior, este circuito también está bajo el control de los bits del registro de control. Esta vez es el registro CCP2CON.
Registro CCP2CON
DC2B1, DC2B0 - PWM Duty Cycle Least Significant bits (bits menos significativos del ciclo de trabajo de PWM) - Se utilizan sólo en modo PWM y representan dos bits menos significativos de un número de 10 bits. Este número determina el ciclo de trabajo de la señal PWM. Los demás 8 bits se almacenan en el registro CCPR2L.
CCP2M3 - CCP2M0 - CCP2 Mode Select bits (bits de selección de modo del módulo CCP2) determina el modo del módulo CCP2.
CCP2M3 |
CCP2M2 |
CCP2M1 |
CCP2M0 |
MODO |
0 |
0 |
0 |
0 |
Módulo está deshabilitado (reinicio). |
0 |
0 |
0 |
1 |
No utilizado. |
0 |
0 |
1 |
0 |
No utilizado. |
0 |
0 |
1 |
1 |
No utilizado. |
0 |
1 |
0 |
0 |
Modo de Captura |
Cada flanco descendente en el pin CCP2. |
0 |
1 |
0 |
1 |
Modo de Captura |
Cada flanco ascendente en el pin CCP2. |
0 |
1 |
1 |
0 |
Modo de Captura |
Cada cuarto flanco ascendente en el pin CCP2. |
0 |
1 |
1 |
1 |
Modo de Captura |
Cada decimosexto flanco ascendente en el pin CCP2. |
1 |
0 |
0 |
0 |
Modo de comparación |
La salida y el bit CCP2IF se ponen a 1 al ocurrir una coincidencia. |
1 |
0 |
0 |
1 |
Modo de comparación |
La salida se pone a 0 y el bit CCP2IF se pone a 1 al ocurrir una coincidencia |
1 |
0 |
1 |
0 |
Modo de comparación |
Se produce una interrupción, el bit CCP2IF se pone a 1 y no hay cambio el pin CCP2 pin al ocurrir una coincidencia. |
1 |
0 |
1 |
1 |
Modo de comparación |
Al ocurrir una coincidencia, el bit CCP2IF se pone a 1, los registros del temporizador 1 se borran y la conversión A/D se inicia si el convertidor A/D está habilitado. |
1 |
1 |
x |
x |
Modo PWM |
¿Cómo configurar e iniciar el módulo CCP1 para funcionar en modo PWM?
Para configurar e iniciar el módulo CCP1 para funcionar en modo PWM, siga los siguientes pasos:
- Deshabilitar el pin de salida del CCP1. Deberá estar configurado como entrada.
- Seleccionar el período de señal PWM al introducir el valor en el registro PR2.
- Configurar el módulo CCP1 para funcionar en modo PWM al combinar los bits del registro CCP1CON.
- Ajustar el ciclo de trabajo de señal PWM al introducir el valor en el registro CCPR1L y al utilizar los bits DC1B1 y DC1B0 del registro CCP1CON.
- Configurar e iniciar el temporizador Timer2:
- Poner a cero el bit de bandera de interrupción TMR2IF en el registro PIR1
- Ajustar el valor de división de frecuencia del temporizador Timer2 por los bits
- T2CKPS1 y T2CKPS0 del registro T2CON.
- Iniciar el temporizador Timer2 al poner a uno el bit TMR2ON del registro T2CON.
- Habilitar los pines de salida de PWM después de que haya sido acabado un ciclo de PWM:
- Esperar el desbordamiento del temporizador Timer2 (el bit TMR2IF del registro PIR1 se pone a uno)
- Configurar el pin apropiado como salida al poner a cero el bit en el registro TRIS.
MÓDULO CCP1 EN MODO MEJORADO
El módulo CCP1 es el único que se puede poner en modo mejorado. Este modo básicamente no difiere del modo normal del CCP1 y la mejora se refiere a la transmisión de la señal PWM a los pines de salida. ¿Por qué es eso tan importante? Por el uso cada vez más frecuente de los microcontroladores en los sistemas de control de motores eléctricos. Aquí no vamos a describir estos dispositivos, sin embrago si tiene la oportunidad de trabajar en el desarrollo de los dispositivos similares, reconocerá los elementos que se utilizaban hasta hace poco como los periféricos. Decimos &se utilizaban& porque todos estos elementos ahora están integrados en el microcontrolador y pueden funcionar en varios modos diferentes.
MODO PWM CON UNA SALIDA
El modo PWM con una salida está habilitado sólo en el caso de que se pongan a cero los bits P1M1 y P1M0 en el registro CCP1CON. En tal caso, una señal PWM puede estar disponible simultáneamente en como máximo cuatro diferentes pines de salida. Además, la secuencia de señales PWM puede aparecer en forma de onda básica o invertida. La distribución de señales depende de los bits del registro PSTRCON, mientras que su polaridad depende de los bits CCP1M1 y CCP1M0 del registro CCP1CON.
Si se utiliza una salida invertida, los pines activos a nivel bajo y los pulsos que tienen la misma forma de onda se generan siempre en parejas: en los pines P1A y P1C así como en los pines P1B y P1D, respectivamente.
MODO DE MEDIO-PUENTE
En cuanto al modo de medio-puente, la señal PWM es una salida en el pin P1A, mientras que a la vez la señal complementaria PWM es una salida en el pin P1B. Estos pulsos activan a los controladores MOSFET en modo de Medio-Puente que habilitan/deshabilitan el flujo de corriente por el dispositivo.
En este modo es muy peligroso encender los controladores MOSFET simultáneamente (el cortocircuito producido en aquel momento sería fatal). Para evitarlo, es necesario proporcionar un tiempo muerto entre encender y apagar los controladores. Este tiempo muerto está marcado con 'td' (
time delay) en la siguiente figura. El problema se resuelve al utilizar los bits PDC0-PDC6 del registro PWM1CON.
Como se muestra en la siguiente figura, el modo de medio-puente se puede utilizar para activar los controladores MOSFET en la configuración Puente completo:
MODO PUENTE-COMPLETO
Todos los cuatro pines se utilizan como salidas en el modo Puente completo. En la práctica, este modo es utiliza con frecuencia para activar los motores, lo que proporciona un control simple y completo de velocidad y dirección de rotación. Hay dos configuraciones de este modo: Full Bridge-Forward (puente completo con salida directa) y Full Bridge-Reverse (puente completo con salida inversa).
CONFIGURACIÓN PUENTE COMPLETO - DIRECTO
En modo
Directo ocurre lo siguiente:
- Un uno lógico (1) aparece en el pin P1A (pin está activo a nivel alto);
- Secuencia de pulsos aparece en el pin P1D; y
- Un cero lógico (0) en los pines P1B y P1C (pines están activos a nivel bajo).
La siguiente figura muestra el estado de los pines P1A-P1D durante un ciclo PWM completo:
CONFIGURACIÓN PUENTE COMPLETO - INVERSO
Lo similar ocurre en modo
Inverso, a menos que estos pines dispongan de funciones diferentes:
- Un uno lógico (1) aparece en el pin P1C (pin está activo a nivel alto);
- Secuencia de pulsos aparece en el pin P1B; y
- Un cero lógico (0) aparece en los pines P1A y P1D (pines están activos a nivel bajo).
Registro PWM1CON
STRC PWM Restart Enable bit (Bit de habilitación del reinicio automático del PWM)
- 1 - Después de un apagado automático, el módulo PWM se reinicia automáticamente, y el bit ECCPASE del registro ECCPAS se pone a cero.
- 0 - Para iciar el módulo PWM después de un apagado automático, el bit ECCPASE debe ponerse a cero por software.
PDC6 - PDC0 PWM Delay Count bits (Bits de configuración del tiempo muerto en el modo PWM) - El número binario de 7 dígitos determina el número de ciclos de in strucciones (4žTosc) añadidos como tiempo muerto al activar los pines de entrada PWM.
Registro PSTRCON
STRSYNC - Steering Sync bit (bit de sincronización de dirección) determina el momento de la dirección de los pulsos de PWM:
- 1 - La dirección ocurre después de que el registro PSTRCION haya sido cambiado, sólo si se ha completado la forma de onda del PWM.
- 0 - La dirección ocurre después de que el registro PSTRCION haya sido cambiado. La señal PWM en la salida del pin será cambiada inmediatamente sin reparar en si el ciclo anterior ha sido completado. Este procedimiento es útil cuando es necesario detener la transmisión de una señal PWM del pin.
STRD - Steering Enable bit D (bit D de habilitación de dirección) determina la función del pin P1D.
- 1 - El pin P1D tiene la forma de onda del PWM con polaridad determinada por los bits CCP1M0 y CCP1M1.
- 0 - Pin está configurado como entrada/salida general del puerto PORTD.
STRC Steering Enable bit C (bit C de habilitación de dirección) determina la función del pin P1C.
- 1 - El pin P1C tiene la forma de onda del PWM con polaridad determinada por los bits CCP1M0 y CCP1M1.
- 0 - Pin está configurado como entrada/salida general del puerto PORTD.
STRB - Steering Enable bit B (bit B de habilitación de dirección) determina la función del pin P1B.
- 1 - El pin P1B tiene la forma de onda del PWM con polaridad determinada por los bits CCP1M0 y CCP1M1.
- 0 - Pin está configurado como entrada/salida general del puerto PORTD.
STRA - Steering Enable bit A (bit A de habilitación de dirección) determina la función del pin P1A.
- 1 - El pin P1A tiene la forma de onda del PWM con polaridad determinada por los bits CCP1M0 y CCP1M1.
- 0 - Pin está configurado como entrada/salida general del puerto PORTC.
Registro ECCPAS
ECCPASE - ECCP Auto-Shutdown Event Status bit (bit de estado del apagado automático) indica si ha ocurrido el apagado automático del módulo CCP (estado de Apagado):
- 1 - Módulo CCP está en estado de Apagado.
- 0 - Módulo CCP funciona normalmente.
ECCPAS2 - ECCPAS0 - ECCP Auto-Shutdown Source Select bits (Bits de selección de la fuente de apagado automático) selecciona la fuente de apagado automático.
ECCPAS2 |
ECCPAS1 |
ECCPAS0 |
FUENTE DEL ESTADO DE APAGADO |
0 |
0 |
0 |
Estado del apagado deshabilitado |
0 |
0 |
1 |
Cambio de salida del comparador C1 |
0 |
1 |
0 |
Cambio de salida del comparador C2 |
0 |
1 |
1 |
Cambio de salidas de los comparadores C1 y C2 |
1 |
0 |
0 |
Cero lógico (0) en el pin INT |
1 |
0 |
1 |
Cero lógico (0) en el pin INT o cambio de salida del comparador C1 |
1 |
1 |
0 |
Cero lógico (0) en el pin INT o cambio de salida del comparador C2 |
1 |
1 |
1 |
Cero lógico (0) en el pin INT o cambio de salidas de los comparadores C1 y C2 |
PSSAC1, PSSAC0 - Pins P1A, P1C Shutdown State Control bits (Bits de configuración de los pines P1A y P1C en modo de apagado) define el estado lógico de los pines P1A y P1C cuando el módulo CCP está en el estado de apagado.
PSSAC1 |
PSSAC0 |
ESTADO LÓGICO DE LOS PINES |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
X |
Alta impedancia (Tri-estado) |
PSSBD1, PSSBD0 - Pins P1B, P1D Shutdown State Control bits (Bits de configuración de los pines P1B y P1D en modo de apagado) define el estado lógico de los pines P1B y P1D cuando el módulo CCP está en el estado de apagado.
PSSBD1 |
PSSBD0 |
ESTADO LÓGICO DE LOS PINES |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
X |
Alta impedancia (Tri-estado) |
El microcontrolador PIC 16F887 dispone de varios módulos de comunicación serie independientes, además cada uno se puede configurar a funcionar en modos diferentes. Eso es lo que los hace insustituibles en muchos casos. Acuérdese de lo que hemos dicho sobre los módulos CCP ya que lo mismo se aplica aquí. No se preocupe de los detalles del funcionamiento de todos los módulos, solo seleccione uno y utilice lo que realmente necesita.