beautypg.com

Atmega16(l) – Rainbow Electronics ATmega64L User Manual

Page 50

background image

50

ATmega16(L)

2466B–09/01

ceeding positive clock edge. As indicated by the two arrows t

pd,max

and t

pd,min

, a single

signal transition on the pin will be delayed between ½ and 1-½ system clock period
depending upon the time of assertion.

When reading back a software assigned pin value, a nop instruction must be inserted as
indicated in Figure 25. The out instruction sets the “SYNC LATCH” signal at the positive
edge of the clock. In this case, the delay t

pd

through the synchronizer is 1 system clock

period.

Figure 25. Synchronization when Reading a Software Assigned Pin Value

The following code example shows how to set port B pins 0 and 1 high, 2 and 3 low, and
define the port pins from 4 to 7 as input with pull-ups assigned to port pins 6 and 7. The
resulting pin values are read back again, but as previously discussed, a nop instruction
is included to be able to read back the value recently assigned to some of the pins.

nop

in r17, PINx

0xFF

0x00

0xFF

t

pd

out PORTx, r16

SYSTEM CLK

r16

INSTRUCTIONS

SYNC LATCH

PINxn

r17