0% encontró este documento útil (0 votos)
48 vistas39 páginas

Funciones del Módulo CCP en PIC16F877

Este documento describe los módulos de captura, comparación y modulación de anchura de pulsos (PWM) en los microcontroladores PIC16F87x. Explica que estos módulos (CCP1 y CCP2) pueden funcionar en modo de captura, comparación o PWM. También detalla cómo configurar y usar estos modos para aplicaciones como medición de tiempo, control de salida y modulación de señales de control.

Cargado por

topotopo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
48 vistas39 páginas

Funciones del Módulo CCP en PIC16F877

Este documento describe los módulos de captura, comparación y modulación de anchura de pulsos (PWM) en los microcontroladores PIC16F87x. Explica que estos módulos (CCP1 y CCP2) pueden funcionar en modo de captura, comparación o PWM. También detalla cómo configurar y usar estos modos para aplicaciones como medición de tiempo, control de salida y modulación de señales de control.

Cargado por

topotopo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

MICROCONTROLADORES

PIC 16F877

5 DE OCTUBRE DE 2011
MÓDULOS DE CAPTURA,
COMPARACIÓN Y
MODULACIÓN DE ANCHURA DE
PULSOS
INTRODUCCIÓN
PIC16F87x disponen de dos módulos
CCP, llamados CCp1 y CCP2, idénticos
excepto en la modalidad de “Disparo
Especial”
INTRODUCCIÓN
El módulo CCP1 puede realizar tres
funciones principales:
◦ 1. Modo de Captura
◦ 2. Modo de Comparación
◦ 3. Modo de modulación de anchura de pulsos
(PWM)
MODO CAPTURA
Una pareja de registros de un módulo
CCPx captura el valor que tiene el TMR1
cuando ocurre un evento especial en la
patita RC2/CCP1 (módulo CCP1) o en la
RC1/T1OSI/CCP2 (para el módulo CCP2)
MODO CAPTURA
Los eventos posibles que pueden ocurrir
sobre el pin RCy/CCPx para producir la
captura del valor del TMR sobre la pareja
de registros CCPxH-L:
◦ 1. Un Flanco Ascendente
◦ 2. Un falnco descendente
◦ 3. Cada 4 flancos Ascendentes.
◦ 4. Cada 16 flancos Ascendentes.
MODO CAPTURA
CCP: Utiliza un registro de trabajo de 16
bits CCPR1H-CCPR1L
MODO CAPTURA
Los cuatros bits CCP1M3-0 del registro
CCP1CON seleccionan el evento
adecuado en el módulo CCP1 y otro tanto
sucede con el módulo CCP2.
MODO DE TRABAJO DEL
MÓDULO CCPx
MODO CAPTURA
Al efectuar la captura se activa CCP1IF
del registro PIR1.
Si el bit de permiso de interrupción
PIE1<CCP1IE>, se coloca a 1,Se genera
una petición de interrupción cuando se
carga en CCPR1H-L el valor del TMR1.
MODO CAPTURA
CCP1 en modo de captura, el TMR1 debe
estar configurado para trabajar como
temporizador o como contador síncrono.
Cuando se desactiva el módulo CCP o
deja de funcionar en modo de captura se
borra la codificación del predivisor de
frecuencia de los bits CCP1M3-0
Esquema de los bloques principales
del Módulo Captura
MODO CAPTURA
Una aplicación muy interesante, puede
ser la medición de los intervalos de
tiempo que existen entre los impulsos que
llegan al pin RC2/CCP1 que se halla
configurada como entrada.
MODO COMPARACIÓN

En esta forma de trabajo, la pareja de registros


CCPR1H-L, compara su contenido, de forma
continua, con el valor del TMR1.

Cuando coinciden ambos valores, al pin


RC2/CCP1, que se halla configurada como
salida, la acontece uno de los siguientes eventos,
de acuerdo con la programación CCP1-M3-0:
MODO COMPARACIÓN
Pasa a nivel alto
Pasa a nivel bajo
No cambia su estado pero se produce una
interrupción.
MODO COMPARACIÓN
Al coincidir los valores del TMR1 con los
de la pareja registros CCPR1H-L se pone
a “1” CCP1IF.

TMR1 debe trabajar modo temporizador


o contador síncrono.
MODO COMPARACIÓN
Si el bit permiso de interrupción esta a
“1”, y coinicden los valores mencionados
se origina una petición de interrupción.
Esquema por bloques del módulo CCP1
cuando funciona modo Comparador
MODO COMPARACIÓN
Con los bits CCP1M3-0 se selecciona el
modo de trabajo de “disparo especial”.
El CCP1 pone a 0 el TMR1
CCPR1 funciona como un Registro de
Período, capaz de provocar
periódicamente interrupciones.
MODO COMPARACIÓN
En el modo de disparo especial, el CCP2
coloca a 0 el TMR1.
Inicia una conversión en el conversor
A/D.
Periódicamente puede realizar
conversiones analógico/digitales sin el
control del programa de instrucciones.
Registros asociados al Módulo
Captura y al de Comparación
MODO DE MODULACIÓN DE
ANCHURA DE PULSOS (PWM)
Impulsos lógicos cuya anchura del nivel
alto es de duración variable.

El pin RC2/CCP1 esta configurada como


salida y bascula entre los niveles lógico 0
y 1 a intervalos variables de tiempo.
MODO DE MODULACIÓN DE
ANCHURA DE PULSOS (PWM)
Lo que intenta es obtener un impulso cuyo
nivel alto tenga una anchura variable (Duty
Cycle) dentro del intervalo del período de
trabajo.
MODO DE MODULACIÓN DE
ANCHURA DE PULSOS (PWM)
Para lograr el basculado del pin
RC2/CCP1 se usa un comparador que
coloca a “1” un flip-flop cuando el valor
del registro PR2 coincide con la parte alta
del TMR2, momento en que que TMR2
toma el valor de 00H.
MODO DE MODULACIÓN DE
ANCHURA DE PULSOS (PWM)
Luego el flip-flop se resetea cuando otro
comparador detecta la coincidencia del valor
existente en CCPR1H con el de la parte alta
del TMR2.

Variando los valores de carga en PR2 y en


CCPR1L(luego se traspasa a CCPR1H), varía
el intervalo de tiempo en el que el pin está a 1
y a 0.
Estructura interna del módulo CCP1
en modo PWM
MODO DE MODULACIÓN DE
ANCHURA DE PULSOS (PWM)

El tiempo que dura el período de la onda


depende del valor cargado en PR2.

Perído=[(PR2)+1]*4*Tosc*V/r PrediviTMR2
MODO DE MODULACIÓN DE
ANCHURA DE PULSOS (PWM)
Cuando el valor del TMR2 coincide con
el valor del PR2:
Se borra el TMR2
El pin RC2/CCP1 se coloca a 1
El valor CCPR1L (el que determina la
anchura del impulso), se carga en
CCPR1H.
MODO DE MODULACIÓN DE
ANCHURA DE PULSOS (PWM)
El tiempo en que el pin de salida está a
nivel alto, que es la anchura del impulso,
depende del contenido cargado en
CCPR1L y de los bits 5 y 4 del
CCP1CON, cuando se trabaja con una
precisión de 10 bits.
MODO DE MODULACIÓN DE
ANCHURA DE PULSOS (PWM)

Anchura de impulso =

(CCPR1L:CCP)CON<5:4>)*Tosc*V/r PrediviTMR2
MODO DE MODULACIÓN DE
ANCHURA DE PULSOS (PWM)

El valor (CCPR1L:CCP)CON<5:4>) puede


cargarse en cualquier momento, puesto que el
mismo no se traspasa a CCPR1H y se compara
hasta que coincidan PR2 con TMR2.
MODO DE MODULACIÓN DE
ANCHURA DE PULSOS (PWM)
Pasosa seguir para realizar la configuración del
modo PWM:
1. Asignar el período cargando el valor en PR2.
2. Asignar la anchura del pulso cargando el registro
CCPR1L y los dos bits 5-4 CCP1CON.
3. Configurar la línea RC2/CCP1 como salida.
4. Asignar el valor del predivisor y activar el TMR2
escribiendo en T2CON.
5. Configurar el Módulo CCP1 en modo PWM.
Registros asociados al Módulo
PWM
TALLER

Los módulos CCP1 y CCP2 pueden trabajar


simultáneamente en diferente modo.

En este ejercicio vamos a hacer trabajar al


módulo CCP2 en modulación de anchura de
pulsos para el gobierno de un motor y al módulo
CCP1 en comparación para controlar el
desplazamiento de dicho motor.
TALLER

El TMR1 actuará en modo contador de eventos


externos, donde los impulsos serán generados por
el encoder asociado al motor.

La secuencia que se pretende realizar con este


programa es:
TALLER
1. Arrancar el motor suavemente en el sentido
horario hasta llegar a la velocidad máxima.
2. Girar en sentido horario tantos pasos como
determine la constante “HORARIO”.
3. Parar un segundo.
4. Girar en sentido antihorario tantos pasos como
indique la constante “ANTIHORARIO”, a la
velocidad que determinen los interruptores
(RA4-RA0).
TALLER
5. Decrecer la velocidad hasta llegar a detener el
motor.
6. Parar un segundo.
7. Vuelta al paso 1.
EL CONVERSOR A/D

También podría gustarte