Clear timer on compare match (ctc) mode, Atmega162/v – Rainbow Electronics ATmega162V User Manual
Page 143
143
ATmega162/V
2513E–AVR–09/03
Clear Timer on Compare
Match (CTC) Mode
In Clear Timer on Compare or CTC mode (WGM21:0 = 2), the OCR2 Register is used to
manipulate the counter resolution. In CTC mode the counter is cleared to zero when the
counter value (TCNT2) matches the OCR2. The OCR2 defines the top value for the
counter, hence also its resolution. This mode allows greater control of the Compare
Match output frequency. It also simplifies the operation of counting external events.
The timing diagram for the CTC mode is shown in Figure 63. The counter value
(TCNT2) increases until a Compare Match occurs between TCNT2 and OCR2, and then
counter (TCNT2) is cleared.
Figure 63. CTC Mode, Timing Diagram
An interrupt can be generated each time the counter value reaches the TOP value by
using the OCF2 Flag. If the interrupt is enabled, the interrupt handler routine can be
used for updating the TOP value. However, changing the TOP to a value close to BOT-
TOM when the counter is running with none or a low prescaler value must be done with
care since the CTC mode does not have the double buffering feature. If the new value
written to OCR2 is lower than the current value of TCNT2, the counter will miss the
Compare Match. The counter will then have to count to its maximum value (0xFF) and
wrap around starting at 0x00 before the Compare Match can occur.
For generating a waveform output in CTC mode, the OC2 output can be set to toggle its
logical level on each Compare Match by setting the Compare Output mode bits to toggle
mode (COM21:0 = 1). The OC2 value will not be visible on the port pin unless the data
direction for the pin is set to output. The waveform generated will have a maximum fre-
quency of f
OC
2 = f
clk_I/O
/2 when OCR2 is set to zero (0x00). The waveform frequency is
defined by the following equation:
The N variable represents the prescale factor (1, 8, 32, 64, 128, 256, or 1024).
As for the Normal mode of operation, the
TOV2
Flag is set in the same timer clock cycle
that the counter counts from MAX to 0x00.
TCNTn
OCn
(Toggle)
OCn Interrupt Flag Set
1
4
Period
2
3
(COMn1:0 = 1)
f
OCn
f
clk_I/O
2
N
1
OCRn
+
(
)
⋅ ⋅
-----------------------------------------------
=