Tu código tiene un pequeño problema:
Codigo:
MOVLW B"00001100"
MOVFW CCP1CON
Está mal, MOVFW no te da error porque en realidad estás moviendo el contenido del CCP1CON al WREG. Esto es un macro del mplab. Lo que debes hacer es cambiar esta línea para que quede asi:
Codigo:
MOVLW B"00001100"
MOVWF CCP1CON
Con esto debiera funcionar.
PD: si utilizas la interrupción y tienes debouncing, el duty cycle variará rápidamente debido a esto ya que no tienes retardos entre leer y volver a leer la interrupcion del RB0.
Saludos