beautypg.com

1 normal 8-bit mode, 2 clear timer on compare match (ctc) 8-bit mode, 3 16-bit mode – Rainbow Electronics ATmega8HVD User Manual

Page 77: Atmega4hvd/8hvd

background image

77

8052B–AVR–09/08

ATmega4HVD/8HVD

16.5.1

Normal 8-bit Mode

In the normal mode, the counter (TCNTnL) is incrementing until it overruns when it passes its
maximum 8-bit value (MAX = 0xFF) and then restarts from the bottom (0x00), see

Table 16-2

on page 76

for bit settings. The Overflow Flag (TOVn) will be set in the same timer clock cycle

as the TCNTnL becomes zero. The TOVn Flag in this case behaves like a ninth bit, except
that it is only set, not cleared. However, combined with the timer overflow interrupt that auto-
matically clears the TOVn Flag, the timer resolution can be increased by software. There are
no special cases to consider in the Normal 8-bit mode, a new counter value can be written
anytime. The Output Compare Unit can be used to generate interrupts at some given time.

16.5.2

Clear Timer on Compare Match (CTC) 8-bit Mode

In Clear Timer on Compare or CTC mode, the OCRnA Register is used to manipulate the
counter resolution, see

Table 16-2 on page 76

for bit settings. In CTC mode the counter is

cleared to zero when the counter value (TCNTn) matches the OCRnA. The OCRnA 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 16-3 on page 77

. The counter value

(TCNTn) increases until a Compare Match occurs between TCNTn and OCRnA, and then
counter (TCNTn) is cleared.

Figure 16-3. CTC Mode, Timing Diagram

An interrupt can be generated each time the counter value reaches the TOP value by using
the OCFnA Flag. If the interrupt is enabled, the interrupt handler routine can be used for
updating the TOP value. However, changing TOP to a value close to BOTTOM 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 OCRnA is lower
than the current value of TCNTn, 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. As for the Normal mode of operation, the TOVn Flag is set in the
same timer clock cycle that the counter counts from MAX to 0x00.

16.5.3

16-bit Mode

In 16-bit mode, the counter (TCNTnH/L) is a incrementing until it overruns when it passes its
maximum 16-bit value (MAX = 0xFFFF) and then restarts from the bottom (0x0000), see

Table

16-2 on page 76

for bit settings. The Overflow Flag (TOVn) will be set in the same timer clock

cycle as the TCNTnH/L becomes zero. The TOVn Flag in this case behaves like a 17th bit,
except that it is only set, not cleared. However, combined with the timer overflow interrupt that
automatically clears the TOVn Flag, the timer resolution can be increased by software. There

TCNTn

OCnx Interrupt Flag Set

1

4

Period

2

3