You are on page 1of 32

Mdulo CCP

Mdulo Captura/Comparacin/PWM

El PIC16F81787 posee dos mdulos CCP:

Modulo CCP1

Modulo CCP2

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Los mdulos CCP pueden operar como:

Registro de Captura de 16 bits

Registro de Comparacin de 16 bits

Registro de ciclo de trabajo del mdulo PWM

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Recursos utilizados por los mdulos CCP:

UNEXPO Pto. Ordaz.

Modo de operacin
del CCP

Recurso Utilizado

Captura

Timer 1

Comparacin

Timer 1

PWM

Timer 2

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Registros utilizados por CCP1

CCPR1H, CCPR1L

CCP1CON

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Registros utilizados por CCP2

CCPR2H, CCPR2L

CCP2CON

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Mdulos CCPx en modo Captura:

CCPx

PreDivisor
1,4,16

CCPxIF

CCPRxH

CCPRxL

TMR1H

TMR1L

y
Detector de Flanco

CCPxCON<3:0>

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
CCPxCON

CCP1M3:CCP1M0:
CCP1M3:CCP1M0

Seleccin de Modo de operacin.


Modo Operacin

0000

El modo Captura/Comparacin/PWM esta deshabilitado

0100

Modo Captura, en cada flanco descendente

0101

Modo Captura, en cada flanco ascendente

0110

Modo Captura, en cada 4 flanco ascendente

0111

Modo Captura, en cada 16 flanco ascendente

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Operacin del mdulos CCPx en modo Captura:
CCPxIF

PreDivisor
1,4,16

CCPx

0A

5E

CCPRx

0A

5E

TMR1

y
Detector de Flanco

CCPxCON<3:0>
0100

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Mdulos CCPx en modo Comparacin:
Disparo de
Evento
Especiales

CCPx

S
R

CCPxIF

Lgica de
Salida

CCPRxH

Comparador

TRISC<x>

UNEXPO Pto. Ordaz.

CCPxCON<3:0>

Prof. Antonio Pateti

CCPRxL

TMR1H

TMR1L

MICROPROCESADORES

Mdulo CCP

CCP1M3:CCP1M0:
CCP1M3:CCP1M0

Seleccin de Modo de operacin.


Modo Operacin

1000

Modo Comparacin, Si es igual la salida es 1 (CCP1IF=1)

1001

Modo Comparacin, Si es igual la salida es 0 (CCP1IF=1)

1010

Modo Comparacin, Genera INT (CCP1IF=1, CCP1 no


Cambia)

1011

Modo Comparacin, Disparo de eventos especiales


(CCP1IF=1; pin CCP1 no Cambia; Reset TMR1 e Inicia la
conversin A/D)

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Operacin del mdulos CCPx en modo Comparacin:
CCPxIF

CCPRxH

CCPRxL

Disparo de
Evento
Especiales

0008

1
CCPx

S
R

Lgica de
Salida

Comparador

TRISC<x>

TMR1H

CCPxCON<3:0>
1000

CCPRx

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

TMR1L

00 00
00 01
00 02
00 03
00 04
00 05
00 06
00 07
00 08
00 09
00 0A

CCPxIF

MICROPROCESADORES

Mdulo CCP
Operacin del mdulos CCPx en modo Comparacin:

CCPx

S
R

CCPxIF

CCPRxH

Lgica de
Salida

TMR1H

CCPxCON<3:0>
1011

CCPRx

UNEXPO Pto. Ordaz.

0008

Comparador

TRISC<x>

CCPRxL

Disparo de
Evento
Espaciales

Prof. Antonio Pateti

TMR1L
00 00
00 01
00 02
00 03
00 04
00 05
00 06
00 07
00 08
00 00
00 01

CCPxIF

MICROPROCESADORES

Mdulo CCP
Mdulos CCP1 en modo PWM:
CCPR1L

CCP1X:CCP1Y

TMR2=PR2

CCPR1H
Comparador

TMR2=PR2

CCPR1H=TMR2

CCP1

TMR2
TRISC<x>

Comparad
PR2
TIMER2
UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP

CCP1M3:CCP1M0:

Seleccin de Modo de operacin.

CCP1M3:CCP1M0
11XX

CCP1X:CCP1Y:

Modo Operacin
Modo PWM

Utilizado solo para el modo PWM.

Modo PWM: Estos son los dos bits menos significativos


para el Ciclo til en el modo PWM. Los 8 bits
mas significativos se encuentran en CCPR1L

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Operacin del mdulo CCP1 en modo PWM:
CCP1
02

TMR2=PR2

TMR2=PR2

CCPR1H=TMR2
CCP1X:CCP1Y

CCPR1L

PR2

CCPR1H

CCPR1H
Comparador

PR2

CCP1

CCPR1H

TMR2
TRISC<x>

PR2

Comparad

PR2

TMR2
00
01
02
03
04
05
00
01
02
03
04
05
00
01
02
03
04
05
00

05

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Periodo y Ciclo til del modulo PWM:
PWMCU = [CCPR1L:CCP1CON<5,4>]Tosc[PreDiv TMR2]
V
CU

CU

t
T

PWMPeriodo = [PR2+1]4Tosc[PreDiv TMR2]

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Clculo de Periodo y Ciclo Util:
Fosc = 4 MHz, PR2 = 255, PreDiv = 1

PWMPeriodo = [PR2+1]4Tosc[PreDiv TMR2]


PWMPeriodo = [255+1]1seg[1]
PWMPeriodo = 256 seg

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Clculo de Periodo y Ciclo Util:
Para PWMPeriodo = 256 seg, tenemos
[CCPR1L:CCP1CON<5,4>] = 1

PWMCU = [CCPR1L:CCP1CON<5,4>]Tosc[PreDiv TMR2]


PWMCU = [1]0,25seg[1]
PWMCU = 0,25seg
V
CU=0,25seg

t
T = 256seg

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Clculo de Periodo y Ciclo Util:
Para PWMPeriodo = 256 seg, tenemos
[CCPR1L:CCP1CON<5,4>] = 512

PWMCU = [CCPR1L:CCP1CON<5,4>]Tosc[PreDiv TMR2]


PWMCU = [512]0,25seg[1]
PWMCU = 128seg
V
CU=128seg

t
T = 256seg

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Clculo de Periodo y Ciclo Util:
Para PWMPeriodo = 256 seg, tenemos
[CCPR1L:CCP1CON<5,4>] = 1022

PWMCU = [CCPR1L:CCP1CON<5,4>]Tosc[PreDiv TMR2]


PWMCU = [1022]0,25seg[1]
PWMCU = 255,5seg
V
CU=255,5seg

t
T = 256seg

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Clculo de Periodo y Ciclo Util:
Para PWMPeriodo = 256 seg, tenemos
[CCPR1L:CCP1CON<5,4>] = 1023

PWMCU = [CCPR1L:CCP1CON<5,4>]Tosc[PreDiv TMR2]


PWMCU = [1023]0,25seg[1]
PWMCU = 255,75seg
V
CU=255,75seg

t
T = 256seg

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Clculo de Periodo y Ciclo Util:
Fosc = 4 MHz, PR2 = 125, PreDiv = 4

PWMPeriodo = [PR2+1]4Tosc[PreDiv TMR2]


PWMPeriodo = [125+1]1seg[4]
PWMPeriodo =504 seg

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Clculo de Periodo y Ciclo Util:
Para PWMPeriodo = 504 seg, tenemos
[CCPR1L:CCP1CON<5,4>] = 1

PWMCU = [CCPR1L:CCP1CON<5,4>]Tosc[PreDiv TMR2]


PWMCU = [1]0,25seg[4]
PWMCU = 1 seg
V
CU=1 seg

t
T = 504seg

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Clculo de Periodo y Ciclo Util:
Para PWMPeriodo = 504 seg, tenemos
[CCPR1L:CCP1CON<5,4>] = 202

PWMCU = [CCPR1L:CCP1CON<5,4>]Tosc[PreDiv TMR2]


PWMCU = [202]0,25seg[4]
PWMCU = 202seg
V
CU=202seg

t
T = 504seg

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Clculo de Periodo y Ciclo Util:
Para PWMPeriodo = 504 seg, tenemos
[CCPR1L:CCP1CON<5,4>] = 502

PWMCU = [CCPR1L:CCP1CON<5,4>]Tosc[PreDiv TMR2]


PWMCU = [502]0,25seg[4]
PWMCU = 502seg
V
CU=502seg

t
T = 504seg

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Clculo de Periodo y Ciclo Util:
Para PWMPeriodo = 504 seg, tenemos
[CCPR1L:CCP1CON<5,4>] = 503

PWMCU = [CCPR1L:CCP1CON<5,4>]Tosc[PreDiv TMR2]


PWMCU = [503]0,25seg[4]
PWMCU = 503seg
V
CU=503seg

t
T = 504seg

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Clculo de Periodo y Ciclo Util:
Para PWMPeriodo = 504 seg, tenemos
[CCPR1L:CCP1CON<5,4>] = 504

PWMCU = [CCPR1L:CCP1CON<5,4>]Tosc[PreDiv TMR2]


PWMCU = [504]0,25seg[4]
PWMCU = 504seg
V

t
T = 504seg

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Mnima resolucin del CU para el mdulo PWM
La mnima resolucin (en tiempo) para el Ciclo til del
mdulo PWM depende del Pre-Divisor del Timer 2

Pre-Div del TMR2

Resolucin (tiempo)

Tosc

C.I.

16

4C.I.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Temporizadores/Contadores
APFCON1

CCP1SEL:

Seleccin del pin de entrada/salida del mdulo CCP1.


0: CCP1 es RC2
1:

CCP2SEL:

CCP1 es RB0

Seleccin del pin de entrada/salida del mdulo CCP2.


0: CCP1 es RC1
1:

UNEXPO Pto. Ordaz.

CCP1 es RB3

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Mxima resolucin (en bits) del CU
PWMCU = [CCPR1L:CCP1CON<5,4>]Tosc[PreDiv TMR2]
TPWM = [2b]Tosc[PD_T2]

TPWM
2
Tosc PD _ T 2
b

TPWM

log 2 log
Tosc PD _ T 2

TPWM

log
Tosc PD _ T 2

b
log(2)
UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Mdulo CCP
Ejemplo con PWM

10 Bits
Del Ciclo Util

PIC17F87X
RD0
RD1
RD2
RD3
RD4
RD5
RD6
RD7

RB0
RB1
RB2
RB3
RB4
RB5
RB6
RB7

RE0
RE1

RA0
RA1
RC2

UNEXPO Pto. Ordaz.

8 Bits
Del Periodo

2 Bits
Para PreDivT2
CCP1

Prof. Antonio Pateti

MICROPROCESADORES

Temporizadores/Contadores
APFCON1

CCP1SEL:

Seleccin del pin de entrada/salida del mdulo CCP1.


0: CCP1 es RC2
1:

CCP2SEL:

CCP1 es RB0

Seleccin del pin de entrada/salida del mdulo CCP2.


0: CCP1 es RC1
1:

UNEXPO Pto. Ordaz.

CCP1 es RB3

Prof. Antonio Pateti

MICROPROCESADORES

You might also like