9 accessing registers in 16-bit mode, Atmega4hvd/8hvd – Rainbow Electronics ATmega8HVD User Manual

Page 82

Advertising
background image

82

8052B–AVR–09/08

ATmega4HVD/8HVD

Figure 16-7. Timer/Counter Timing Diagram, with Prescaler (f

clk_I/O

/8)

Figure 16-8 on page 82

shows the setting of OCFnA and OCFnB in Normal mode.

Figure 16-8. Timer/Counter Timing Diagram, Setting of OCFnx, with Prescaler (f

clk_I/O

/8)

Figure 16-9 on page 82

shows the setting of OCFnA and the clearing of TCNTn in CTC mode.

Figure 16-9. Timer/Counter Timing Diagram, CTC mode, with Prescaler (f

clk_I/O

/8)

16.9

Accessing Registers in 16-bit Mode

In 16-bit mode (the TCWn bit is set to one) the TCNTnH/L and OCRnA/B or TCNTnL/H and
OCRnB/A are 16-bit registers that can be accessed by the AVR CPU via the 8-bit data bus.
The 16-bit register must be byte accessed using two read or write operations. The 16-bit
Timer/Counter has a single 8-bit register for temporary storing of the high byte of the 16-bit
access. The same temporary register is shared between all 16-bit registers. Accessing the low
byte triggers the 16-bit read or write operation. When the low byte of a 16-bit register is written
by the CPU, the high byte stored in the temporary register, and the low byte written are both
copied into the 16-bit register in the same clock cycle. When the low byte of a 16-bit register is
read by the CPU, the high byte of the 16-bit register is copied into the temporary register in the
same clock cycle as the low byte is read.

TOVn

TCNTn

MAX - 1

MAX

BOTTOM

BOTTOM + 1

clk

I/O

clk

Tn

(clk

I/O

/8)

OCFnx

OCRnx

TCNTn

OCRnx Value

OCRnx - 1

OCRnx

OCRnx + 1

OCRnx + 2

clk

I/O

clk

Tn

(clk

I/O

/8)

OCFnx

OCRnx

TCNTn

(CTC)

TOP

TOP - 1

TOP

BOTTOM

BOTTOM + 1

clk

PCK

clk

Tn

(clk

PCK

/8)

Advertising