Datasheet
MAX The counter reaches its Maximum when it becomes 0xF (decimal , for 8-bit counters) or
0xFF (decimal , for 16-bit counters).
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 MAX or the value stored in
the OCR0A Register. The assignment is dependent on the mode of operation.
15.2.2. Registers
The Timer/Counter 0 register (TCNT0) and Output Compare TC0x registers (OCR0x) are 8-bit registers.
Interrupt request (abbreviated to Int.Req. in the block diagram) signals are all visible in the Timer Interrupt
Flag Register 0 (TIFR0). All interrupts are individually masked with the Timer Interrupt Mask Register 0
(TIMSK0). TIFR0 and TIMSK0 are not shown in the figure.
The TC 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 is used by the Timer/Counter to increment
(or decrement) its value. The TC 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 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.
Related Links
Timer/Counter 0, 1 Prescalers on page 183
15.3. Timer/Counter Clock Sources
The TC can be clocked by an internal or an external clock source. The clock source is selected by writing
to the Clock Select (CS0[2:0]) bits in the Timer/Counter Control Register (TCCR0B).
15.4. Counter Unit
The main part of the 8-bit Timer/Counter is the programmable bi-directional counter unit. Below is the
block diagram of the counter and its surroundings.
Figure 15-2. Counter Unit Block Diagram
DATA BUS
TCNTn Control Logic
count
TOVn
(Int.Req.)
Clock Select
top
Tn
Edge
Detector
( From Prescaler )
clk
Tn
bottom
direction
clear
Note: The “n” in the register and bit names indicates the device number (n = 0 for Timer/Counter 0), and
the “x” indicates Output Compare unit (A/B).
Atmel ATmega16M1/32M1/64M1 [DATASHEET]
Atmel-8209F-ATmega16M1/32M1/64M1_Datasheet_Complete-10/2016
128