PIC16F88x 有兩組10-bit 的PWNM,其Resolution:如下
Resolution=log[4(PR2 + 1)]/log(2)
不過若要有10-bit的Resolution,則PR必須為255,否則將無法有10-bit的解析度
若以 @4MHz prescale 1:1
PR2=9;
CCPR2L=9;
CCP2CON=0b0001100;
CCP2X=1;
CCP2Y=1;
period=10us //PWM Period =[(PR2)+ 1] x 4 x TOSC x (TMR2 Prescale Value)
Pulse Width=9.75us //Pulse Width =(CCPRxL:CCPxCON<5:4>) x TOSC x (TMR2 Prescale Value)
Duty Cycle Ratio =97.5% //(CCPRxL:CCPxCON<5:4>)/4(PR2 + 1)===>0B100111/40=0.975
Resolution=5 //雖然CCPRxL:CCPxCON<5:4> 為100111 看似6bit,不過因無法到111111 所以Resolution還是為5
不過有一點要注意
CCP1CON<5:4> 為 DC1B1:DC1B0
但
CCP2CON<5:4> 卻為 CCP2X:CCP2Y
==========================================
若@4Mhz
prescale 1:1時 1LSB(DC1B0)=0.25us 也就是1Tosc
prescale 1:4時 1LSB(DC1B0)=1us
prescale 1:16時 1LSB(DC1B0)=4us
