Functional Description
TIMERS/COUNTERS
MPC89x51A has three 16-bits timers, and they are named
T0, T1
and
T2.Each
of them can also
be used as a general event counter, which counts the transition from 1 to 0.
While
T0/T1/T2
is used as “timer” function, the time unit that used to measure the timer is
machine cycle.
A machine cycle equals 12 or 6 oscillator periods, and depends on 12T mode or
6T mode that the user configured this device.
While
T0/T1/T2
is used as “1-0 event counter” function, the counting event is the “high-to-low
transition” of primitive pin
T0/T1/T2.
In this mode, the device periodically samples the status of
pin
T0/T1/T2
once for each machine cycle. Whenever the sampled result turns from 1 to 0, the
device will count once on the counter. Becarefully, this kind of implementation for the counter
requires the high-duty or low-duty from pin
T0/T1/T2
and must not too short compared to a
machine cycle.
There are two SFR designed to configure timers
T0
and
T1.
They are
TMOD,
and
TCON.
There are extra two SFR designed to configure timer
T2.
They are
T2MOD,
and
T2CON.
SFR:
TMOD
Bits-7
Bits-6
Bits-5
Bits-4
Bits-3
Bits-2
Bits-1
Bits-0
(for timer1 use)
GATE
C//T
M1
M0
GATE
(for timer0 use)
C//T
M1
M0
GATE:
Gating control when set. If GATE=1, Timer/Counter
x
is enabled only while “/INTx” pin is high and
“TRx”
control bits is set. When cleared Timer
x
is enabled whenever “TRx” control bits is set.
C//T:
Timer or Counter function selector.
0:
=timer (Default),
1:
=counter
{M1, M0}:
mode select
{0, 0}: = 13-bits timer/counter for Timer0 and Timer1
{0, 1}: = 16-bits timer/counter for Timer0 and Timer1
{1, 0}: = 8-bits timer/counter with automatic reload for Timer0 and Timer1
{1, 1}: = for Timer0: = TL0 is 8-bits timer/counter, TH0 is locked into 8-bits timer
for Timer1:= Timer/Counter1 Stopped
MEGAWIN
MPC89x51A Data Sheet
13