English
Language : 

C8051F300_08 Datasheet, PDF (162/179 Pages) Silicon Laboratories – Mixed Signal ISP Flash MCU Family
C8051F300/1/2/3/4/5
16.2.5. 8-Bit Pulse Width Modulator Mode
Each module can be used independently to generate a pulse width modulated (PWM) output on its associ-
ated CEXn pin. The frequency of the output is dependent on the timebase for the PCA counter/timer. The
duty cycle of the PWM output signal is varied using the module's PCA0CPLn capture/compare register.
When the value in the low byte of the PCA counter/timer (PCA0L) is equal to the value in PCA0CPLn, the
output on the CEXn pin will be set to ‘1’. When the count value in PCA0L overflows, the CEXn output will
be set to ‘0’ (see Figure 16.8). Also, when the counter/timer low byte (PCA0L) overflows from 0xFF to
0x00, PCA0CPLn is reloaded automatically with the value stored in the module’s capture/compare high
byte (PCA0CPHn) without software intervention. Setting the ECOMn and PWMn bits in the PCA0CPMn
register enables 8-bit Pulse Width Modulator mode. The duty cycle for 8-bit PWM Mode is given by
Equation 16.2.
Important Note About Capture/Compare Registers: When writing a 16-bit value to the PCA0 Capture/
Compare registers, the low byte should always be written first. Writing to PCA0CPLn clears the ECOMn bit
to ‘0’; writing to PCA0CPHn sets ECOMn to ‘1’.
DutyCycle
=
---2---5---6----–-----P----C----A----0----C----P----H-----n----
256
Equation 16.2. 8-Bit PWM Duty Cycle
Using Equation 16.2, the largest duty cycle is 100% (PCA0CPHn = 0), and the smallest duty cycle is
0.39% (PCA0CPHn = 0xFF). A 0% duty cycle may be generated by clearing the ECOMn bit to ‘0’.
Write to
PCA0CPLn
0
ENB
Reset
Write to
PCA0CPHn ENB
1
PCA0CPHn
PCA0CPMn
P ECCMT P E
WCA A AOWC
MOPP TGMC
1 MPN n n n F
6nnn
n
n
0 00x0 x
PCA0CPLn
Enable
8-bit
Comparator
match S SET Q CEXn Crossbar
PCA Timebase
PCA0L
Overflow
RQ
CLR
Figure 16.8. PCA 8-Bit PWM Mode Diagram
Port I/O
162
Rev. 2.9