beautypg.com

Asynchronous operation of the timer/counter, Asynchronous status register – assr, Atmega169v/l – Rainbow Electronics Atmega169L User Manual

Page 137

background image

137

ATmega169V/L

2514A–AVR–08/02

Asynchronous operation
of the Timer/Counter

Asynchronous Status
Register – ASSR

• Bit 4 – EXCLK: Enable External Clock Input

When EXCLK is written to one, and asynchronous clock is selected, the external clock
input buffer is enabled and an external clock can be input on Timer Oscillator 1 (TOSC1)
pin instead of a 32 kHz crystal. Writing to EXCLK should be done before asynchronous
operation is selected. Note that the crystal Oscillator will only run when this bit is zero.

• Bit 3 – AS2: Asynchronous Timer/Counter2

When AS2 is written to zero, Timer/Counter2 is clocked from the I/O clock, clk

I/O

. When

AS2 is written to one, Timer/Counter2 is clocked from a crystal Oscillator connected to
the Timer Oscillator 1 (TOSC1) pin. When the value of AS2 is changed, the contents of
TCNT2, OCR2A, and TCCR2A might be corrupted.

• Bit 2 – TCN2UB: Timer/Counter2 Update Busy

When Timer/Counter2 operates asynchronously and TCNT2 is written, this bit becomes
set. When TCNT2 has been updated from the temporary storage register, this bit is
cleared by hardware. A logical zero in this bit indicates that TCNT2 is ready to be
updated with a new value.

• Bit 1 – OCR2UB: Output Compare Register2 Update Busy

When Timer/Counter2 operates asynchronously and OCR2A is written, this bit becomes
set. When OCR2A has been updated from the temporary storage register, this bit is
cleared by hardware. A logical zero in this bit indicates that OCR2A is ready to be
updated with a new value.

• Bit 0 – TCR2UB: Timer/Counter Control Register2 Update Busy

When Timer/Counter2 operates asynchronously and TCCR2A is written, this bit
becomes set. When TCCR2A has been updated from the temporary storage register,
this bit is cleared by hardware. A logical zero in this bit indicates that TCCR2A is ready
to be updated with a new value.

If a write is performed to any of the three Timer/Counter2 Registers while its update
busy flag is set, the updated value might get corrupted and cause an unintentional inter-
rupt to occur.

The mechanisms for reading TCNT2, OCR2A, and TCCR2A are different. When read-
ing TCNT2, the actual timer value is read. When reading OCR2A or TCCR2A, the value
in the temporary storage register is read.

Bit

7

6

5

4

3

2

1

0

EXCLK

AS2

TCN2UB

OCR2UB

TCR2UB

ASSR

Read/Write

R

R

R

R/W

R/W

R

R

R

Initial Value

0

0

0

0

0

0

0

0