SlideShare una empresa de Scribd logo
1 de 47
CCP :(Captura/Comparación/PWM) 
Permite medir y controlar diferentes eventos. 
En modo captura proporciona el acceso al valor actual del 
Timer1 (que cambia su valor constantemente). 
En modo comparación compara constantemente valores de 
dos registros. Uno de ellos es el Timer1. Este circuito también 
permite activar un evento externo después de que haya 
expirado una cantidad de tiempo predeterminada. 
En modo PWM (Pulse Width Modulation) puede generar 
señales de frecuencia y de ciclo útil variados por uno o más 
pines de salida.
TIMERS USADOS POR CCP
MÓDULO CCP : FORMADO POR 
MÓDULOS 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.
MÓDULO CCP1 
Conformado por el registro CCPR1 de 16 bits que consiste en 
los registros concatenados CCPR1H y CCPR1L. 
Se utiliza para capturar y comparar sus valores con los 
números almacenados en el registro del temporizador Timer1 
(TMR1H :TMR1L) 
- - - - - - - - - - - - - - - - 
BIT: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 
REG: C C P R 1 H : C C P R 1 L
CCP1 EN MODO DE CAPTURA 
En este modo, el Timer1 se copia al registro CCP1 (que 
consiste en los CCPR1H y CCPR1L) en las siguientes 
situaciones: 
• Cada flanco ascendente en el pin RC2/CCP; 
• Cada flanco descendente en el pin RC2/CCP1; 
• Cada cuarto flanco ascendente en el pin 
RC2/CCP1; 
• Cada decimosexto flanco descendente en el pin 
RC2/CCP1.
MODO CAPTURA CCP1
Requisitos para captura CCP: 
• 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.
CCP1CON 
P1M1, P1M0 - (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. 
0 0 PWM con una sóla salida 
0 1 
Configuración Full Bridge - Forward 
(puente completo con salida directa) 
1 0 Configuración Half Bridge (medio-puente) 
1 1 
Configuración Full Bridge - Reverse 
(puente completo con salida inversa)
CCP1CON 
DC1B1, DC1B0 - 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. 
NO SE USAN EN MODO CAPTURA NI COMPARACIÓN
CCP1CON 
CCP1M3 - CCP1M0 - (bits de selección de modo del 
módulo CCP1) determina el modo del módulo CCP1
Registros asociados con captura, comparación y timer1
Ejemplo: 
Realizar la medida del periodo de una onda 
cuadrada conectada en RC2. El Pic usa un cristal 
de 4 MHz. 
1. Se Configura CCP modo captura con cada 
transición de subida del pin RC2/CCP1 con 
Timer1 modo temporizador 1/1.
Ejemplo: 
2. Al llegar un flanco ascendente, se resetea el Timer1 y 
se e spera al siguiente flanco ascendente, en el cual se 
guarda el valor capturado. 
3. Lo que se ha capturado es la cantidad de ciclos de reloj 
transcurridos en un ciclo de la señal a medir. 
4. Con este valor y el Tosc al cual trabaja el 
microcontrolador se puede determinar el periodo de la 
señal.
TMR1 
; Se selecciona TMR1, preescaler de 1/1, modo temporizador.- 
movlw b'00000001' 
movwf T1CON
CCP MODO CAPTURA 
; Se configura CCP modo captura cada flanco de subida.- 
movlw b'00000101‘ 
movwf CCP1CON
Tosc 
Si fosc=4MHz 
Tosc= 1/4MHz 
Ciclo de Operación ó ciclo de instrucción= 4 Tosc = 1 μs 
Entonces, el número de incrementos del Timer1 = período 
de la señal (en μs)
list p=16F887 
#include <p16f887.inc> 
; Definiciones particulares 
Msb equ 0x20 ; Guarda Byte alto de Captura 
Lsb equ 0x21 ; Guarda byte bajo de Captura 
Contador1 equ 0x22 ; Para retardo 
Contador2 equ 0x23 ; Para retardo 
org 0x00 
goto Inicio 
org 0x05
Inicio 
bsf STATUS,RP0 ; Banco 1 
movlw b'11111111' ; portc entrada. (RC2 ) 
movwf TRISC 
bcf STATUS,RP0 ; Banco 0.- 
movlw b'00000001' ; Se selecciona TMR1, preescaler de 1/1, modo 
temporizador.- 
movwf T1CON 
movlw b'00000101' ; Se configura CCP modo captura cada flanco de 
subida.- 
movwf CCP1CON
Bucle 
bcf PIR1,CCP1IF ; Borramos bandera 
espera 
btfss PIR1,CCP1IF ; Preguntamos por bandera.- 
goto espera ; Si no se activo seguimos esperando 
bcf PIR1,CCP1IF ; Se activo, la borramos.- 
clrf TMR1H ; Borramos Timer1.- 
clrf TMR1L ;
wait 
btfss PIR1,CCP1IF ; Volvemos a Preguntar por bandera.- 
goto wait ; No se activo, seguimos esperando.- 
movfw CCPR1L ; Copiamos el valor capturado.- 
movwf Lsb 
movfw CCPR1H 
movwfMsb 
bcf t1con,tmr1on 
; mostrar usando Lsb y Msb ya que directamente es el período buscado 
aqui: goto aqui ; 
end
CCP1 EN MODO DE COMPARACIÓN 
1. El valor almacenado en el registro CCP1 se 
compara constantemente al valor almacenado 
en el registro del temporizador Timer1. 
2. 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). 
3. El bit de bandera CCP1IF se pone a uno 
simultáneamente.
Diagrama de Bloques CCP en comparación
Special trigger event 
• Invierte el valor CCPx 
• Lleva a 1 CCPx 
• Borra CCPx 
• Generate a Special Event Trigger 
• Generate a Software Interrupt 
La acción es configurada por los bits 
CCPxM<3:0> del registro CCPx1CON.
Nota: 
 En el modo de comparación, el TIMER1 debe 
estar corriendo en modo Timer o modo 
contador sincronizado. 
 Si esá configurado como modo contador 
asíncrono, puede que no opere de la forma 
correcta.
SPECIAL EVENT TRIGGER 
Cuando se selecciona Special Event Trigger 
(CCPxM<3:0> = 1011), el módulo CCPx hace lo 
siguiente: 
• • resetea al Timer1 
• • Arranca una converión ADC (si el módulo ADC 
está habilitado)
Para poner el módulo CCP1 en este modo de 
funcionamiento, se deben cumplir dos condiciones: 
1. El pin RC2/CCP1 debe estar configurado como 
salida; y 
2. El temporizador Timer1 debe estar sincronizado 
con el reloj interno.
EJEMPLO 
El TMR1 cuenta tantos pulsos externos como se indique 
Mediante el valor cargado en CCP1CON por la constante 
Ncompar. Cada vez que se alcanza el valor fijado, la salida 
RB0 Cambia de estado.
List p=16F887 
include "P16F887.INC" 
Ncompar equ 06H ;Constante para modificar 
; Número de comparaciones bajas 
org 00H ;Vector de Reset 
goto CONFIGURAR 
org 04H 
goto INRERRUP ;Vector de interrupción
;Programa de tratamiento de la interrupción que provoca el módulo CCP1 cada vez 
;que el TMR1 cuenta tantos pulsos externos como los prefijados mediante Ncompar 
INRERRUP: 
bcf T1CON,TMR1ON ;TMR1 en Off 
bcf PIR1,CCP1IF ;Bandera del módulo 
CCP1 en OFF 
clrf TMR1L 
clrf TMR1H ;Puesta a 0 del TMR1 
movlw b'00000001' 
xorwf PORTB,F ;RB0 cambia de estado 
bsf T1CON,TMR1ON ;TMR1 en On 
bcf PIR1,CCP1IF 
retfie
; CONFIGURAR: 
bsf STATUS,RP0 ;Selecciona banco 1 
clrf TRISB ;Puerto B se configura como salida 
clrf TRISD 
movlw b'11001011' 
movwf TRISC ;RC0 entrada 
bsf PIE1,CCP1IE ;Habilita 
interrupción del módulo CCP1 
bcf STATUS,RP0 ;Selecciona banco 0 
bcf T1CON,TMR1ON ;Timer1 
desconectado 
clrf PORTB ;apaga salida bcf 
STATUS,RP0 ;Selecciona banco 0
;El TMR1 actúa en el modo contador de pulsos externos 
;sensible al flanco ascendente y con un preescaler de 1:1 
movlw b'00000010' 
movwf T1CON ;TMR1 en Off 
;El módulo CCP1 actúa en modo de comparación e interrupción al coincidir 
movlw b'00001010' 
movwf CCP1CON ;Módulo 
CCP en modo comparación 
clrf CCPR1H ;Puesta a 0 de la parte alta del 
valor a comparar 
clrf TMR1L 
clrf TMR1H ;Puesta a 0 
del TMR1
movlw Ncompar 
movwf CCPR1L 
movlw b'11000000' 
movwf INTCON ;Habilita 
interrupciones 
bsf T1CON,TMR1ON ;TMR1 en On, comienza a 
contar 
;Programa principal 
aqui: 
MOVF TMR1L,W 
MOVWF PORTD 
goto aqui ;Bucle infinito 
end
RE3/MCLR/VPP 
1 
RA1/AN1/C12IN1- 
3 
RA2/AN2/VREF-/CVREF/C2IN+ 
4 
RA4/T0CKI/C1OUT 
6 
RA5/AN4/SS/C2OUT 
7 
RB0/AN12/INT 
33 
RB1/AN10/C12IN3- 
34 
RB2/AN8 
35 
RA7/OSC1/CLKIN 
13 
RA6/OSC2/CLKOUT 
14 
RD5/P1B 
28 
RD6/P1C 
29 
RD7/P1D 
30 
RC4/SDI/SDA 
23 
RC5/SDO 
24 
RC3/SCK/SCL 
18 
RC2/P1A/CCP1 
17 
RC1/T1OSI/CCP2 
16 
RC0/T1OSO/T1CKI 
15 
RB7/ICSPDAT 
40 
RB6/ICSPCLK 
39 
RB5/AN13/T1G 
38 
RB4/AN11 
37 
RD3 
22 
RD2 
21 
RD1 
20 
RD0 
19 
RC7/RX/DT 
26 
RC6/TX/CK 
25 
RE2/AN7 
10 
RE1/AN6 
9 
RE0/AN5 
8 
RA3/AN3/VREF+/C1IN+ 
5 
RD4 
27 
RB3/AN9/PGM/C12IN2- 
36 
RA0/AN0/ULPWU/C12IN0- 
2 
U1 
PIC16F887 
R1 
10k 
R2 
R3 
R4 
330R 
R5 
330R 
R6 
330R 
R7 
330R 
R8 
330R 
330R 
330R 
D1 
D2 
LED-RED 
D3 
LED-RED 
D4 
LED-RED 
D5 
LED-RED 
D6 
LED-RED 
D7 
LED-RED 
LED-RED 
R9 
330R 
D8 
LED-YELLOW 
SW1 
SW-SPST
CCP1 EN MODO PWM
Modo PWM 
El modo PWM genera una señal de ancho de 
pulso modulado en el pin CCPx. 
El ciclo util, período y resolución se determinan a 
través de los siguientes registros: 
• PR2 
• T2CON 
• CCPRxL 
• CCPxCON
PWM 
Entonces, PWM permite obtener en los 
pines CCPx una señal periodica en la que 
se puede modificar su ciclo de trabajo 
(Duty Cicle). 
Puede variar el tiempo en el cuál la señal 
está en nivel alto (Ton) vs. El tiempo en 
nivel bajo (Toff).
La tensión media aplicada es proporcional al Ton, controlando así: 
velocidad de motores, luminosidad de lámparas, etc.
El pin RCy del PIC16F887 debe estar 
configurado como salida, mediante a 
configucación TRIS correspondiente. 
La resolución de salida es de 10 bits. 
El período de la señal PWM se obtiene de 
configurar el Timer2 y el contenido del 
registro PR2. Este registro contiene los 8 
bits más significativos de los 10 bits.
Cuando TMR2 = PR2 ocurren los siguientes eventos en el siguiente ciclo de 
instrucción: 
• TMR2 ise borra 
•El pin CCPx se va a 1. (Excepción: Si el ciclo útil es de 0% el pin no se va a 
1) 
•El ciclo útil se PWM de almacena de CCPRxL a CCPRxH.
Para calcular el período de la señal PWM se utiliza la ecuación: 
Tpwm = (PR2+1).4 .(Valor PreescalerTMR2) 
fosc
El ciclo de trabajo o duty cicle (ciclo útil) es el valor del registro 
CCPxL antes de comenzar un nuevo período. A compararse con el 
valor del registro del Timer2. 
Para calcular el ciclo de trabajo se utiliza la ecuación: 
PWM ciclo útil= (CCPRxL:CCPxCON(5:4))..ValorPreescalerTMR2 
fosc 
Los registro CCPRxL y los bits CCPxCON pueden escribirse en 
cualquier momento, pero no se cargan hasta que finalice el 
periodo de onda PWM (se produce una igualdad entre PR2 y 
TMR2)
Módulos ccp pic 16f887

Más contenido relacionado

La actualidad más candente

Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
SANTIAGO PABLO ALBERTO
 
Guía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesGuía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupciones
Luis Zurita
 
Clase 5 - Diseño de controladores por LGR
Clase 5 - Diseño de controladores por LGRClase 5 - Diseño de controladores por LGR
Clase 5 - Diseño de controladores por LGR
guest21fbd4
 
Uso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorUso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensamblador
Luis Zurita
 

La actualidad más candente (20)

Subrutinas de retardo
Subrutinas de retardoSubrutinas de retardo
Subrutinas de retardo
 
El PIC16F84
El PIC16F84El PIC16F84
El PIC16F84
 
Latches
LatchesLatches
Latches
 
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
 
Guía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesGuía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupciones
 
Timer 0 - Pic16F877A
Timer 0 - Pic16F877ATimer 0 - Pic16F877A
Timer 0 - Pic16F877A
 
PLC: ejercicios de sistemas secuenciales
PLC: ejercicios de sistemas secuencialesPLC: ejercicios de sistemas secuenciales
PLC: ejercicios de sistemas secuenciales
 
Electrónica digital: Maquina de estado finitas (FSM´s)
Electrónica digital: Maquina de estado finitas (FSM´s)Electrónica digital: Maquina de estado finitas (FSM´s)
Electrónica digital: Maquina de estado finitas (FSM´s)
 
Logix Pro manual.pdf
Logix Pro manual.pdfLogix Pro manual.pdf
Logix Pro manual.pdf
 
Programación PIC16F84A
Programación PIC16F84AProgramación PIC16F84A
Programación PIC16F84A
 
Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler
 
Pic problemas resueltos
Pic problemas resueltos Pic problemas resueltos
Pic problemas resueltos
 
Clase 5 - Diseño de controladores por LGR
Clase 5 - Diseño de controladores por LGRClase 5 - Diseño de controladores por LGR
Clase 5 - Diseño de controladores por LGR
 
Uso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorUso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensamblador
 
Grafcet
GrafcetGrafcet
Grafcet
 
Ingenieria de control moderna - Ogata 5ed
Ingenieria de control moderna - Ogata 5edIngenieria de control moderna - Ogata 5ed
Ingenieria de control moderna - Ogata 5ed
 
Adquisición de datos
Adquisición de datosAdquisición de datos
Adquisición de datos
 
Sistemas variantes en el tiempo
Sistemas variantes en el tiempoSistemas variantes en el tiempo
Sistemas variantes en el tiempo
 
Contadores a y s síncronos
Contadores a y s síncronosContadores a y s síncronos
Contadores a y s síncronos
 
Módulo ADC del PIC16F887
Módulo ADC del PIC16F887Módulo ADC del PIC16F887
Módulo ADC del PIC16F887
 

Similar a Módulos ccp pic 16f887

MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3
Luis Zurita
 
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorLab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Daniel Pardo
 
Compare capture pwm mode 5
Compare capture pwm mode 5Compare capture pwm mode 5
Compare capture pwm mode 5
georgemanson69
 

Similar a Módulos ccp pic 16f887 (20)

Ccpx
CcpxCcpx
Ccpx
 
Micro2 tema 3
Micro2 tema 3Micro2 tema 3
Micro2 tema 3
 
Modulos ccp v2(ring telefono)
Modulos ccp v2(ring telefono)Modulos ccp v2(ring telefono)
Modulos ccp v2(ring telefono)
 
Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07
 
Ccp2009170309
Ccp2009170309Ccp2009170309
Ccp2009170309
 
Ejemplos De Ccp
Ejemplos De CcpEjemplos De Ccp
Ejemplos De Ccp
 
MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3
 
Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887
 
Clase Timer 1
Clase Timer 1Clase Timer 1
Clase Timer 1
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06
 
Pwm
PwmPwm
Pwm
 
Timers
TimersTimers
Timers
 
Pwm
PwmPwm
Pwm
 
Ejercicio 07 Timers
Ejercicio 07 TimersEjercicio 07 Timers
Ejercicio 07 Timers
 
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorLab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
 
In terrupciones pic
In terrupciones picIn terrupciones pic
In terrupciones pic
 
Compilador CCS.ppt
Compilador CCS.pptCompilador CCS.ppt
Compilador CCS.ppt
 
Compare capture pwm mode 5
Compare capture pwm mode 5Compare capture pwm mode 5
Compare capture pwm mode 5
 
Usart PIC config LANDA
Usart PIC config LANDAUsart PIC config LANDA
Usart PIC config LANDA
 
Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887
 

Último

Último (20)

Instalacion de un Sistema contra incendio
Instalacion de un Sistema contra incendioInstalacion de un Sistema contra incendio
Instalacion de un Sistema contra incendio
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantas
 
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfMyoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
 
INFORME de actividades para pago de servicio
INFORME de actividades para pago de servicioINFORME de actividades para pago de servicio
INFORME de actividades para pago de servicio
 
Matematica Basica Limites indeterminados
Matematica Basica Limites indeterminadosMatematica Basica Limites indeterminados
Matematica Basica Limites indeterminados
 
Métodos numéricos y aplicaciones - Izar Landeta.pdf
Métodos numéricos y aplicaciones - Izar Landeta.pdfMétodos numéricos y aplicaciones - Izar Landeta.pdf
Métodos numéricos y aplicaciones - Izar Landeta.pdf
 
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjdS06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
 
Instrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfInstrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdf
 
Practica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdfPractica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdf
 
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdfUNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
 
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
 
Presentacion Feria Cientifica Proyecto.pptx
Presentacion Feria Cientifica Proyecto.pptxPresentacion Feria Cientifica Proyecto.pptx
Presentacion Feria Cientifica Proyecto.pptx
 
UNIDAD 2.- SENSORES.TIPOS DE SENSORES Y SU CLASIFICAIÓN
UNIDAD 2.- SENSORES.TIPOS DE SENSORES  Y SU CLASIFICAIÓNUNIDAD 2.- SENSORES.TIPOS DE SENSORES  Y SU CLASIFICAIÓN
UNIDAD 2.- SENSORES.TIPOS DE SENSORES Y SU CLASIFICAIÓN
 
1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas
 

Módulos ccp pic 16f887

  • 1.
  • 2. CCP :(Captura/Comparación/PWM) Permite medir y controlar diferentes eventos. En modo captura proporciona el acceso al valor actual del Timer1 (que cambia su valor constantemente). En modo comparación compara constantemente valores de dos registros. Uno de ellos es el Timer1. Este circuito también permite activar un evento externo después de que haya expirado una cantidad de tiempo predeterminada. En modo PWM (Pulse Width Modulation) puede generar señales de frecuencia y de ciclo útil variados por uno o más pines de salida.
  • 4. MÓDULO CCP : FORMADO POR MÓDULOS 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.
  • 5. MÓDULO CCP1 Conformado por el registro CCPR1 de 16 bits que consiste en los registros concatenados CCPR1H y CCPR1L. Se utiliza para capturar y comparar sus valores con los números almacenados en el registro del temporizador Timer1 (TMR1H :TMR1L) - - - - - - - - - - - - - - - - BIT: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 REG: C C P R 1 H : C C P R 1 L
  • 6. CCP1 EN MODO DE CAPTURA En este modo, el Timer1 se copia al registro CCP1 (que consiste en los CCPR1H y CCPR1L) en las siguientes situaciones: • Cada flanco ascendente en el pin RC2/CCP; • Cada flanco descendente en el pin RC2/CCP1; • Cada cuarto flanco ascendente en el pin RC2/CCP1; • Cada decimosexto flanco descendente en el pin RC2/CCP1.
  • 8. Requisitos para captura CCP: • 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.
  • 9. CCP1CON P1M1, P1M0 - (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. 0 0 PWM con una sóla salida 0 1 Configuración Full Bridge - Forward (puente completo con salida directa) 1 0 Configuración Half Bridge (medio-puente) 1 1 Configuración Full Bridge - Reverse (puente completo con salida inversa)
  • 10.
  • 11. CCP1CON DC1B1, DC1B0 - 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. NO SE USAN EN MODO CAPTURA NI COMPARACIÓN
  • 12. CCP1CON CCP1M3 - CCP1M0 - (bits de selección de modo del módulo CCP1) determina el modo del módulo CCP1
  • 13. Registros asociados con captura, comparación y timer1
  • 14.
  • 15. Ejemplo: Realizar la medida del periodo de una onda cuadrada conectada en RC2. El Pic usa un cristal de 4 MHz. 1. Se Configura CCP modo captura con cada transición de subida del pin RC2/CCP1 con Timer1 modo temporizador 1/1.
  • 16. Ejemplo: 2. Al llegar un flanco ascendente, se resetea el Timer1 y se e spera al siguiente flanco ascendente, en el cual se guarda el valor capturado. 3. Lo que se ha capturado es la cantidad de ciclos de reloj transcurridos en un ciclo de la señal a medir. 4. Con este valor y el Tosc al cual trabaja el microcontrolador se puede determinar el periodo de la señal.
  • 17. TMR1 ; Se selecciona TMR1, preescaler de 1/1, modo temporizador.- movlw b'00000001' movwf T1CON
  • 18. CCP MODO CAPTURA ; Se configura CCP modo captura cada flanco de subida.- movlw b'00000101‘ movwf CCP1CON
  • 19. Tosc Si fosc=4MHz Tosc= 1/4MHz Ciclo de Operación ó ciclo de instrucción= 4 Tosc = 1 μs Entonces, el número de incrementos del Timer1 = período de la señal (en μs)
  • 20. list p=16F887 #include <p16f887.inc> ; Definiciones particulares Msb equ 0x20 ; Guarda Byte alto de Captura Lsb equ 0x21 ; Guarda byte bajo de Captura Contador1 equ 0x22 ; Para retardo Contador2 equ 0x23 ; Para retardo org 0x00 goto Inicio org 0x05
  • 21. Inicio bsf STATUS,RP0 ; Banco 1 movlw b'11111111' ; portc entrada. (RC2 ) movwf TRISC bcf STATUS,RP0 ; Banco 0.- movlw b'00000001' ; Se selecciona TMR1, preescaler de 1/1, modo temporizador.- movwf T1CON movlw b'00000101' ; Se configura CCP modo captura cada flanco de subida.- movwf CCP1CON
  • 22. Bucle bcf PIR1,CCP1IF ; Borramos bandera espera btfss PIR1,CCP1IF ; Preguntamos por bandera.- goto espera ; Si no se activo seguimos esperando bcf PIR1,CCP1IF ; Se activo, la borramos.- clrf TMR1H ; Borramos Timer1.- clrf TMR1L ;
  • 23. wait btfss PIR1,CCP1IF ; Volvemos a Preguntar por bandera.- goto wait ; No se activo, seguimos esperando.- movfw CCPR1L ; Copiamos el valor capturado.- movwf Lsb movfw CCPR1H movwfMsb bcf t1con,tmr1on ; mostrar usando Lsb y Msb ya que directamente es el período buscado aqui: goto aqui ; end
  • 24. CCP1 EN MODO DE COMPARACIÓN 1. El valor almacenado en el registro CCP1 se compara constantemente al valor almacenado en el registro del temporizador Timer1. 2. 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). 3. El bit de bandera CCP1IF se pone a uno simultáneamente.
  • 25. Diagrama de Bloques CCP en comparación
  • 26. Special trigger event • Invierte el valor CCPx • Lleva a 1 CCPx • Borra CCPx • Generate a Special Event Trigger • Generate a Software Interrupt La acción es configurada por los bits CCPxM<3:0> del registro CCPx1CON.
  • 27. Nota:  En el modo de comparación, el TIMER1 debe estar corriendo en modo Timer o modo contador sincronizado.  Si esá configurado como modo contador asíncrono, puede que no opere de la forma correcta.
  • 28. SPECIAL EVENT TRIGGER Cuando se selecciona Special Event Trigger (CCPxM<3:0> = 1011), el módulo CCPx hace lo siguiente: • • resetea al Timer1 • • Arranca una converión ADC (si el módulo ADC está habilitado)
  • 29.
  • 30. Para poner el módulo CCP1 en este modo de funcionamiento, se deben cumplir dos condiciones: 1. El pin RC2/CCP1 debe estar configurado como salida; y 2. El temporizador Timer1 debe estar sincronizado con el reloj interno.
  • 31. EJEMPLO El TMR1 cuenta tantos pulsos externos como se indique Mediante el valor cargado en CCP1CON por la constante Ncompar. Cada vez que se alcanza el valor fijado, la salida RB0 Cambia de estado.
  • 32. List p=16F887 include "P16F887.INC" Ncompar equ 06H ;Constante para modificar ; Número de comparaciones bajas org 00H ;Vector de Reset goto CONFIGURAR org 04H goto INRERRUP ;Vector de interrupción
  • 33. ;Programa de tratamiento de la interrupción que provoca el módulo CCP1 cada vez ;que el TMR1 cuenta tantos pulsos externos como los prefijados mediante Ncompar INRERRUP: bcf T1CON,TMR1ON ;TMR1 en Off bcf PIR1,CCP1IF ;Bandera del módulo CCP1 en OFF clrf TMR1L clrf TMR1H ;Puesta a 0 del TMR1 movlw b'00000001' xorwf PORTB,F ;RB0 cambia de estado bsf T1CON,TMR1ON ;TMR1 en On bcf PIR1,CCP1IF retfie
  • 34. ; CONFIGURAR: bsf STATUS,RP0 ;Selecciona banco 1 clrf TRISB ;Puerto B se configura como salida clrf TRISD movlw b'11001011' movwf TRISC ;RC0 entrada bsf PIE1,CCP1IE ;Habilita interrupción del módulo CCP1 bcf STATUS,RP0 ;Selecciona banco 0 bcf T1CON,TMR1ON ;Timer1 desconectado clrf PORTB ;apaga salida bcf STATUS,RP0 ;Selecciona banco 0
  • 35. ;El TMR1 actúa en el modo contador de pulsos externos ;sensible al flanco ascendente y con un preescaler de 1:1 movlw b'00000010' movwf T1CON ;TMR1 en Off ;El módulo CCP1 actúa en modo de comparación e interrupción al coincidir movlw b'00001010' movwf CCP1CON ;Módulo CCP en modo comparación clrf CCPR1H ;Puesta a 0 de la parte alta del valor a comparar clrf TMR1L clrf TMR1H ;Puesta a 0 del TMR1
  • 36. movlw Ncompar movwf CCPR1L movlw b'11000000' movwf INTCON ;Habilita interrupciones bsf T1CON,TMR1ON ;TMR1 en On, comienza a contar ;Programa principal aqui: MOVF TMR1L,W MOVWF PORTD goto aqui ;Bucle infinito end
  • 37. RE3/MCLR/VPP 1 RA1/AN1/C12IN1- 3 RA2/AN2/VREF-/CVREF/C2IN+ 4 RA4/T0CKI/C1OUT 6 RA5/AN4/SS/C2OUT 7 RB0/AN12/INT 33 RB1/AN10/C12IN3- 34 RB2/AN8 35 RA7/OSC1/CLKIN 13 RA6/OSC2/CLKOUT 14 RD5/P1B 28 RD6/P1C 29 RD7/P1D 30 RC4/SDI/SDA 23 RC5/SDO 24 RC3/SCK/SCL 18 RC2/P1A/CCP1 17 RC1/T1OSI/CCP2 16 RC0/T1OSO/T1CKI 15 RB7/ICSPDAT 40 RB6/ICSPCLK 39 RB5/AN13/T1G 38 RB4/AN11 37 RD3 22 RD2 21 RD1 20 RD0 19 RC7/RX/DT 26 RC6/TX/CK 25 RE2/AN7 10 RE1/AN6 9 RE0/AN5 8 RA3/AN3/VREF+/C1IN+ 5 RD4 27 RB3/AN9/PGM/C12IN2- 36 RA0/AN0/ULPWU/C12IN0- 2 U1 PIC16F887 R1 10k R2 R3 R4 330R R5 330R R6 330R R7 330R R8 330R 330R 330R D1 D2 LED-RED D3 LED-RED D4 LED-RED D5 LED-RED D6 LED-RED D7 LED-RED LED-RED R9 330R D8 LED-YELLOW SW1 SW-SPST
  • 39. Modo PWM El modo PWM genera una señal de ancho de pulso modulado en el pin CCPx. El ciclo util, período y resolución se determinan a través de los siguientes registros: • PR2 • T2CON • CCPRxL • CCPxCON
  • 40. PWM Entonces, PWM permite obtener en los pines CCPx una señal periodica en la que se puede modificar su ciclo de trabajo (Duty Cicle). Puede variar el tiempo en el cuál la señal está en nivel alto (Ton) vs. El tiempo en nivel bajo (Toff).
  • 41. La tensión media aplicada es proporcional al Ton, controlando así: velocidad de motores, luminosidad de lámparas, etc.
  • 42. El pin RCy del PIC16F887 debe estar configurado como salida, mediante a configucación TRIS correspondiente. La resolución de salida es de 10 bits. El período de la señal PWM se obtiene de configurar el Timer2 y el contenido del registro PR2. Este registro contiene los 8 bits más significativos de los 10 bits.
  • 43.
  • 44. Cuando TMR2 = PR2 ocurren los siguientes eventos en el siguiente ciclo de instrucción: • TMR2 ise borra •El pin CCPx se va a 1. (Excepción: Si el ciclo útil es de 0% el pin no se va a 1) •El ciclo útil se PWM de almacena de CCPRxL a CCPRxH.
  • 45. Para calcular el período de la señal PWM se utiliza la ecuación: Tpwm = (PR2+1).4 .(Valor PreescalerTMR2) fosc
  • 46. El ciclo de trabajo o duty cicle (ciclo útil) es el valor del registro CCPxL antes de comenzar un nuevo período. A compararse con el valor del registro del Timer2. Para calcular el ciclo de trabajo se utiliza la ecuación: PWM ciclo útil= (CCPRxL:CCPxCON(5:4))..ValorPreescalerTMR2 fosc Los registro CCPRxL y los bits CCPxCON pueden escribirse en cualquier momento, pero no se cargan hasta que finalice el periodo de onda PWM (se produce una igualdad entre PR2 y TMR2)