SN8P2200 Series
USB 1.1 Low-Speed 8-Bit Micro-Controller
SONiX TECHNOLOGY CO., LTD
Page 86
Version 1.7
8.4
PWM0 MODE
8.4.1 OVERVIEW
PWM function is generated by TC0 timer counter and output the PWM signal to PWM0OUT pin (P5.4). The 8-bit
counter counts modulus 256, 64, 32, 16 controlled by ALOAD0, TC0OUT bits. The value of the 8-bit counter (TC0C) is
compared to the contents of the reference register (TC0R). When the reference register value (TC0R) is equal to the
counter value (TC0C), the PWM output goes low. When the counter reaches zero, the PWM output is forced high. The
low-to-high ratio (duty) of the PWM0 output is TC0R/256, 64, 32, 16.
PWM output can be held at low level by continuously loading the reference register with 00H. Under PWM operating, to
change the PWM’s duty cycle is to modify the TC0R.
Note: TC0 is double buffer design. Modifying TC0R to change PWM duty by program, there is no glitch
and error duty signal in PWM output waveform. Users can change TC0R any time, and the new reload
value is loaded to TC0R buffer at TC0 overflow.
ALOAD0 TC0OUT PWM duty range TC0C valid value TC0R valid bits value
MAX. PWM
Frequency
(Fcpu = 6MHz)
Remark
0 0
0/256~255/256
0x00~0xFF 0x00~0xFF 11.719K
Overflow per 256 count
0 1 0/64~63/64 0x00~0x3F 0x00~0x3F
46.875K
Overflow per 64 count
1 0 0/32~31/32 0x00~0x1F 0x00~0x1F
93.75K
Overflow per 32 count
1 1 0/16~15/16 0x00~0x0F 0x00~0x0F
187.5K
Overflow per 16 count
The Output duty of PWM is with different TC0R. Duty range is from 0/256~255/256.
TC0 Clock
TC0R=00H
TC0R=01H
TC0R=80H
TC0R=FFH
0
1
128
254
255
……
……
0
1
128
254
255
……
……
Low
Low
Low
High
High
Low
High