Thankx HenrikOlsson
I really appreciate your effort on this forum.

(1) sorry I understand you explaination very well on how dutycycle relate with value of PR2. one problem is that you statements below is not clear to me and why PR2*4=100%:
the two lowest significant bits (CCP1CON<5:4>) adds 2 bits (or 4 times if you will ) worth of resolution. So if you prefer you could say that a DutyVal of PR2*4=100%.
For example, DutyVal=800. Take the 2 low bits and stuff them CCP1CON5:4 and take the 8 high bits in stuff them in CCPR1L. If you take a close look at the 8 bits alone you'll see that it's the value 200.
a

(2)From what I know for 8bit resolution
CCP1CON.4 = duty.0
CCP1CON.5 = duty.1
CCPR1L = DUTY >> 2
that is means that 2bit (CCPICON<5:4>) and 6bit obtain after shifting right(divide by 4) duty value are combine to form 8bit resolution

What I want to know is that, if I used 10 bit resolution is that code here correct?

CCP1CON.4 = duty.0
CCP1CON.5 = duty.1
CCPR1L = DUTY
that is 2bit(CCPICON<5:4>) are combine with 8bit (CCPR1L)from duty value to form 10bit resolution.
thankx