8-bit Timer/Counter0
with PWM and
Asynchronous
Operation
Timer/Counter0 is a general purpose, single channel, 8-bit Timer/Counter module. The
main features are:
• Single Channel Counter
• Clear Timer on Compare Match (Auto Reload)
• Glitch-free, Phase Correct Pulse Width Modulator (PWM)
• Frequency Generator
• 10-bit Clock Prescaler
• Overflow and Compare Match Interrupt Sources (TOV0 and OCF0)
• Allows Clocking from External 32 kHz Watch Crystal Independent of the I/O Clock
Overview
A simplified block diagram of the 8-bit Timer/Counter is shown in Figure 34. For the
actual placement of I/O pins, refer to “Pin Configurations” on page 2. CPU accessible
I/O registers, including I/O bits and I/O pins, are shown in bold. The device-specific I/O
register and bit locations are listed in the “8-bit Timer/Counter Register Description” on
page 103.
Figure 34. 8-bit Timer/Counter Block Diagram
TCCRn
count
clear
direction
Control Logic
BOTTOM
TOP
Timer/Counter
TCNTn
= 0 = 0xFF
=
clkTn
Prescaler
OCn
(Int.Req.)
Waveform
Generation
TOVn
(Int.Req.)
T/C
Oscillator
TOSC1
TOSC2
clk I/O
OCn
OCRn
Status flags
Synchronized Status flags
Synchronization Unit
ASSRn
asynchronous mode
select (ASn)
clk I/O
clk ASY
Registers
The Timer/Counter (TCNT0) and Output Compare Register (OCR0) are 8-bit registers.
Interrupt request (shorten as Int.Req.) signals are all visible in the Timer Interrupt Flag
Register (TIFR). All interrupts are individually masked with the Timer Interrupt Mask
Register (TIMSK). TIFR and TIMSK are not shown in the figure since these registers are
shared by other timer units.
The Timer/Counter can be clocked internally, via the prescaler, or asynchronously
clocked from the TOSC1/2 pins, as detailed later in this section. The asynchronous
92 ATmega128
2467O–AVR–10/06