T
E
RABAJO Y
XPLICACIÓN
MODO DE MODULACIÓN DE ANCHURA DE PULSOS (PWM)
Con este modo de trabajo, se consiguen impulsos lógicos cuya anchura del nivel
alto es de duración variable, que son de enorme aplicación en el control de dispositivos
tan populares como los motores y los triacs.
La pata RC2/CCP1 está configurada como salida y bascula entre los niveles lógicos 0 y
1 a intervalos variables de tiempo. Lo que se intenta es obtener un pulso cuyo nivel alto
tenga una anchura variable dentro del intervalo del periodo de trabajo.
Cuando se trabaja con una precisión de 10 bits, los 2 bits CCP1CON <5:4> se
concatenan con los 8 de CCPR1L y, de la misma forma, los 8 bits de más peso del
TMR2 se concatenan con los 2 bits de menos peso del reloj interno.
El tiempo que dura el período de la onda depende del valor cargado en PR2,
según la fórmula siguiente:
Período = [(PR2) + 1] · 4 · Tos · Valor Predivisor TMR2
Cuando el valor del TMR2 coincide con el del PR2 suceden 3 acontecimientos:
1º Se borra el TMR2
2º La pata RC2/CCP1, se pone a 1.
3º El valor de CCPR1L, se carga en CCPR1H
El tiempo que la pata de salida está a nivel alto, que es la anchura del impuso,
depende del contenido cargado en CCP1R y de los 2 bits del CCP1CON <5:4>, cuando
se trabaja con una precisión de 10 bits.
Anchura de impulsos = (CCPR1L:CCP1CON<5:4>) · Tosc · Valor Predivisor TMR2
El valor CCPR1:CCP1CON<5:4> puede cargarse en cualquier momento, puesto
que el mismo no se traspasa a CCPR1H y se compara hasta que coinciden PR2 con
TMR2. En el modo PWM el registro CCPR1L solo puede ser leído.
Los pasos a seguir para realizar la configuración del modo PWM son los
siguientes:
1º Asignar el periodo cargando el oportuno valor en PR2.
2º Asignar la anchura del pulso cargando el registro CCP1R y CCP1CON<5:4>
3º Configurar la línea RC2/CCP1 como salida.
4º Asignar el valor del predivisor y activar el TMR2 escribiendo el T2CON.
5º Configurar el Módulo CCP1 en modo PWM
D
P
ESARROLLO
ROYECTOS Y
PIC 16F87
X
P
E
ROTOTIPOS
LECTRÓNICOS
2º DPE
41