SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
IUT Cumaná




   MICROCONTROLADORES II
        MÓDULO CCP
(CAPTURA/COMPARACIÓN/PWM)


      PROF. LUIS ZURITA
IUT Cumaná



                       MODO CAPTURA
       • En este modo CCP1 y CCP2 funcionan de forma idéntica. (En los
         nombres de registros a continuación x=1,2)
       • En este modo la pareja de registros CCPRxH:CCPRxL captura el
         valor de 16 bits que contiene TMR1 cuando sucede un evento en
         la pata RCy/CCPx del PORTC (estos pines deben configurarse
         como entradas con un 1 en TRISC).
       • Los eventos son los configurados en CCPxM3:CCPxM0 del
         registro de control CCPxCON, para el modo Captura.
       • Al realizar la captura se activa el bit de interrupción CCPxIF y si
         la interrupción está habilitada mediante CCPxIE, se genera una
         interrupción al cargar el CCPRxH:CCPRxL con TMR1.
       • TMR1 en este modo debe estar configurado como temporizador o
         contador síncrono, nunca en modo asíncrono.
       • Al cambiar la condiciones de funcionamiento dentro del modo
         captura conviene desactivar el módulo primero.



Prof. Luis Zurita                                                   Microcontroladores II
IUT Cumaná



           FLUJOGRAMA CCP1 CAPTURA




Prof. Luis Zurita              Microcontroladores II
IUT Cumaná



                    MODO COMPARACIÓN
       • Los registros CCPRxH:CCPRxL comparan su valor de forma
         continua con el valor de TMR1. Cuando coinciden el pin RCy/CCPx
         del PORTC (configurado como salida) sufre un evento.
       • Los eventos son los configurados en CCPxM3:CCPxM0 del
         registro de control CCPxCON para el modo Comparación.
       • Al coincidir CCPRxH:CCPRxL y TMR1 se activa el bit de
         interrupción CCPxIF y si la interrupción está habilitada mediante
         CCPxIE, se genera un interrupción.
       • TMR1 en este modo debe estar configurado como temporizador o
         contador síncrono, nunca en modo asíncrono.
       • Si se ha seleccionado el modo disparo especial, el módulo CCP1 y
         CCP2 realizan tareas distintas. El CCP1 pone a 0 el TMR1 y el
         CCPR1 funciona como un Registro de Período capaz de generar
         periódicamente interrupciones. El CCP2 pone a 0 el TMR1 y
         además inicia una conversión del A/D, con lo que se pueden
         realizar conversiones periódicas. Aunque TMR1=0 no se genera
         interrupción del timer1.


Prof. Luis Zurita                                                 Microcontroladores II
IUT Cumaná



             FLUJOGRAMA CCP1 COMPARACIÓN




Prof. Luis Zurita                    Microcontroladores II
IUT Cumaná



                                MODO PWM
       •     Con este modo se consiguen impulsos, cuya anchura de nivel alto es de
             duración variable y sirven para control de motores y generación de
             señales.
       •     Se utiliza un módulo CCP, el timer2 y un pin RCy/CCPx de salida.
       •     El comparador entre el valor PR2 y TMR2 cuando detecta la igualdad:
              1. Activa ‘1’ el flip-flop de salida.
              2. Resetea TMR2.
              3. El valor de CCPRxL se carga en CCPRxH.
       •     El periodo de la señal se calcula como:
              Periodo=[(PR2)+1]*4*Tosc*(Valor predivisor TMR2)
       •     Se comparan los valores de 10 bits ([CCPRxH:CCP1CON(5:4)]) y TMR2
             concatenados con los dos bits de menor peso del reloj interno) cuando
             son iguales:
              1. Desactiva ‘0’ el flip-flop de salida.
              2. No resetea TMR2
       •     El ciclo activo es:
              Ancho pulso=(CCPRxL:CCP1CON(5:4))*Tosc*(V. predivisor TMR2)


Prof. Luis Zurita                                                          Microcontroladores II
IUT Cumaná



                    FLUJOGRAMA PWM




Prof. Luis Zurita                    Microcontroladores II
IUT Cumaná



                                 SEÑAL PWM




               Periodo=[(PR2)+1]*4*Tosc*(Valor predivisor TMR2)

               Duty Cycle=(CCPRxL:CCP1CON(5:4))*Tosc*(V. predivisor TMR2)




Prof. Luis Zurita                                                      Microcontroladores II
IUT Cumaná



                                 SEÑAL PWM
               La resolución máxima en bits viene dada por:




                    Nota: Si el valor del duty cycle de la PWM es más
                    largo que el período de la PWM, el pin CCP1 no
                    podrá ser puesto a cero




Prof. Luis Zurita                                                   Microcontroladores II
IUT Cumaná



                    Modo PWM
       Pasos para configurar el PWM:
       1. Asignar PR2.
       2. Asignar CCPRxL y CCPxCON(5:4).
       3. Configurar RCy/CCPx de salida.
       4. Asignar Pre-divisor en T2CON.
       5. Activar TMR2 en T2CON.
       6. Configurar CCPx en modo PWM.

Prof. Luis Zurita                          Microcontroladores II
IUT Cumaná



                                     CCP1CON
         U-0        U-0     R/W-0    R/W-0    R/W-0    R/W-0     R/W-0    R/W-0
             ---             CCP1X    CCP1Y   CCP1M3    CCP1M2 CCP1M1     CCP1M0


         Bit 7                                                            Bit 0


               Bit 7-6: No implementados: Se lee como "0"
               Bit 5-4: CCP1X: CCP1Y: bit menos significativos de PWM
               Modo Captura sin usar
               Modo Comparación sin usar
               Modo PWM: Estos dos bit son los menos significativos del ciclo
           de PWM.
               Los ocho bits más significativos se encuentran en CCPR1L.
               Bit 3-0: CCP1M3-.CCP1M0; bit de selección del modo de
           trabajo del módulo comparador CCP1.



Prof. Luis Zurita                                                         Microcontroladores II
IUT Cumaná



                    CCP1CON




Prof. Luis Zurita             Microcontroladores II
IUT Cumaná



                    TABLAS MÓDULO CCP
                      Modo CCP     Recurso de Timer
                       Captura         Timer1
                     Comparación       Timer1
                        PWM            Timer2




Prof. Luis Zurita                                     Microcontroladores II
IUT Cumaná

                             EJERCICIOS CCP                   Captura:
                                                           Medir período,
                          Se configuran los bancos            Ton, Toff
 Zona de Configuración




                         Se configura el módulo CCP         Comparación:
                                                           Setpoint 16 bits
                             Se configuran las                 PWM:
                                                            Genera señal
                          Interrupciones (opcional)
                                                              Captura:
                            Se regresa al Banco 0          Comparaciones
                                                             Y acciones
                             Resto del programa             Comparación:
                         (Tratamiento de la información)    Acción sobre RCx
                                                                PWM:
                                                           En base a acción
                                                            Generar Señal
Prof. Luis Zurita                                                 Microcontroladores II
MÓDULO CCP EN LENGUAJE C                            IUT Cumaná



          El compilador C contiene un conjunto de funciones para el
      manejo del módulo CCP.
   • Para leer el contenido de un módulo CCP se utiliza:
      valor=CCP_x;
      donde valor es un entero de 16 bits que se carga con el valor del
      CCP respectivo.
   • Para escribir el contenido de un módulo CCP se utiliza:
      CCP_x=valor;
      donde valor es un entero de 16 bits que se carga con el valor del
      CCP respectivo.
   • Configuración del módulo CCPX:
   setup_ccpx (modo);
   modo hace referencia a los bits CCPxM3:CCPxM0 del registro
      CCPxCON.
   El modo permite configurar al PIC para que trabaje en modo PWM,
      Captura o comparación.
Prof. Luis Zurita                                            Microcontroladores II
MÓDULO CCP EN LENGUAJE C                               IUT Cumaná




Setup_CCPx(modo)            Modo                           Registro CCPxCON
CCP_OFF                     Deshabilitación                00000000
CCP_CAPTURE_FE              Captura por flanco de bajada   00000100
CCP_CAPTURE_RE              Captura por flanco de subida   00000101
CCP_CAPTURE_DIV_4           Captura cada 4 pulsos          00000110
CCP_CAPTURE_DIV_16          Captura cada 16 pulsos         00000111
CCP_COMPARE_SET_ON_MATCH    Salida a 1 en comparación      00001000
CCP_COMPARE_CLR_ON_MATCH Salida a 0 en comparación         00001001
CCP_COMPARE_INT             Interrupción en comparación 00001010
CCP_COMPARE_RESET_TIMER     Reset TMR1 en comparación      00001011
CCP_PWM                     Modo PWM habilitado            00001100




Prof. Luis Zurita                                               Microcontroladores II
MÓDULO CCP EN LENGUAJE C                        IUT Cumaná




       • Los valores para comparar se fijan en los registros
         CCPRx. En el compilador C, estos registros están
         definidos en el fichero include, por ejemplo para el
         16F87x.h:
                    long CCP_1;             long CCP_2;
                    #byte CCP_1=0x15        #byte CCP_2=0x1B
                    #byte CCP_1_LOW=0x15    #byte CCP_2_LOW=0x1B
                    #byte CCP_1_HIGH=0x16   #byte CCP_2_HIGH=0x1C
      set_pwmx_duty(valor);
        valor: dato de 8 o 16 bits que determina el ciclo de
        trabajo. Este valor, junto con el valor del preescaler del
        TMR2, determina el valor del ciclo de trabajo. En la
        configuración del TIMER2, el postcaler debe valer 1.
Prof. Luis Zurita                                              Microcontroladores II
Ejercicio 1. Medición de Período de una señal                                             IUT Cumaná
       #include <16f877A.h>
       #fuses XT,NOWDT,NOPROTECT,NOLVP
       #use delay(clock=4000000)
       #define use_portD_lcd_true
       #include <lcd.c>
       #byte PIR1=0x0C
       int1 nuevopulso=0;             //Entra otro pulso
       int16 TFF=0,TFI=0,TFTOTAL=0;   //Tiempo flancos
       float APERIODO=0.0;            //Valor final del ancho de pulso
       int1 cambio=0;                 //Cambio de flanco de disparo
       #int_ccp1                      //Función interrupción por Captura
       void ccp1_int(){
         if(cambio==0){               //Flanco de subida. Lectura inicial
           TFI=CCP_1;                 //Carga del valor del registro CCPR1 en flanco subida
                   //setup_ccp1(CCP_CAPTURE_FE); //Configuración modo Captura en flanco de bajada
           cambio=1;                  //Control de cambio de flanco inicial a final
         } else {                     //Flanco Final
         TFF=CCP_1;                   //Carga del valor del registro CCPR1 en flanco bajada
                   //setup_ccp1(CCP_CAPTURE_RE); //Configuración modo Captura en flanco de subida
           cambio=0;                  //Control de cambio de flanco
         if(nuevopulso==0){           //Fin de pulso...
          nuevopulso=1;               //pulso a medir
          }
         }
       }
Prof. Luis Zurita                                                                       Microcontroladores II
Ejercicio 1. Medición de Período de una señal                                    IUT Cumaná



       void main() {

             lcd_init();
             setup_timer_1(T1_INTERNAL);      //Configuración TMR1
             setup_ccp1(CCP_CAPTURE_RE);
                            //Configuración modo Captura en flanco de subida
             cambio = 0;                      //Control de cambio a 0
             enable_interrupts(int_ccp1);     //Habilitación interrupción modulo CCP
             enable_interrupts(global);       //Habilitación interrupción global

           while(true) {
             if(nuevopulso==1){                     //¿Pulso nuevo?
                      TFTOTAL=(TFF-TFI);            //Período total.
               APERIODO = TFTOTAL*1.0; //Período total en microsegundos (a 4MHz:1us)
               printf(lcd_putc,"fMED. FRECUENCIAn");
                      printf(lcd_putc,"T = %6.1fuS ", APERIODO);
               nuevopulso=0;                        //Periodo medido, espera nuevo
            }
           }
       }

Prof. Luis Zurita                                                                Microcontroladores II
Ejercicio 1. Medición de Período de una señal       IUT Cumaná




Prof. Luis Zurita                                 Microcontroladores II
Ejercicio 2. Generación de una señal cuadrada
  mediante la Comparación con el CCP2
                                                                  IUT Cumaná




       • El CCP en modo comparación, compara
         continuamente el valor del TIMER1 con el valor
         precargado en el registro CCPR2H:L; Cuando son
         iguales se produce un cambio de nivel en el pin CCP
         correspondiente y se puede activar la interrupción
         por comparación del módulo CCP si la misma ha sido
         habilitada.
       • En cada cambio de nivel del pin CCP se debe cargar el
         valor para obtener una señal cuadrada con un duty
         del 50%. Haga los cálculos para generar una señal de
         2 kHz.

Prof. Luis Zurita                                      Microcontroladores II
Ejercicio 2. Generación de una señal cuadrada
  mediante la Comparación con el CCP2
                                                                                                          IUT Cumaná




       #include <16f877A.h>
       #fuses XT,NOWDT,NOPROTECT,NOLVP
       int1 cambio=0;      //Variable de control de cambio
       #int_ccp2
       void ccp2_int(){     //Función de interrupción
         if(++cambio==1){    //cambio++;
           setup_ccp2(CCP_COMPARE_CLR_ON_MATCH); //Modo Comparación, cambio a 0
         } else{
           setup_ccp2(CCP_COMPARE_SET_ON_MATCH); //Modo Comparación, cambio a 1
         }
         set_timer1(0);               //Borrado de TMR1
         CCP_2 = 199;               //Inicialización del registro CCPR2 para un Duty del 50%
       }
       void main() {
       disable_interrupts(global);
       setup_timer_1(T1_INTERNAL | T1_DIV_BY_1); //Configuración TMR1
       setup_ccp2(CCP_COMPARE_SET_ON_MATCH); //Configuración inicial modulo CCP
       CCP_2 = 199;                //Inicialización del registro CCPR2 para un Duty del 50%
       enable_interrupts(int_ccp2); //Habilitación interrupción modulo CCP2
       enable_interrupts(global);      //Habilitación interrupción general
             while (TRUE){
             }
        }
Prof. Luis Zurita                                                                              Microcontroladores II
Ejercicio 2. Generación de una señal cuadrada
  mediante la Comparación con el CCP2
                                                      IUT Cumaná




Prof. Luis Zurita                          Microcontroladores II
Ejercicio 3. Generación de una señal PWM
  mediante el CCP1
                                                                      IUT Cumaná




       • En el siguiente ejercicio se va a generar una señal PWM
          con cuatro coeficientes cíclicos distintos que dependen
          de dos interruptores que seleccionan el modo de la señal
          (25%, 50%, 60% y 80%). El modo elegido debe mostrarse
          en una pantalla LCD:
       #include <16F877A.h>
       #fuses XT,NOWDT,NOPROTECT,NOLVP
       #use delay(clock=4000000)
       #use fast_io(c)
       #use fast_io(d)
       #use standard_io(a)
       #define use_portd_lcd_true
       #include <lcd.c>
       byte A=0;
Prof. Luis Zurita                                          Microcontroladores II
Ejercicio 3. Generación de una señal PWM
  mediante el CCP1. Continuación.
                                                                                        IUT Cumaná




       void main(){                                   set_pwm1_duty(0x2EE);
           set_tris_c(0xF0);                          printf(lcd_putc,"fPORC= 60");
           set_tris_d(0x00);                          break;
           setup_timer_2(T2_DIV_BY_1,224,1);          case (3):
           setup_ccp1(CCP_PWM);                       set_pwm1_duty(0x304);
           lcd_init();                                printf(lcd_putc,"fPORC= 80");
           while(TRUE){                               break;}
                 A=input_a();                         }
                 switch(A){                       }
                 case (0):
                 set_pwm1_duty(0xC8);
                 printf(lcd_putc,"fPORC= 25");
                 break;
                 case (1):
                 set_pwm1_duty(0x1F4);
                 printf(lcd_putc,"fPORC= 50");
                 break;
                 case (2):


Prof. Luis Zurita                                                            Microcontroladores II
Ejercicio 3. Generación de una señal PWM
  mediante el CCP1
                                                 IUT Cumaná




Prof. Luis Zurita                     Microcontroladores II
Ejercicio 3. Generación de una señal PWM
  mediante el CCP1
                                                 IUT Cumaná




Prof. Luis Zurita                     Microcontroladores II
Ejercicio 3. Generación de una señal PWM
  mediante el CCP1
                                                 IUT Cumaná




Prof. Luis Zurita                     Microcontroladores II
Ejercicio 3. Generación de una señal PWM
  mediante el CCP1
                                                 IUT Cumaná




Prof. Luis Zurita                     Microcontroladores II
IUT Cumaná



           EJERCICIO CCP1 COMPARACIÓN

       • Configure    el    Módulo     CCP  en   modo
         Comparación, donde:
       • El TMR1 está configurado para contar pulsos
         externos, con un prescaler 1:1, flanco
         ascendente.
       • Se debe cargar CCPR1L con la constante
         Ncompar, y producir una interrupción cada vez
         que se alcanza el valor fijado.
       • Al ocurrir esto, RB0 cambia de estado.
       • RC2, no debe modificar su valor.

Prof. Luis Zurita                               Microcontroladores II
IUT Cumaná



                    EJERCICIO CCP1 CAPTURA
       • Realice la medición de la duración de un pulso en alto.
       • Emplear el módulo CCP1 y capturar el valor del TMR1
         cada vez que llegue un flanco ascendente y otro
         descendente por la línea RC2/CCP1. Conocida la
         velocidad a la que evoluciona el TMR1, se puede
         determinar la duración del tiempo transcurrido entre
         ambos flancos, lo que nos dará la anchura del pulso.
       • Configure al Timer1 con reloj interno y prescaler 1:1,
         para obtener medida máxima de período= 65,536 ms.
       • Cambie la orden de captura de ascendente a
         descendente al ocurrir la primera captura. (Dentro de
         la RSI).


Prof. Luis Zurita                                        Microcontroladores II
IUT Cumaná



                       EJERCICIO PWM
       • Generar una señal de onda cuadrada por la línea
         RC2/CCP1 cuyo periodo puede ser modificado así como
         la anchura del pulso (Duty Cycle).
       • Utilice las siguientes fórmulas
               – (Período) T=(PR2+1)*4*Tosc*TMR2 preescaler.
               – (Duty Cycle)=
               – (DC)=(CCPR1L:CCPCON1<5:4>)*Tosc*TMR2 preescaler.
       • La señal de salida tiene un periodo determinado por la
         constante "Periodo" y una anchura "Duty Cycle”
         determinada por la constante "Duty"




Prof. Luis Zurita                                               Microcontroladores II

Más contenido relacionado

La actualidad más candente

Sistema psk & qpsk
Sistema psk &  qpskSistema psk &  qpsk
Sistema psk & qpskIsrael Chala
 
multivibradores Monoestable y astable
multivibradores Monoestable y astablemultivibradores Monoestable y astable
multivibradores Monoestable y astableMIGUELBERNAL1998
 
Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2Alejandro Garcia
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Luis Zurita
 
Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno SANTIAGO PABLO ALBERTO
 
PLC: Controladores lógicos programables, folleto de apuntes y ejercicios
PLC: Controladores lógicos programables, folleto de apuntes y ejerciciosPLC: Controladores lógicos programables, folleto de apuntes y ejercicios
PLC: Controladores lógicos programables, folleto de apuntes y ejerciciosSANTIAGO PABLO ALBERTO
 
MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2Luis Zurita
 
Makalah phase shift keying
Makalah phase shift keyingMakalah phase shift keying
Makalah phase shift keyingampas03
 
Módulos ccp pic 16f887
Módulos ccp pic 16f887Módulos ccp pic 16f887
Módulos ccp pic 16f887whendygarcia
 
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR KEN KEN
 
Telekomunikasi Analog dan Digital - Slide week 7 derau dalam sistem komunikasi
Telekomunikasi Analog dan Digital - Slide week 7   derau dalam sistem komunikasiTelekomunikasi Analog dan Digital - Slide week 7   derau dalam sistem komunikasi
Telekomunikasi Analog dan Digital - Slide week 7 derau dalam sistem komunikasiBeny Nugraha
 
Informe practica 6 transistor bipolar de corriente directa 2n2222
Informe practica 6 transistor bipolar de corriente directa 2n2222Informe practica 6 transistor bipolar de corriente directa 2n2222
Informe practica 6 transistor bipolar de corriente directa 2n2222derincampos19
 

La actualidad más candente (20)

Sistema psk & qpsk
Sistema psk &  qpskSistema psk &  qpsk
Sistema psk & qpsk
 
multivibradores Monoestable y astable
multivibradores Monoestable y astablemultivibradores Monoestable y astable
multivibradores Monoestable y astable
 
Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4
 
Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno
 
Tema 5 amplificadores
Tema 5 amplificadoresTema 5 amplificadores
Tema 5 amplificadores
 
PLC: Controladores lógicos programables, folleto de apuntes y ejercicios
PLC: Controladores lógicos programables, folleto de apuntes y ejerciciosPLC: Controladores lógicos programables, folleto de apuntes y ejercicios
PLC: Controladores lógicos programables, folleto de apuntes y ejercicios
 
MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2
 
Reloj digital
Reloj digitalReloj digital
Reloj digital
 
Amplificación transistor
Amplificación transistorAmplificación transistor
Amplificación transistor
 
Makalah phase shift keying
Makalah phase shift keyingMakalah phase shift keying
Makalah phase shift keying
 
Módulos ccp pic 16f887
Módulos ccp pic 16f887Módulos ccp pic 16f887
Módulos ccp pic 16f887
 
Konsep Telemetri
Konsep TelemetriKonsep Telemetri
Konsep Telemetri
 
Practica 7 Flip Flop
Practica 7 Flip FlopPractica 7 Flip Flop
Practica 7 Flip Flop
 
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
 
Telekomunikasi Analog dan Digital - Slide week 7 derau dalam sistem komunikasi
Telekomunikasi Analog dan Digital - Slide week 7   derau dalam sistem komunikasiTelekomunikasi Analog dan Digital - Slide week 7   derau dalam sistem komunikasi
Telekomunikasi Analog dan Digital - Slide week 7 derau dalam sistem komunikasi
 
practica2completa
practica2completapractica2completa
practica2completa
 
Scr, triac y diac
Scr, triac y diacScr, triac y diac
Scr, triac y diac
 
Convertidor boost
Convertidor boostConvertidor boost
Convertidor boost
 
Informe practica 6 transistor bipolar de corriente directa 2n2222
Informe practica 6 transistor bipolar de corriente directa 2n2222Informe practica 6 transistor bipolar de corriente directa 2n2222
Informe practica 6 transistor bipolar de corriente directa 2n2222
 

Destacado

Microcontroladores ii en c. tema 4
Microcontroladores ii en c. tema 4Microcontroladores ii en c. tema 4
Microcontroladores ii en c. tema 4Luis Zurita
 
MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5Luis Zurita
 
MANEJO DE PERIFERICOS PARA MICROCONTROLADORES EN C
MANEJO DE PERIFERICOS PARA MICROCONTROLADORES EN CMANEJO DE PERIFERICOS PARA MICROCONTROLADORES EN C
MANEJO DE PERIFERICOS PARA MICROCONTROLADORES EN CLuis Zurita
 
Curso Micro Tema 3
Curso Micro Tema 3Curso Micro Tema 3
Curso Micro Tema 3Luis Zurita
 
GUÍA MPLAB 8.53
GUÍA MPLAB 8.53GUÍA MPLAB 8.53
GUÍA MPLAB 8.53Luis Zurita
 
Curso Micro Tema 5
Curso Micro Tema 5Curso Micro Tema 5
Curso Micro Tema 5Luis Zurita
 
Curso Micro Tema 4
Curso Micro Tema 4Curso Micro Tema 4
Curso Micro Tema 4Luis Zurita
 
Curso Micro Tema 3 2
Curso Micro Tema 3 2Curso Micro Tema 3 2
Curso Micro Tema 3 2Luis Zurita
 
Curso Micro Tema 1
Curso Micro Tema 1Curso Micro Tema 1
Curso Micro Tema 1Luis Zurita
 
Manejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladoreManejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladoreLuis Zurita
 
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4Luis Zurita
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Luis Zurita
 
TEMA 2 DE INSTRUMENTACION 3
TEMA 2 DE INSTRUMENTACION 3TEMA 2 DE INSTRUMENTACION 3
TEMA 2 DE INSTRUMENTACION 3Luis Zurita
 
Modulos ccp v2(ring telefono)
Modulos ccp v2(ring telefono)Modulos ccp v2(ring telefono)
Modulos ccp v2(ring telefono)panchito24mayo
 

Destacado (20)

Ccp2009170309
Ccp2009170309Ccp2009170309
Ccp2009170309
 
Microcontroladores ii en c. tema 4
Microcontroladores ii en c. tema 4Microcontroladores ii en c. tema 4
Microcontroladores ii en c. tema 4
 
MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5
 
MANEJO DE PERIFERICOS PARA MICROCONTROLADORES EN C
MANEJO DE PERIFERICOS PARA MICROCONTROLADORES EN CMANEJO DE PERIFERICOS PARA MICROCONTROLADORES EN C
MANEJO DE PERIFERICOS PARA MICROCONTROLADORES EN C
 
Curso Micro Tema 3
Curso Micro Tema 3Curso Micro Tema 3
Curso Micro Tema 3
 
Tema3 Microii
Tema3 MicroiiTema3 Microii
Tema3 Microii
 
GUÍA MPLAB 8.53
GUÍA MPLAB 8.53GUÍA MPLAB 8.53
GUÍA MPLAB 8.53
 
Curso Micro Tema 5
Curso Micro Tema 5Curso Micro Tema 5
Curso Micro Tema 5
 
Curso Micro Tema 4
Curso Micro Tema 4Curso Micro Tema 4
Curso Micro Tema 4
 
Curso Micro Tema 3 2
Curso Micro Tema 3 2Curso Micro Tema 3 2
Curso Micro Tema 3 2
 
Micro2 tema 3
Micro2 tema 3Micro2 tema 3
Micro2 tema 3
 
Curso Micro Tema 1
Curso Micro Tema 1Curso Micro Tema 1
Curso Micro Tema 1
 
Manejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladoreManejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladore
 
Micro2 tema 4
Micro2 tema 4Micro2 tema 4
Micro2 tema 4
 
Micro2 tema 5
Micro2 tema 5Micro2 tema 5
Micro2 tema 5
 
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2
 
TEMA 2 DE INSTRUMENTACION 3
TEMA 2 DE INSTRUMENTACION 3TEMA 2 DE INSTRUMENTACION 3
TEMA 2 DE INSTRUMENTACION 3
 
6. pwm ccp
6. pwm ccp6. pwm ccp
6. pwm ccp
 
Modulos ccp v2(ring telefono)
Modulos ccp v2(ring telefono)Modulos ccp v2(ring telefono)
Modulos ccp v2(ring telefono)
 

Similar a MICROCONTROLADORES II EN C. TEMA 3

Similar a MICROCONTROLADORES II EN C. TEMA 3 (20)

Ccpx
CcpxCcpx
Ccpx
 
Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07
 
Compare capture pwm mode 5
Compare capture pwm mode 5Compare capture pwm mode 5
Compare capture pwm mode 5
 
Pwm
PwmPwm
Pwm
 
preinforme PWM
preinforme PWMpreinforme PWM
preinforme PWM
 
Ejemplos De Ccp
Ejemplos De CcpEjemplos De Ccp
Ejemplos De Ccp
 
Ejercicio 07 Timers
Ejercicio 07 TimersEjercicio 07 Timers
Ejercicio 07 Timers
 
Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887
 
In terrupciones pic
In terrupciones picIn terrupciones pic
In terrupciones pic
 
final PWM
final PWMfinal PWM
final PWM
 
Micro2 tema 2
Micro2 tema 2Micro2 tema 2
Micro2 tema 2
 
Clase Timer 1
Clase Timer 1Clase Timer 1
Clase Timer 1
 
Arquitectura interna micro
Arquitectura interna microArquitectura interna micro
Arquitectura interna micro
 
Timers
TimersTimers
Timers
 
Control nivel luz
Control nivel luzControl nivel luz
Control nivel luz
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06
 
Introduccionpwm
IntroduccionpwmIntroduccionpwm
Introduccionpwm
 
Microcontroladores tabla de referencia
Microcontroladores tabla de referenciaMicrocontroladores tabla de referencia
Microcontroladores tabla de referencia
 
Implementacion del 16F84A
Implementacion del 16F84AImplementacion del 16F84A
Implementacion del 16F84A
 
TEMA 5 PROGRAMACION DEL MODULO CCP DEL MICROCONTROLADOR.pdf
TEMA 5 PROGRAMACION DEL MODULO CCP DEL MICROCONTROLADOR.pdfTEMA 5 PROGRAMACION DEL MODULO CCP DEL MICROCONTROLADOR.pdf
TEMA 5 PROGRAMACION DEL MODULO CCP DEL MICROCONTROLADOR.pdf
 

Más de Luis Zurita

TALLER NORMAS APA
TALLER NORMAS APATALLER NORMAS APA
TALLER NORMAS APALuis Zurita
 
PROTOCOLO MODBUS
PROTOCOLO MODBUSPROTOCOLO MODBUS
PROTOCOLO MODBUSLuis Zurita
 
Guía rápidalcd y teclado
Guía rápidalcd y tecladoGuía rápidalcd y teclado
Guía rápidalcd y tecladoLuis Zurita
 
Grupos micro2 13
Grupos micro2 13Grupos micro2 13
Grupos micro2 13Luis Zurita
 
Notas def electronica
Notas def electronicaNotas def electronica
Notas def electronicaLuis Zurita
 
Notas proyecto3 iyc
Notas proyecto3 iycNotas proyecto3 iyc
Notas proyecto3 iycLuis Zurita
 
Notas definitivas iyc2013
Notas definitivas iyc2013Notas definitivas iyc2013
Notas definitivas iyc2013Luis Zurita
 
Proyecto 2 electronica
Proyecto 2 electronicaProyecto 2 electronica
Proyecto 2 electronicaLuis Zurita
 
Acumuladas electronica
Acumuladas electronicaAcumuladas electronica
Acumuladas electronicaLuis Zurita
 
Proyecto2 notas iyc2013
Proyecto2 notas iyc2013Proyecto2 notas iyc2013
Proyecto2 notas iyc2013Luis Zurita
 
Acumuladas iyc2013
Acumuladas iyc2013Acumuladas iyc2013
Acumuladas iyc2013Luis Zurita
 

Más de Luis Zurita (20)

TALLER NORMAS APA
TALLER NORMAS APATALLER NORMAS APA
TALLER NORMAS APA
 
PROTOCOLO MODBUS
PROTOCOLO MODBUSPROTOCOLO MODBUS
PROTOCOLO MODBUS
 
Guía rápidalcd y teclado
Guía rápidalcd y tecladoGuía rápidalcd y teclado
Guía rápidalcd y teclado
 
Pevmicroi ieo
Pevmicroi ieoPevmicroi ieo
Pevmicroi ieo
 
Pevmicroii13 2
Pevmicroii13 2Pevmicroii13 2
Pevmicroii13 2
 
Pevmicro1 t2 13
Pevmicro1 t2 13Pevmicro1 t2 13
Pevmicro1 t2 13
 
Pev electronica
Pev electronicaPev electronica
Pev electronica
 
Grupos micro2 13
Grupos micro2 13Grupos micro2 13
Grupos micro2 13
 
Pevmicro1 t2 13
Pevmicro1 t2 13Pevmicro1 t2 13
Pevmicro1 t2 13
 
Micro2 tema 1
Micro2 tema 1Micro2 tema 1
Micro2 tema 1
 
Pevmicroii13 2
Pevmicroii13 2Pevmicroii13 2
Pevmicroii13 2
 
Notas def electronica
Notas def electronicaNotas def electronica
Notas def electronica
 
Notas proyecto3 iyc
Notas proyecto3 iycNotas proyecto3 iyc
Notas proyecto3 iyc
 
Notas definitivas iyc2013
Notas definitivas iyc2013Notas definitivas iyc2013
Notas definitivas iyc2013
 
Proyecto 2 electronica
Proyecto 2 electronicaProyecto 2 electronica
Proyecto 2 electronica
 
Acumuladas electronica
Acumuladas electronicaAcumuladas electronica
Acumuladas electronica
 
Pevmicro2013
Pevmicro2013Pevmicro2013
Pevmicro2013
 
Proyecto2 notas iyc2013
Proyecto2 notas iyc2013Proyecto2 notas iyc2013
Proyecto2 notas iyc2013
 
Acumuladas iyc2013
Acumuladas iyc2013Acumuladas iyc2013
Acumuladas iyc2013
 
TMR0 Y RB0_INT
TMR0 Y RB0_INTTMR0 Y RB0_INT
TMR0 Y RB0_INT
 

Último

Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfJonathanCovena1
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!CatalinaAlfaroChryso
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOPsicoterapia Holística
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
Linea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docxLinea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docxEnriqueLineros1
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxhenarfdez
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...JAVIER SOLIS NOYOLA
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 

Último (20)

Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Linea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docxLinea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 

MICROCONTROLADORES II EN C. TEMA 3

  • 1. IUT Cumaná MICROCONTROLADORES II MÓDULO CCP (CAPTURA/COMPARACIÓN/PWM) PROF. LUIS ZURITA
  • 2. IUT Cumaná MODO CAPTURA • En este modo CCP1 y CCP2 funcionan de forma idéntica. (En los nombres de registros a continuación x=1,2) • En este modo la pareja de registros CCPRxH:CCPRxL captura el valor de 16 bits que contiene TMR1 cuando sucede un evento en la pata RCy/CCPx del PORTC (estos pines deben configurarse como entradas con un 1 en TRISC). • Los eventos son los configurados en CCPxM3:CCPxM0 del registro de control CCPxCON, para el modo Captura. • Al realizar la captura se activa el bit de interrupción CCPxIF y si la interrupción está habilitada mediante CCPxIE, se genera una interrupción al cargar el CCPRxH:CCPRxL con TMR1. • TMR1 en este modo debe estar configurado como temporizador o contador síncrono, nunca en modo asíncrono. • Al cambiar la condiciones de funcionamiento dentro del modo captura conviene desactivar el módulo primero. Prof. Luis Zurita Microcontroladores II
  • 3. IUT Cumaná FLUJOGRAMA CCP1 CAPTURA Prof. Luis Zurita Microcontroladores II
  • 4. IUT Cumaná MODO COMPARACIÓN • Los registros CCPRxH:CCPRxL comparan su valor de forma continua con el valor de TMR1. Cuando coinciden el pin RCy/CCPx del PORTC (configurado como salida) sufre un evento. • Los eventos son los configurados en CCPxM3:CCPxM0 del registro de control CCPxCON para el modo Comparación. • Al coincidir CCPRxH:CCPRxL y TMR1 se activa el bit de interrupción CCPxIF y si la interrupción está habilitada mediante CCPxIE, se genera un interrupción. • TMR1 en este modo debe estar configurado como temporizador o contador síncrono, nunca en modo asíncrono. • Si se ha seleccionado el modo disparo especial, el módulo CCP1 y CCP2 realizan tareas distintas. El CCP1 pone a 0 el TMR1 y el CCPR1 funciona como un Registro de Período capaz de generar periódicamente interrupciones. El CCP2 pone a 0 el TMR1 y además inicia una conversión del A/D, con lo que se pueden realizar conversiones periódicas. Aunque TMR1=0 no se genera interrupción del timer1. Prof. Luis Zurita Microcontroladores II
  • 5. IUT Cumaná FLUJOGRAMA CCP1 COMPARACIÓN Prof. Luis Zurita Microcontroladores II
  • 6. IUT Cumaná MODO PWM • Con este modo se consiguen impulsos, cuya anchura de nivel alto es de duración variable y sirven para control de motores y generación de señales. • Se utiliza un módulo CCP, el timer2 y un pin RCy/CCPx de salida. • El comparador entre el valor PR2 y TMR2 cuando detecta la igualdad: 1. Activa ‘1’ el flip-flop de salida. 2. Resetea TMR2. 3. El valor de CCPRxL se carga en CCPRxH. • El periodo de la señal se calcula como: Periodo=[(PR2)+1]*4*Tosc*(Valor predivisor TMR2) • Se comparan los valores de 10 bits ([CCPRxH:CCP1CON(5:4)]) y TMR2 concatenados con los dos bits de menor peso del reloj interno) cuando son iguales: 1. Desactiva ‘0’ el flip-flop de salida. 2. No resetea TMR2 • El ciclo activo es: Ancho pulso=(CCPRxL:CCP1CON(5:4))*Tosc*(V. predivisor TMR2) Prof. Luis Zurita Microcontroladores II
  • 7. IUT Cumaná FLUJOGRAMA PWM Prof. Luis Zurita Microcontroladores II
  • 8. IUT Cumaná SEÑAL PWM Periodo=[(PR2)+1]*4*Tosc*(Valor predivisor TMR2) Duty Cycle=(CCPRxL:CCP1CON(5:4))*Tosc*(V. predivisor TMR2) Prof. Luis Zurita Microcontroladores II
  • 9. IUT Cumaná SEÑAL PWM La resolución máxima en bits viene dada por: Nota: Si el valor del duty cycle de la PWM es más largo que el período de la PWM, el pin CCP1 no podrá ser puesto a cero Prof. Luis Zurita Microcontroladores II
  • 10. IUT Cumaná Modo PWM Pasos para configurar el PWM: 1. Asignar PR2. 2. Asignar CCPRxL y CCPxCON(5:4). 3. Configurar RCy/CCPx de salida. 4. Asignar Pre-divisor en T2CON. 5. Activar TMR2 en T2CON. 6. Configurar CCPx en modo PWM. Prof. Luis Zurita Microcontroladores II
  • 11. IUT Cumaná CCP1CON U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 --- CCP1X CCP1Y CCP1M3 CCP1M2 CCP1M1 CCP1M0 Bit 7 Bit 0 Bit 7-6: No implementados: Se lee como "0" Bit 5-4: CCP1X: CCP1Y: bit menos significativos de PWM Modo Captura sin usar Modo Comparación sin usar Modo PWM: Estos dos bit son los menos significativos del ciclo de PWM. Los ocho bits más significativos se encuentran en CCPR1L. Bit 3-0: CCP1M3-.CCP1M0; bit de selección del modo de trabajo del módulo comparador CCP1. Prof. Luis Zurita Microcontroladores II
  • 12. IUT Cumaná CCP1CON Prof. Luis Zurita Microcontroladores II
  • 13. IUT Cumaná TABLAS MÓDULO CCP Modo CCP Recurso de Timer Captura Timer1 Comparación Timer1 PWM Timer2 Prof. Luis Zurita Microcontroladores II
  • 14. IUT Cumaná EJERCICIOS CCP Captura: Medir período, Se configuran los bancos Ton, Toff Zona de Configuración Se configura el módulo CCP Comparación: Setpoint 16 bits Se configuran las PWM: Genera señal Interrupciones (opcional) Captura: Se regresa al Banco 0 Comparaciones Y acciones Resto del programa Comparación: (Tratamiento de la información) Acción sobre RCx PWM: En base a acción Generar Señal Prof. Luis Zurita Microcontroladores II
  • 15. MÓDULO CCP EN LENGUAJE C IUT Cumaná El compilador C contiene un conjunto de funciones para el manejo del módulo CCP. • Para leer el contenido de un módulo CCP se utiliza: valor=CCP_x; donde valor es un entero de 16 bits que se carga con el valor del CCP respectivo. • Para escribir el contenido de un módulo CCP se utiliza: CCP_x=valor; donde valor es un entero de 16 bits que se carga con el valor del CCP respectivo. • Configuración del módulo CCPX: setup_ccpx (modo); modo hace referencia a los bits CCPxM3:CCPxM0 del registro CCPxCON. El modo permite configurar al PIC para que trabaje en modo PWM, Captura o comparación. Prof. Luis Zurita Microcontroladores II
  • 16. MÓDULO CCP EN LENGUAJE C IUT Cumaná Setup_CCPx(modo) Modo Registro CCPxCON CCP_OFF Deshabilitación 00000000 CCP_CAPTURE_FE Captura por flanco de bajada 00000100 CCP_CAPTURE_RE Captura por flanco de subida 00000101 CCP_CAPTURE_DIV_4 Captura cada 4 pulsos 00000110 CCP_CAPTURE_DIV_16 Captura cada 16 pulsos 00000111 CCP_COMPARE_SET_ON_MATCH Salida a 1 en comparación 00001000 CCP_COMPARE_CLR_ON_MATCH Salida a 0 en comparación 00001001 CCP_COMPARE_INT Interrupción en comparación 00001010 CCP_COMPARE_RESET_TIMER Reset TMR1 en comparación 00001011 CCP_PWM Modo PWM habilitado 00001100 Prof. Luis Zurita Microcontroladores II
  • 17. MÓDULO CCP EN LENGUAJE C IUT Cumaná • Los valores para comparar se fijan en los registros CCPRx. En el compilador C, estos registros están definidos en el fichero include, por ejemplo para el 16F87x.h: long CCP_1; long CCP_2; #byte CCP_1=0x15 #byte CCP_2=0x1B #byte CCP_1_LOW=0x15 #byte CCP_2_LOW=0x1B #byte CCP_1_HIGH=0x16 #byte CCP_2_HIGH=0x1C set_pwmx_duty(valor); valor: dato de 8 o 16 bits que determina el ciclo de trabajo. Este valor, junto con el valor del preescaler del TMR2, determina el valor del ciclo de trabajo. En la configuración del TIMER2, el postcaler debe valer 1. Prof. Luis Zurita Microcontroladores II
  • 18. Ejercicio 1. Medición de Período de una señal IUT Cumaná #include <16f877A.h> #fuses XT,NOWDT,NOPROTECT,NOLVP #use delay(clock=4000000) #define use_portD_lcd_true #include <lcd.c> #byte PIR1=0x0C int1 nuevopulso=0; //Entra otro pulso int16 TFF=0,TFI=0,TFTOTAL=0; //Tiempo flancos float APERIODO=0.0; //Valor final del ancho de pulso int1 cambio=0; //Cambio de flanco de disparo #int_ccp1 //Función interrupción por Captura void ccp1_int(){ if(cambio==0){ //Flanco de subida. Lectura inicial TFI=CCP_1; //Carga del valor del registro CCPR1 en flanco subida //setup_ccp1(CCP_CAPTURE_FE); //Configuración modo Captura en flanco de bajada cambio=1; //Control de cambio de flanco inicial a final } else { //Flanco Final TFF=CCP_1; //Carga del valor del registro CCPR1 en flanco bajada //setup_ccp1(CCP_CAPTURE_RE); //Configuración modo Captura en flanco de subida cambio=0; //Control de cambio de flanco if(nuevopulso==0){ //Fin de pulso... nuevopulso=1; //pulso a medir } } } Prof. Luis Zurita Microcontroladores II
  • 19. Ejercicio 1. Medición de Período de una señal IUT Cumaná void main() { lcd_init(); setup_timer_1(T1_INTERNAL); //Configuración TMR1 setup_ccp1(CCP_CAPTURE_RE); //Configuración modo Captura en flanco de subida cambio = 0; //Control de cambio a 0 enable_interrupts(int_ccp1); //Habilitación interrupción modulo CCP enable_interrupts(global); //Habilitación interrupción global while(true) { if(nuevopulso==1){ //¿Pulso nuevo? TFTOTAL=(TFF-TFI); //Período total. APERIODO = TFTOTAL*1.0; //Período total en microsegundos (a 4MHz:1us) printf(lcd_putc,"fMED. FRECUENCIAn"); printf(lcd_putc,"T = %6.1fuS ", APERIODO); nuevopulso=0; //Periodo medido, espera nuevo } } } Prof. Luis Zurita Microcontroladores II
  • 20. Ejercicio 1. Medición de Período de una señal IUT Cumaná Prof. Luis Zurita Microcontroladores II
  • 21. Ejercicio 2. Generación de una señal cuadrada mediante la Comparación con el CCP2 IUT Cumaná • El CCP en modo comparación, compara continuamente el valor del TIMER1 con el valor precargado en el registro CCPR2H:L; Cuando son iguales se produce un cambio de nivel en el pin CCP correspondiente y se puede activar la interrupción por comparación del módulo CCP si la misma ha sido habilitada. • En cada cambio de nivel del pin CCP se debe cargar el valor para obtener una señal cuadrada con un duty del 50%. Haga los cálculos para generar una señal de 2 kHz. Prof. Luis Zurita Microcontroladores II
  • 22. Ejercicio 2. Generación de una señal cuadrada mediante la Comparación con el CCP2 IUT Cumaná #include <16f877A.h> #fuses XT,NOWDT,NOPROTECT,NOLVP int1 cambio=0; //Variable de control de cambio #int_ccp2 void ccp2_int(){ //Función de interrupción if(++cambio==1){ //cambio++; setup_ccp2(CCP_COMPARE_CLR_ON_MATCH); //Modo Comparación, cambio a 0 } else{ setup_ccp2(CCP_COMPARE_SET_ON_MATCH); //Modo Comparación, cambio a 1 } set_timer1(0); //Borrado de TMR1 CCP_2 = 199; //Inicialización del registro CCPR2 para un Duty del 50% } void main() { disable_interrupts(global); setup_timer_1(T1_INTERNAL | T1_DIV_BY_1); //Configuración TMR1 setup_ccp2(CCP_COMPARE_SET_ON_MATCH); //Configuración inicial modulo CCP CCP_2 = 199; //Inicialización del registro CCPR2 para un Duty del 50% enable_interrupts(int_ccp2); //Habilitación interrupción modulo CCP2 enable_interrupts(global); //Habilitación interrupción general while (TRUE){ } } Prof. Luis Zurita Microcontroladores II
  • 23. Ejercicio 2. Generación de una señal cuadrada mediante la Comparación con el CCP2 IUT Cumaná Prof. Luis Zurita Microcontroladores II
  • 24. Ejercicio 3. Generación de una señal PWM mediante el CCP1 IUT Cumaná • En el siguiente ejercicio se va a generar una señal PWM con cuatro coeficientes cíclicos distintos que dependen de dos interruptores que seleccionan el modo de la señal (25%, 50%, 60% y 80%). El modo elegido debe mostrarse en una pantalla LCD: #include <16F877A.h> #fuses XT,NOWDT,NOPROTECT,NOLVP #use delay(clock=4000000) #use fast_io(c) #use fast_io(d) #use standard_io(a) #define use_portd_lcd_true #include <lcd.c> byte A=0; Prof. Luis Zurita Microcontroladores II
  • 25. Ejercicio 3. Generación de una señal PWM mediante el CCP1. Continuación. IUT Cumaná void main(){ set_pwm1_duty(0x2EE); set_tris_c(0xF0); printf(lcd_putc,"fPORC= 60"); set_tris_d(0x00); break; setup_timer_2(T2_DIV_BY_1,224,1); case (3): setup_ccp1(CCP_PWM); set_pwm1_duty(0x304); lcd_init(); printf(lcd_putc,"fPORC= 80"); while(TRUE){ break;} A=input_a(); } switch(A){ } case (0): set_pwm1_duty(0xC8); printf(lcd_putc,"fPORC= 25"); break; case (1): set_pwm1_duty(0x1F4); printf(lcd_putc,"fPORC= 50"); break; case (2): Prof. Luis Zurita Microcontroladores II
  • 26. Ejercicio 3. Generación de una señal PWM mediante el CCP1 IUT Cumaná Prof. Luis Zurita Microcontroladores II
  • 27. Ejercicio 3. Generación de una señal PWM mediante el CCP1 IUT Cumaná Prof. Luis Zurita Microcontroladores II
  • 28. Ejercicio 3. Generación de una señal PWM mediante el CCP1 IUT Cumaná Prof. Luis Zurita Microcontroladores II
  • 29. Ejercicio 3. Generación de una señal PWM mediante el CCP1 IUT Cumaná Prof. Luis Zurita Microcontroladores II
  • 30. IUT Cumaná EJERCICIO CCP1 COMPARACIÓN • Configure el Módulo CCP en modo Comparación, donde: • El TMR1 está configurado para contar pulsos externos, con un prescaler 1:1, flanco ascendente. • Se debe cargar CCPR1L con la constante Ncompar, y producir una interrupción cada vez que se alcanza el valor fijado. • Al ocurrir esto, RB0 cambia de estado. • RC2, no debe modificar su valor. Prof. Luis Zurita Microcontroladores II
  • 31. IUT Cumaná EJERCICIO CCP1 CAPTURA • Realice la medición de la duración de un pulso en alto. • Emplear el módulo CCP1 y capturar el valor del TMR1 cada vez que llegue un flanco ascendente y otro descendente por la línea RC2/CCP1. Conocida la velocidad a la que evoluciona el TMR1, se puede determinar la duración del tiempo transcurrido entre ambos flancos, lo que nos dará la anchura del pulso. • Configure al Timer1 con reloj interno y prescaler 1:1, para obtener medida máxima de período= 65,536 ms. • Cambie la orden de captura de ascendente a descendente al ocurrir la primera captura. (Dentro de la RSI). Prof. Luis Zurita Microcontroladores II
  • 32. IUT Cumaná EJERCICIO PWM • Generar una señal de onda cuadrada por la línea RC2/CCP1 cuyo periodo puede ser modificado así como la anchura del pulso (Duty Cycle). • Utilice las siguientes fórmulas – (Período) T=(PR2+1)*4*Tosc*TMR2 preescaler. – (Duty Cycle)= – (DC)=(CCPR1L:CCPCON1<5:4>)*Tosc*TMR2 preescaler. • La señal de salida tiene un periodo determinado por la constante "Periodo" y una anchura "Duty Cycle” determinada por la constante "Duty" Prof. Luis Zurita Microcontroladores II