Está en la página 1de 8

Módulo CCP del PIC18F4550: Modo comparación

Tomando el modulo CCP1 en modo comparación de los dos módulos CCP


estándar (CCP1 , CCP2), tenemos el siguiente modo de función del
diagrama de bloques:
Primeramente se realiza una precarga en el modulo CCPR1, Asimismo se
selecciona uno de los TIMERS ( TIMER1, TIMER3) el cual servirá para
compararse con el modulo CCPR1, en este caso TIMER3.
El valor del TIMER3 pasara atreves del multiplexor al comparador, donde
el comparador valga la redundancia comparara el valor del modulo CCPR1
y el TIMER3 hasta que ambos valores sean iguales, cuando los valores
sean iguales el comparador indicara mediante la bandera CCP1IF que la
comparación esta donde se necesita, por ende pasara a generar un estado
de salida lógico que dependerá de la configuración del CCP1CON.
Por consiguiente, el estado de salida lógico pasara a través de un flip flop
tipo RS seguido de un buffer triestado (TRIS), donde dicho TRIS tendrá que
ser configurado como salida antes de llegar el pin CCP1, ya que el pin
CCP1 será nuestra salida de datos.
Aplicación del modo comparación
Tomando como base el funcionamiento anteriormente explicado, se procederá
a realizar un ejemplo
REGISTRO OSCCON
El registro OSCCON permite seleccionar el modo
activo de oscilador. Por tanto para nuestra
aplicación será configurado de la siguiente
manera:

• Bit 7: 0
• Bit 6-4: 111
• Bit 3: 0
• Bit 2: 0
• Bit 1-0: 10
Ósea la palabra de configuración en el registro
OSCCON será de 0X72.
Configuración del pin CCP1
El PIC 18F4550 cuenta con 5 puertos denominados de la siguiente manera:
• Puerto A: Tamaño de 8 bits
• Puerto B: Tamaño de 8 bits
• Puerto C: Tamaño de 8 bits ( 1 bit para Vusb)
• Puerto D: Tamaño de 8 bits
• Puerto A: Tamaño de 4 bits

Los puertos están relacionados con las siguientes palabras:


• LATX: Sirve para manipular datos de salida del puesto
• PORTX: Hace referencia al puerto para leer o escribir
• TRISX: Configura el puerto

También podemos acceder a los pines del puerto directamente con la palabra:
TRISXbits.RXX= Valor;

Por ende en nuestro caso el pin CCP1 tendrá la configuración siguiente:


TRISCbits.RC2 = 0;
Registro CCPXCON

El registro CCPxCON se utiliza para referirse al registro de


control, por lo tanto en este registro se elije el modo de
trabajo del modulo CCPX.

Por lo que, para nuestra aplicación será configurado de la


siguiente manera:

• Bit 7-6: 00
• Bit 5-4: 00
• Bit 3-0: 0010
Ósea la palabra de configuración en el registro CCP1CON
será de 0X02.
REGISTRO PIR1

Los registros PIR contienen los bits de bandera


individuales para las interrupciones periféricas.
Debido al número de fuentes de interrupción
periféricas, hay dos registros de Solicitud de
interrupción periférica (bandera) (PIR1 y PIR2).

Por tanto para nuestra aplicación se configurara


la bandera CCP1IF de la siguiente manera:

PIR1bits.CCP1IF = 0;
REGISTRO T3CON

El registro de control TIMER3, incorpora estas


características: Funcionamiento seleccionable por software
como temporizador o contador de 16 bits, Registros de 8
bits legibles y grabables (TMR3H y TMR3L), etc.

Primeramente, para nuestra aplicación T3CON será


configurado de la siguiente manera:

• Bit 7: 1
• Bit 6,3: 10
• Bit 5-4: 00
• Bit 2: 0
• Bit 1-0: 00

Ósea la palabra de configuración en el registro T3CON será


de 0XC0.

Posteriormente T3CON será configurado de la siguiente


manera:
T3CONbits.TMR3ON = 1;
Precarga en el modulo CCPR1

También podría gustarte