beautypg.com

mode 3 (two 8-bit timers), timer 1, mode 0 (13-bit timer) – Rainbow Electronics T89C51CC02 User Manual

Page 53: Figure 37, Preliminary, Timer 1

background image

Rev.A - May 17, 2001

53

Preliminary

T89C51CC02

12.3.4. Mode 3 (Two 8-bit Timers)

Mode 3 configures Timer 0 such that registers TL0 and TH0 operate as separate 8-bit Timers (see Figure 37). This
mode is provided for applications requiring an additional 8-bit Timer or Counter. TL0 uses the Timer 0 control
bits C/T0# and GATE0 in TMOD register, and TR0 and TF0 in TCON register in the normal manner. TH0 is
locked into a Timer function (counting F

PER

/6) and takes over use of the Timer 1 interrupt (TF1) and run control

(TR1) bits. Thus, operation of Timer 1 is restricted when Timer 0 is in mode 3.

Figure 37. Timer/Counter 0 in Mode 3: Two 8-bit Counters

12.4. Timer 1

Timer 1 is identical to Timer 0 excepted for Mode 3 which is a hold-count mode. Following comments help to
understand the differences:

Timer 1 functions as either a Timer or event Counter in three modes of operation. Figure 34 to Figure 36 show
the logical configuration for modes 0, 1, and 2. Timer 1’s mode 3 is a hold-count mode.

Timer 1 is controlled by the four high-order bits of TMOD register (see Figure 40) and bits 2, 3, 6 and 7 of
TCON register (see Figure 39). TMOD register selects the method of Timer gating (GATE1), Timer or Counter
operation (C/T1#) and mode of operation (M11 and M01). TCON register provides Timer 1 control functions:
overflow flag (TF1), run control bit (TR1), interrupt flag (IE1) and interrupt type control bit (IT1).

Timer 1 can serve as the Baud Rate Generator for the Serial Port. Mode 2 is best suited for this purpose.

For normal Timer operation (GATE1= 0), setting TR1 allows TL1 to be incremented by the selected input.
Setting GATE1 and TR1 allows external pin INT1# to control Timer operation.

Timer 1 overflow (count rolls over from all 1s to all 0s) sets the TF1 flag generating an interrupt request.

When Timer 0 is in mode 3, it uses Timer 1’s overflow flag (TF1) and run control bit (TR1). For this situation,
use Timer 1 only for applications that do not require an interrupt (such as a Baud Rate Generator for the Serial
Port) and switch Timer 1 in and out of mode 3 to turn it off and on.

It is important to stop Timer/Counter before changing mode.

12.4.1. Mode 0 (13-bit Timer)

Mode 0 configures Timer 1 as a 13-bit Timer, which is set up as an 8-bit Timer (TH1 register) with a modulo-
32 prescaler implemented with the lower 5 bits of the TL1 register (see Figure 34). The upper 3 bits of TL1 register
are ignored. Prescaler overflow increments TH1 register.

TR0

TCON.4

TF0

TCON.5

INT0#

0

1

GATE0

TMOD.3

Overflow

Timer 0
Interrupt
Request

C/T0#

TMOD.2

TL0

(8 bits)

TR1

TCON.6

TH0

(8 bits)

TF1

TCON.7

Overflow

Timer 1
Interrupt
Request

T0

PERIPH
CLOCK

÷

6

PERIPH
CLOCK

ч

6