T89C51CC02 Atmel, T89C51CC02 Datasheet - Page 51

no-image

T89C51CC02

Manufacturer Part Number
T89C51CC02
Description
8-Bit MCU
Manufacturer
Atmel
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
T89C51CC02CA-RATIM
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
T89C51CC02CA-SISIM
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
T89C51CC02UA-RATIM
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
T89C51CC02UA-SISIM
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
T89C51CC02UA-SITIM
Manufacturer:
Atmel
Quantity:
10 000
T89C51CC02
12. Timers/Counters
12.1. Introduction
The T89C51CC02 implements two general-purpose, 16-bit Timers/Counters. They are identified as Timer 0 and
Timer 1, and can be independently configured to operate in a variety of modes as a Timer or as an event Counter.
When operating as a Timer, the Timer/Counter runs for a programmed length of time, then issues an interrupt
request. When operating as a Counter, the Timer/Counter counts negative transitions on an external pin. After a
preset number of counts, the Counter issues an interrupt request.
The various operating modes of each Timer/Counter are described in the following sections.
12.2. Timer/Counter Operations
For instance, a basic operation is Timer registers THx and TLx (x= 0, 1) connected in cascade to form a 16-bit
Timer. Setting the run control bit (TRx) in TCON register (see Figure 39) turns the Timer on by allowing the
selected input to increment TLx. When TLx overflows it increments THx; when THx overflows it sets the Timer
overflow flag (TFx) in TCON register. Setting the TRx does not clear the THx and TLx Timer registers. Timer
registers can be accessed to obtain the current count or to enter preset values. They can be read at any time but
TRx bit must be cleared to preset their values, otherwise the behavior of the Timer/Counter is unpredictable.
The C/Tx# control bit selects Timer operation or Counter operation by selecting the divided-down peripheral clock
or external pin Tx as the source for the counted signal. TRx bit must be cleared when changing the mode of
operation, otherwise the behavior of the Timer/Counter is unpredictable.
For Timer operation (C/Tx#= 0), the Timer register counts the divided-down peripheral clock. The Timer register
is incremented once every peripheral cycle (6 peripheral clock periods). The Timer clock rate is F
/ 6, i.e.
PER
F
/ 12 in standard mode or F
/ 6 in X2 mode.
OSC
OSC
For Counter operation (C/Tx#= 1), the Timer register counts the negative transitions on the Tx external input pin.
The external input is sampled every peripheral cycles. When the sample is high in one cycle and low in the next
one, the Counter is incremented. Since it takes 2 cycles (12 peripheral clock periods) to recognize a negative
transition, the maximum count rate is F
/ 12, i.e. F
/ 24 in standard mode or F
/ 12 in X2 mode. There
PER
OSC
OSC
are no restrictions on the duty cycle of the external input signal, but to ensure that a given level is sampled at
least once before it changes, it should be held for at least one full peripheral cycle.
12.3. Timer 0
Timer 0 functions as either a Timer or event Counter in four modes of operation. Figure 34 to Figure 37 show the
logical configuration of each mode.
Timer 0 is controlled by the four lower bits of TMOD register (see Figure 40) and bits 0, 1, 4 and 5 of TCON
register (see Figure 39). TMOD register selects the method of Timer gating (GATE0), Timer or Counter operation
(T/C0#) and mode of operation (M10 and M00). TCON register provides Timer 0 control functions: overflow flag
(TF0), run control bit (TR0), interrupt flag (IE0) and interrupt type control bit (IT0).
For normal Timer operation (GATE0= 0), setting TR0 allows TL0 to be incremented by the selected input. Setting
GATE0 and TR0 allows external pin INT0# to control Timer operation.
Timer 0 overflow (count rolls over from all 1s to all 0s) sets TF0 flag generating an interrupt request.
It is important to stop Timer/Counter before changing mode.
12.3.1. Mode 0 (13-bit Timer)
Mode 0 configures Timer 0 as an 13-bit Timer which is set up as an 8-bit Timer (TH0 register) with a modulo
32 prescaler implemented with the lower five bits of TL0 register (see Figure 34). The upper three bits of TL0
register are indeterminate and should be ignored. Prescaler overflow increments TH0 register.
Rev.A - May 17, 2001
51
Preliminary

Related parts for T89C51CC02