beautypg.com

1 registers, 2 definitions, 3 timer/counter clock sources – Rainbow Electronics ATmega128RFA1 User Manual

Page 227: 4 counter unit

background image

227


8266A-MCU Wireless-12/09

ATmega128RFA1

17.2.1 Registers

The Timer/Counter (TCNT0) and Output Compare Registers (OCR0A and OCR0B) are
8-bit registers. Interrupt request signals (abbreviated to Int.Req. in the figure) are all
visible in the Timer Interrupt Flag Register (TIFR0). All interrupts are individually
masked with the Timer Interrupt Mask Register (TIMSK0). TIFR0 and TIMSK0 are not
shown in the figure.

The Timer/Counter can be clocked internally, via the prescaler or by an external clock
source on the T0 pin. The Clock Select logic block controls which clock source and
edge the Timer/Counter uses to increment (or decrement) its value. The Timer/Counter
is inactive when no clock source is selected. The output from the Clock Select logic is
referred to as the timer clock (clk

T0

).

The double buffered Output Compare Registers (OCR0A and OCR0B) are compared
with the Timer/Counter value at all times. The result of the compare can be used by the
Waveform Generator to generate a PWM or variable frequency output on the Output
Compare pins (OC0A and OC0B); see

"Output Compare Unit" on page 228

for details.

The Compare Match event will also set the Compare Flag (OCF0A or OCF0B) which
can be used to generate an Output Compare interrupt request.

17.2.2 Definitions

Many register and bit references in this section are written in general form. A lower case
n” replaces the Timer/Counter number (in this case 0). A lower case “x” replaces the
Output Compare Unit (in this case Compare Unit A or Compare Unit B). However when
using the register or bit defines in a program, the precise form must be used i.e.,
TCNT0 for accessing Timer/Counter0 counter value and so on.

The definitions in Table 17-1 are also used extensively throughout the document.

Table 17-1. Definitions

BOTTOM

The counter reaches the BOTTOM when it becomes 0x00.

MAX

The counter reaches its MAXimum when it becomes 0xFF (decimal 255).

TOP

The counter reaches the TOP when it becomes equal to the highest value in
the count sequence. The TOP value can be assigned to be the fixed value
0xFF (MAX) or the value stored in the OCR0A Register. The assignment is
dependent on the mode of operation.

17.3 Timer/Counter Clock Sources

The Timer/Counter can be clocked by an internal or an external clock source. The clock
source is selected by the Clock Select logic which is controlled by the Clock Select
(CS02:0) bits located in the Timer/Counter Control Register (TCCR0B). For details on
clock sources and prescaler see

Timer/Counter 0, 1, 3, 4, and 5 Prescaler on page 304

17.4 Counter Unit

The main part of the 8-bit Timer/Counter is the programmable bi-directional counter
unit. Figure 17-2 shows a block diagram of the counter and its surroundings.