Datasheet

2009-2011 Microchip Technology Inc. DS39957D-page 249
PIC18F87K90 FAMILY
18.4.3 SETUP FOR PWM OPERATION
To configure the CCP module for PWM operation (with
CCP4 as an example):
1. Set the PWM period by writing to the PR2
register.
2. Set the PWM duty cycle by writing to the
CCPR4L register and CCP4CON<5:4> bits.
3. Make the CCP4 pin an output by clearing the
appropriate TRIS bit.
4. Set the TMR2 prescale value, then enable
Timer2 by writing to T2CON.
5. Configure the CCP4 module for PWM operation.
TABLE 18-7: REGISTERS ASSOCIATED WITH PWM AND TIMERS
Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Reset
Values
on Page:
INTCON GIE/GIEH PEIE/GIEL TMR0IE INT0IE RBIE TMR0IF INT0IF RBIF 75
RCON IPEN
SBOREN CM RI TO PD POR BOR 76
PIR4 CCP10IF
(1)
CCP9IF
(1)
CCP8IF CCP7IF CCP6IF CCP5IF CCP4IF CCP3IF 77
PIE4 CCP10IE
(1)
CCP9IE
(1)
CCP8IE CCP7IE CCP6IE CCP5IE CCP4IE CCP3IE 77
IPR4 CCP10IP
(1)
CCP9IP
(1)
CCP8IP CCP7IP CCP6IP CCP5IP CCP4IP CCP3IP 77
TRISB
TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 78
TRISC TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 78
TRISE
TRISE7 TRISE6 TRISE5 TRISE4 TRISE3 TRISE2 TRISE1 TRISE0 78
TRISH TRISH7 TRISH6 TRISH5 TRISH4 TRISH3 TRISH2 TRISH1 TRISH0 78
TMR2 Timer2 Register
76
TMR4 Timer4 Register 82
TMR6 Timer6 Register 81
TMR8 Timer8 Register 81
PR2 Timer2 Period Register
76
PR4 Timer4 Period Register 82
PR6 Timer6 Period Register 81
PR8 Timer8 Period Register 81
T2CON
T2OUTPS3 T2OUTPS2 T2OUTPS1 T2OUTPS0 TMR2ON T2CKPS1 T2CKPS0
76
T4CON
T4OUTPS3 T4OUTPS2 T4OUTPS1 T4OUTPS0 TMR4ON T4CKPS1 T4CKPS0 82
T6CON
T6OUTPS3 T6OUTPS2 T6OUTPS1 T6OUTPS0 TMR6ON T6CKPS1 T6CKPS0 81
T8CON
T8OUTPS3 T8OUTPS2 T8OUTPS1 T8OUTPS0 TMR8ON T8CKPS1 T8CKPS0 81
CCPR4L Capture/Compare/PWM Register 4 Low Byte 82
CCPR4H Capture/Compare/PWM Register 4 High Byte 82
CCPR5L Capture/Compare/PWM Register 5 Low Byte 82
CCPR5H Capture/Compare/PWM Register 5 High Byte 82
CCPR6L Capture/Compare/PWM Register 6 Low Byte 82
CCPR6H Capture/Compare/PWM Register 6 High Byte 82
CCPR7L Capture/Compare/PWM Register 7 Low Byte 82
CCPR7H Capture/Compare/PWM Register 7 High Byte 82
CCPR8L Capture/Compare/PWM Register 8 Low Byte 80
CCPR8H Capture/Compare/PWM Register 8 High Byte 80
CCPR9L
(1)
Capture/Compare/PWM Register 9 Low Byte 80
CCPR9H
(1)
Capture/Compare/PWM Register 9 High Byte 80
CCPR10L
(1)
Capture/Compare/PWM Register 10 Low Byte 81
Legend:
— = unimplemented, read as ‘
0
’. Shaded cells are not used by PWM or Timer2/4/6/8.
Note 1:
Unimplemented in devices with a program memory of 32 Kbytes (PIC18FX5K90).