VI - 43
Chapter 6
8-bit Timers
Cascade Connection
6-10-2
Setup Example
nCascade Connection Timer Setup Example (Timer 0 + Timer 1, Timer 2 + Timer 3)
Setting example of timer function that an interrupt is constantly generated by cascade connection of
timer 0 and timer 1, as a 16-bit timer is shown. An interrupt is generated 2500 times every 1 ms by
selecting source clock to fs/4 (fosx=20 MHz at operation).
An example setup procedure, with a description of each step is shown below.
(1)
Set the TM0EN flag of the timer 0 mode
register (TM0MD) to "0", the TM1EN flag of the
timer 1 mode register to "0" to stop timer 0 and
timer 1 counting.
(2)
Set both of the TM0PWM flag and TM0MOD
flag of the TM0MD register to "0" to select the
normal timer 0 operation.
(3)
Set the TM1CAS flag of the TM1MD register to
"1" to connect timer 1 and timer 0 in cascade
connection.
(4)
Set the clock source to prescaler output by
the TM0CK2-0 flag of the TM0MD register.
(5)
Set the prescaler output to fs/4 by the
TM0PSC1-0, TM0BAS flag of the timer 0
prescaler selection register (CK0MD).
Also, set the PSCEN flag of the prescaler
control register (PSCMD) to "1" to enable the
prescaler counting.
(6)
Set the timer 1 compare register + timer 0
compare register (TM1OC + TM0OC) to the
interrupt generation cycle (x'09C3' : 2500
cycles - 1).
At that time, timer 1 binary counter + timer 0
binary counter (TM1BC + TM0BC) are
initialized to x'0000'.
Setup Procedure
(1)
Stop the counter.
TM0MD (x'3F54')
bp3
:TM0EN
= 0
TM1MD (x'3F55')
bp3
:TM1EN
= 0
(2)
Select the normal lower timer
operation.
TM0MD (x'3F54')
bp4
:TM0PWM = 0
bp5
:TM0MOD
= 0
(3)
Set the cascade connection.
TM1MD (x'3F55')
bp4
:TM1CAS
= 1
(4)
Select the count clock source.
TM0MD (x'3F54')
bp2-0
:TM0CK2-0 = 001
(5)
Select the prescaler output and
enable counting.
CK0MD (x'3F56')
bp2-1
:TM0PSC1-0= 01
bp0
:TM0BAS
= 1
PSCMD (x'3F6F')
bp0
:PSCEN
= 1
(6)
Set the interrupt generation cycle.
TMnOC(x'3F53', x'3F52')=x'09C3'
Description