Author :
Craig
Steiner
Source :
8052.com
Book :
The
8051/8052
Microcontroller:
Architecture,
Assembly
Language,
And
Hardware
Interfacing
(Paperback)
TIMER 2 IN CAPTURE MODE
A new
mode
specific
to Timer
2 is
called
"Capture
Mode."
As the
name
implies,
this
mode
captures
the
value of
Timer 2
(TH2 and
TL2)
into the
capture
SFRs
(RCAP2H
and
RCAP2L).
To put
Timer 2
in
capture
mode,
CP/RL2
(T2CON.0)
must be
set, as
must be
EXEN2
(T2CON.3).
When
configured
as
mentioned
above, a
capture
will
occur
whenever
a 1-0
transition
is
detected
on T2EX
(P1.1).
At the
moment
the
transition
is
detected,
the
current
values
of TH2
and TL2
will be
copied
into
RCAP2H
and
RCAP2L,
respectively.
At the
same
time,
the EXF2
(T2CON.6)
bit will
be set,
which
will
trigger
an
interrupt
if Timer
2
interrupt
is
enabled.
NOTE 1:
Note
that
even in
capture
mode, an
overflow
of Timer
2 will
result
in TF2
being
set and
an
interrupt
being
triggered.
NOTE 2: Capture mode is an efficient way to measure the time between
events.
At the
moment
that an
event
occurs,
the
current
value of
Timer 2
will be
copied
into
RCAP2H/L.
However,
Timer 2
will not
stop and
an
interrupt
will be
triggered.
Thus
your
interrupt
routine
may copy
the
value of
RCAP2H/L
to a
temporary
holding
variable
without
having
to stop
Timer 2.
When
another
capture
occurs,
your
interrupt
can take
the
difference
of the
two
values
to
determine
the time
transpired.
Again,
the main
advantage
is that
you
don't
have to
stop
timer 2
to read
its
value,
as is
the case
with
timer 0
and
timer 1.