a quick look at code
PIE1 $01 is wrong, you need to set more bits not just %00000001
PIE1 = %00000101 'enable CCP1, TMR1 overflow interrupt this if from some code I did for 18F452 and there is error in it, but the sample code is not complete, but should get you going.
You need to jump over the Int
I could look for the finished code but would need time to find it.
why the NOP
DelayMS would be better
'16 BIT CCP1 PWM
Input PORTC.2 ' Disable the HPWM output while things are being setup
RCON.7 = 0 ' 0 DISABLES PRIORITY LEVELS ON INTERRUPTS (16F COMPATABILITY)
T1CON = %10110000 ' Turn off Timer1 with a Prescaler value of 1:8
PIE1 = %00000101 'enable CCP1, TMR1 overflow interrupt
INTCON = %11000000 'enable global and peripheral interrupts
Output PORTC.2 ' Set PORTC.2 (CCP1) to output
T3CON = %00000000
CCPR1H = wDUTY.HighByte
CCPR1L = wDUTY.LowByte
On_Hardware_Interrupt GoTo HARDWARE_INTERRUPT
GoTo START 'Jump over the subroutines
'********** HARDWARE TMR 1 Interrupt **********
HARDWARE_INTERRUPT:
Context Save
'
PIR1.2 = 0 ' CLEAR THE CCP1 INT FLAG
High PORTC.2 '
'clear interrupt flag and exit...
bcf PIR1,0
Context Restore
retfie fast
'********** END HARDWARE TMR 1 Interrupt **********
'***********************************************
START: