SN8P1700
8-bit micro-controller build-in 12-bit ADC
T0C COUNTING REGISTER
T0C is an 8-bit counter register for the basic timer (T0). T0C must be reset whenever the T0ENB is set “1” to start the
basic timer. T0C is incremented by one with every clock pulse which frequency is determined by T0RATE0 ~
T0RATE2. When T0C has incremented to “0FFH”, it will be cleared to “00H” in next clock and an overflow generated.
Under T0 interrupt service request (T0IEN) enable condition, the T0 interrupt request flag will be set “1” and the system
executes the interrupt service routine. The T0C has no auto reload function. After T0C overflow, the T0C is continuing
counting. Users need to reset T0C value to get a accurate time.
T0C initial value = xxxx xxxx
0D9H
T0C
Bit 7
T0C7
R/W
Bit 6
T0C6
R/W
Bit 5
T0C5
R/W
Bit 4
T0C4
R/W
Bit 3
T0C3
R/W
Bit 2
T0C2
R/W
Bit 1
T0C1
R/W
Bit 0
T0C0
R/W
High speed mode (fcpu = 3.58MHz / 4)
Max overflow interval One step = max/256 Max overflow interval One step = max/256
Low speed mode (fcpu = 32768Hz / 4)
T0RATE T0CLOCK
000
001
010
011
100
101
110
111
fcpu/256
fcpu/128
fcpu/64
fcpu/32
fcpu/16
fcpu/8
73.2 ms
36.6 ms
18.3 ms
9.15 ms
4.57 ms
2.28 ms
1.14 ms
0.57 ms
286us
143us
71.5us
35.8us
17.9us
8.94us
4.47us
2.23us
8000 ms
4000 ms
2000 ms
1000 ms
500 ms
250 ms
125 ms
62.5 ms
31.25 ms
15.63 ms
7.8 ms
3.9 ms
1.95 ms
0.98 ms
0.49 ms
0.24 ms
fcpu/4
fcpu/2
Figure 8-3. The Timing Table of Basic Timer T0.
The equation of T0C initial value is as following.
T0C initial value = 256 - (T0 interrupt interval time * input clock)
ꢃExample : To set 10ms interval time for T0 interrupt at 3.58MHz high-speed mode. T0C value (74H) = 256 -
(10ms * fcpu/64)
T0C initial value = 256 - (T0 interrupt interval time * input clock)
= 256 - (10ms * 3.58 * 106 / 4 / 64)
= 256 - (10-2 * 3.58 * 106 / 4 / 64)
= 116
= 74H
SONiX TECHNOLOGY CO., LTD
Page 70
Revision 1.94