I don't have the 18F4431 or Microchip motor control board, but this works
on the 18F2431. It outputs PWM on RB0,RB1,RB2,RB3,RB4 and RB5 with a
varying duty cycle. Ramps up, then down.

It should be at least enough to get you started.
Code:
    DEFINE OSC 20
    
    Duty VAR WORD
    PORTB = $FF
    TRISB = 0
    
    PTCON0=$00 'page 8,step 1
    PTPERL=$A0      ' $01A0 = 12kHz
    PTPERH=$01
    PWMCON0=%01011110 'would be %01011111 for the 18F4431
    PWMCON1=%00000001 'step 4
    DTCON=$00
    ;OVDCOND=$00 'step 6  ; May want to un-comment these based on your PIC & board.
    ;OVDCONS=$00
    ;FLTCONFIG=%10110011
    ;POVD=00000000
    ;SEVTCMP=$0000
    ;step 8
    SEVTCMPL=$00
    SEVTCMPH=$00
    PDC0L=$00
    PDC0H=$00
    PDC1L=$00
    PDC1H=$00
    PDC2L=$00
    PDC2H=$00
    ;PDC3L=$FF ; un-comment for 18F4431
    ;PDC3H=$00
    PTCON1=%10000000
    
Main:
    FOR Duty = 50 TO $500 STEP 4
        ASM
        bsf   PWMCON1,UDIS	    ;Disable the PWM buffer update
        MOVFF _Duty,PDC0L
        MOVFF _Duty+1,PDC0H
        MOVFF _Duty,PDC1L
        MOVFF _Duty+1,PDC1H
        MOVFF _Duty,PDC2L
        MOVFF _Duty+1,PDC2H
        ;MOVFF _Duty,PDC3L      ;un-comment for 18F4431
        ;MOVFF _Duty+1,PDC3H
        bcf	  PWMCON1,UDIS	    ;Enable the PWM buffer update
        ENDASM
        PAUSE 50
    NEXT Duty
    FOR Duty = $500 TO 50 STEP-4
        ASM
        bsf	  PWMCON1,UDIS	    ;Disable the PWM buffer update
        MOVFF _Duty,PDC0L
        MOVFF _Duty+1,PDC0H
        MOVFF _Duty,PDC1L
        MOVFF _Duty+1,PDC1H
        MOVFF _Duty,PDC2L
        MOVFF _Duty+1,PDC2H
        ;MOVFF _Duty,PDC3L      ;un-comment for 18F4431
        ;MOVFF _Duty+1,PDC3H
        bcf	  PWMCON1,UDIS	    ;Enable the PWM buffer update
        ENDASM
        PAUSE 50
    NEXT Duty
    GOTO Main
    
    END
This is just a slight modification to what you posted before. To work with the
18F2431. I haven't done much beyond this with the PCPWM module. Not yet
at least..;o}

HTH