SN8P1829
8-Bit MCU build-in 12-bit ADC + PGIA + Charge-pump Reg 128 dots LCD driver
SONiX TECHNOLOGY CO., LTD
Page 69
Version 1.0
TC1C COUNTING REGISTER
TC1C is an 8-bit counter register for the timer counter (TC1). TC1C must be reset whenever the TC1ENB is set “1” to
start the timer. TC0C is incremented by one with a clock pulse which the frequency is determined by TC0RATE0 ~
TC0RATE2. When TC0C has incremented to “0FFH”, it is will be cleared to “00H” in next clock and an overflow is
generated. Under TC1 interrupt service request (TC1IEN) enable condition, the TC1 interrupt request flag will be set
“1” and the system executes the interrupt service routine.
TC1C initial value = xxxx xxxx
0DDH
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC1C
TC1C7 TC1C6 TC1C5 TC1C4 TC1C3 TC1C2 TC1C1 TC1C0
R/W R/W R/W R/W R/W R/W R/W R/W
TC1 OVERFLOW TIME
TC1 rate is determinate by TC1Rate and Code Option TC1_Counter, TC1Rate can set TC1 clock frequency from F
CPU
and TC1_Counter set TC1 became 8-bit, 6-bit, 5-bit or 4-bit counter.
The equation of TC1C initial value is as following.
TC1C initial value = N
-
(TC1 interrupt interval time * input clock)
Which N is determinate by code option: TC1_Counter
TC1_Counter
N
Max. TC1C value
8-bit 256
255
6-bit 64
63
5-bit 32
31
4-bit 16
15
Note: TheTC1C must small or equal than Max. TC1 value.
Example: To set 10ms interval time for TC1 interrupt at F
OSC
= 3.58MHz.
TC1C value (74H) = 256 - (10ms * F
CPU
/64) (TC1RATE=010, TC1_Counter=8-bit, TC1X8=0)
TC1C initial value = 256 - (TC0 interrupt interval time * input clock)
= 256 - (10ms * 3.58 * 10
6
/ 4 / 64)
= 256 - (10
-2
* 3.58 * 10
6
/ 4 / 64)
= 116
= 74H
Example: To set 1.25ms interval time for TC1 interrupt at F
OSC
= 3.58MHz.
TC1C value (74H) = 256 - (10ms * fcpu/64) (TC1RATE=010, TC1_Counter=8-bit, TC1X8=1)
TC1C initial value = 256 - (TC0 interrupt interval time * input clock)
= 256 - (1.25ms * 3.58 * 10
6
/ 32)
= 256 - (0.00125 * 3.58 * 10
6
/ 32)
= 116
= 74H
Example: To set 1ms interval time for TC1 interrupt at F
OSC
= 3.58MHz.
TC1C value (32H) = 64 - (1ms * F
CPU
/64) (TC1RATE=010, TC1_COunter=6-bit, TC1X8=0)
TC1C initial value = 64 - (TC0 interrupt interval time * input clock)
= 64 - (1ms * 3.58 * 10
6
/ 4 / 64)
= 64 - (1
-2
* 3.58 * 10
6
/ 4 / 64)
= 64-14
= 32H