No el CCP utiliza para el PWM el TMR2 unicamente.
Te quedan 2 opciones:
- En tu loop principal, leer un boton, cuando sea presionado, activar el PWM hacerlo pasar por una demora de 1s por ejemplo, y aumentar el PWM, asi 5 veces (asi llegamos a los 5s ) y detener el PWM, y volver a leer el boton. Si haces mas pequeño el delay, podes hacer que aumente en pasos mas pequeños el duty del PWM.
- La otra que te queda es intentar definir un "periodo" entero, y ver si el flag de interrupcion del CCP se activa, de esa forma si tu periodo es de 10ms por ejemplo, y necesitas esperar 5s, contas 5s/10ms = 500 interrupciones, para saber que pasaron los 5s.
Esto supuestamente si es que el flag se activa. Ahora no veo sentido el porque no te permite usar CCP+TMR2 para el PWM y un TMR1 para cualquier "tiempo" que quieras dar.
En resumen, si solo queres usar el CCP+TMR2, entonces la primera opcion es la que debes seguir. Pero no utilizarias interrupciones.