beautypg.com

2 toggling the pin, 3 break-before-make switching – Rainbow Electronics ATtiny10 User Manual

Page 42

background image

42

8127B–AVR–08/09

ATtiny4/5/9/10

The DDxn bit in the DDRx Register selects the direction of this pin. If DDxn is written logic one,
Pxn is configured as an output pin. If DDxn is written logic zero, Pxn is configured as an input
pin.

If PORTxn is written logic one when the pin is configured as an output pin, the port pin is driven
high (one). If PORTxn is written logic zero when the pin is configured as an output pin, the port
pin is driven low (zero).

The pull-up resistor is activated, if the PUExn is written logic one. To switch the pull-up resistor
off, PUExn has to be written logic zero.

Table 10-1

summarizes the control signals for the pin value.

Port pins are tri-stated when a reset condition becomes active, even when no clocks are
running.

10.2.2

Toggling the Pin

Writing a logic one to PINxn toggles the value of PORTxn, independent on the value of DDRxn.
Note that the SBI instruction can be used to toggle one single bit in a port.

10.2.3

Break-Before-Make Switching

In Break-Before-Make mode, switching the DDRxn bit from input to output introduces an imme-
diate tri-state period lasting one system clock cycle, as indicated in

Figure 10-3

. For example, if

the system clock is 4 MHz and the DDRxn is written to make an output, an immediate tri-state
period of 250 ns is introduced before the value of PORTxn is seen on the port pin.

To avoid glitches it is recommended that the maximum DDRxn toggle frequency is two system
clock cycles. The Break-Before-Make mode applies to the entire port and it is activated by the
BBMx bit. For more details, see

“PORTCR – Port Control Register” on page 50

.

When switching the DDRxn bit from output to input no immediate tri-state period is introduced.

Table 10-1.

Port Pin Configurations

DDxn

PORTxn

PUExn

I/O

Pull-up

Comment

0

X

0

Input

No

Tri-state (hi-Z)

0

X

1

Input

Yes

Sources current if pulled low externally

1

0

0

Output

No

Output low (sink)

1

0

1

Output

Yes

NOT RECOMMENDED.
Output low (sink) and internal pull-up active.
Sources current through the internal pull-up
resistor and consumes power constantly

1

1

0

Output

No

Output high (source)

1

1

1

Output

Yes

Output high (source) and internal pull-up active