English
Language : 

W79E201 Datasheet, PDF (58/87 Pages) Winbond – 8-BIT MICROCONTROLLER
W79E201
14. PULSE WIDTH MODULATED OUTPUTS (PWM)
There are six pulse width modulated output channels to generate pulses of programmable length and
interval. The repetition frequency is defined by an 8-bit prescaler PWMP, which supplies the clock for
the counter. The prescaler and counter are common to both PWM channels. The 8-bit counter counts
modular 255 (0 ~ 254). The value of the 8-bit counter compared to the contents of six registers:
PWM0, PWM1, PWM2, PWM3, PWM4 and PWM5. Provided the contents of either these registers is
greater than the counter value, the corresponding PWM0, PWM1, PWM2, PWM3, PWM4 or PWM5
output is set HIGH. If the contents of these registers are equal to, or less than the counter value, the
output will be LOW. The pulse-width-ratio is defined by the contents of the registers PWM0, PWM1,
PWM2, PWM3, PWM4 and PWM5. The pulse-width-ratio is in the range of 0 to 1 and may be
programmed in increments of 1/255. ENPWM0, ENPWM1, ENPWM2, ENPWM3, ENPWM4 and
ENPWM5 bit will enable or disable PWM output.
Buffered PWM outputs may be used to drive DC motors. The rotation speed of the motor would be
proportional to the contents of PWM0/1/2/3/4/5. The repetition frequency Fpwm at the PWM0/1/2/3/4/5
output is given by:
Fosc
Fpwm =
2 × (1 + PWMP) × 255
Prescaler division factor = PWM + 1
(PWMn)
PWMn high/low ratio of PWMn =
255 - (PWMn)
This gives a repetition frequency range of 123 Hz to 31.4K Hz ( fosc = 16M Hz). By loading the PWM
registers with either 00H or FFH, the PWM channels will output a constant HIGH or LOW level,
respectively. Since the 8-bit counter counts modulo 255, it can never actually reach the value of the
PWM registers when they are loaded with FFH.
When a compare register (PWM0, PWM1, PWM2, PWM3, PWM4, PWM5) is loaded with a new value,
the associated output updated immediately. It does not have to wait until the end of the current
counter period. There is weakly pulled high on PWM output.
- 58 -