Every time the Timer1 register matches the compare value register, the CCP ISR flag is set. It triggers the DMA controller to increment the source address for the next array element to be loaded to the PWM duty cycle register. While the DMA performs this task in the background, CCP ISR reloads the Timer1 register.