PIC16F62X
10.3.3 SET-UP FOR PWM OPERATION
The following steps should be taken when configuring
the CCP module for PWM operation:
1. Set the PWM period by writing to the PR2 regis-
ter.
2. Set the PWM duty cycle by writing to the
CCPR1L register and CCP1CON<5:4> bits.
3. Make the CCP1 pin an output by clearing the
TRISB<3> bit.
4. Set the TMR2 prescale value and enable Timer2
by writing to T2CON.
5. Configure the CCP1 module for PWM operation.
TABLE 10-3
EXAMPLE PWM FREQUENCIES AND RESOLUTIONS AT 20 MHz
PWM Frequency
1.22 kHz 4.88 kHz 19.53 kHz 78.12 kHz 156.3 kHz 208.3 kHz
Timer Prescaler (1, 4, 16)
PR2 Value
16
4
1
1
1
1
0xFF
10
0xFF
10
0xFF
10
0x3F
8
0x1F
7
0x17
5.5
Maximum Resolution (bits)
TABLE 10-4
REGISTERS ASSOCIATED WITH PWM AND TIMER2
Value on
all other
resets
Value on
POR
Address
Name
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0000 000x 0000 000u
0Bh/8Bh/
INTCON
GIE
PEIE
T0IE
INTE
RBIE
T0IF
INTF
RBIF
10Bh/18Bh
0000 -000 0000 -000
0000 -000 0000 -000
1111 1111 1111 1111
0000 0000 0000 0000
1111 1111 1111 1111
-000 0000 uuuu uuuu
0Ch
8Ch
87h
11h
92h
12h
PIR1
PIE1
EEIF
CMIF
RCIF
TXIF
—
—
CCP1IF TMR2IF TMR1IF
CCP1IE TMR2IE TMR1IE
EEIE
CMIE
RCIE
TXIE
PORTB Data Direction Register
Timer2 module’s register
TRISB
TMR2
PR2
Timer2 module’s period register
TOUTPS TOUTPS TOUTPS TOUTPS TMR2ON T2CKPS T2CKPS
T2CON
—
3
2
1
0
1
0
xxxx xxxx uuuu uuuu
xxxx xxxx uuuu uuuu
--00 0000 --00 0000
Capture/Compare/PWM register1 (LSB)
Capture/Compare/PWM register1 (MSB)
15h
16h
17h
CCPR1L
CCPR1H
CCP1CON
—
—
CCP1X
CCP1Y CCP1M3 CCP1M2 CCP1M1 CCP1M0
Legend: x= unknown, u= unchanged, -= unimplemented read as '0'. Shaded cells are not used by PWM and Timer2.
1999 Microchip Technology Inc.
Preliminary
DS40300B-page 67