Hi,
If you're trying to get the 120° phase shift you can't do that with a PAUSE. You have to remember that only the PWM is done by hardware, everything else, ie. the lookup and setting the dutycycle registers are done in software.

If you put a Pause 4 in there the whole software loop will "hang" for 4ms and whatever the CCP module is outputting will keep getting output untill it gets updated again. The FOR-NEXT loop will NOT run while the pause statements executes.

If you want 120° phase shift you could do that thru an offset into the loopup table. If the table is 45 entries you want entry 0, 14 and 29 the first time. Then you want 1, 15 and 30 and so on. I'd probably skip the FOR-NEXT loop and rewrite it to so that I'd have three counters, all counting from 0 to 44 but with an offset of 15 between them, these will then get the dutycycle from the table and assingn them to the proper CCPModule.

/Henrik.