81
ATmega16M1/32M1/64M1 [DATASHEET]
8209E–AVR–11/2012
Unit A or Compare Unit B. However, when using the register or bit defines in a program, the precise form must be
used, that is, TCNT0 for accessing Timer/Counter0 counter value and so on.
The definitions in
Table 14-1 are also used extensively throughout the document.
14.2.2
Registers
The Timer/Counter (TCNT0) and Output Compare Registers (OCR0A and OCR0B) are 8-bit registers. Interrupt
request (abbreviated to Int.Req. in the figure) signals 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 fre-
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.
14.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 Reg-
14.4
Counter unit
The main part of the 8-bit Timer/Counter is the programmable bi-directional counter unit.
Figure 14-2 on page 81shows a block diagram of the counter and its surroundings.
Figure 14-2. Counter unit block diagram.
Table 14-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
DATA BUS
TCNTn
Control logic
count
TOVn
(Int.Req.)
Clock select
top
Tn
Edge
detector
(From prescaler)
clk
Tn
bottom
direction
clear