121
ATmega16M1/32M1/64M1 [DATASHEET]
8209E–AVR–11/2012
15.11.4
TCNT1H and TCNT1L – Timer/Counter1
The two Timer/Counter I/O locations (TCNTnH and TCNTnL, combined TCNTn) give direct access, both for read
and for write operations, to the Timer/Counter unit 16-bit counter. To ensure that both the high and low bytes are
read and written simultaneously when the CPU accesses these registers, the access is performed using an 8-bit
temporary High Byte Register (TEMP). This temporary register is shared by all the other 16-bit registers.
SeeModifying the counter (TCNTn) while the counter is running introduces a risk of missing a compare match between
TCNTn and one of the OCRnx Registers.
Writing to the TCNTn Register blocks (removes) the compare match on the following timer clock for all compare
units.
15.11.5
OCR1AH and OCR1AL – Output Compare Register 1 A
15.11.6
OCR1BH and OCR1BL – Output Compare Register 1 B
The Output Compare Registers contain a 16-bit value that is continuously compared with the counter value
(TCNTn). A match can be used to generate an Output Compare interrupt, or to generate a waveform output on the
OCnx pin.
The Output Compare Registers are 16-bit in size. To ensure that both the high and low bytes are written simultane-
ously when the CPU writes to these registers, the access is performed using an 8-bit temporary High Byte Register
15.11.7
ICR1H and ICR1L – Input Capture Register 1
The Input Capture is updated with the counter (TCNTn) value each time an event occurs on the ICPn pin (or
optionally on the Analog Comparator output for Timer/Counter1). The Input Capture can be used for defining the
counter TOP value.
The Input Capture Register is 16-bit in size. To ensure that both the high and low bytes are read simultaneously
when the CPU accesses these registers, the access is performed using an 8-bit temporary High Byte Register
Bit
76543210
TCNT1[15:8]
TCNT1H
TCNT1[7:0]
TCNT1L
Read/write
R/W
Initial value
00000000
Bit
76543210
OCR1A[15:8]
OCR1AH
OCR1A[7:0]
OCR1AL
Read/write
R/W
Initial value
00000000
Bit
76543210
OCR1B[15:8]
OCR1BH
OCR1B[7:0]
OCR1BL
Read/write
R/W
Initial value
00000000
Bit
76543210
ICR1[15:8]
ICR1H
ICR1[7:0]
ICR1L
Read/write
R/W
Initial value
00000000