Port D
Three I/O memory address locations are allocated for Port D, one each for the Data
Register – PORTD ($12), Data Direction Register – DDRD ($11), and the Port D Input
Pins – PIND ($10). The Port D Input Pins address is read-only, while the Data Register
and the Data Direction Register are read/write.
Port D has seven bi-directional I/O pins with internal pull-up resistors, PD6..PD0. The
Port D output buffers can sink 20 mA. As inputs, Port D pins that are externally pulled
low will source current if the pull-up resistors are activated.
Some Port D pins have alternate functions as shown in Table 10.
Table 10. Port D Pin Alternate Functions
Port Pin
PD2
Alternate Function
INT0 (External Interrupt 0 input)
T0 (Timer/Counter 0 external input)
PD4
Port D Data Register – PORTD
Bit
7
–
6
PORTD6
R/W
0
5
PORTD5
R/W
0
4
PORTD4
R/W
0
3
PORTD3
R/W
0
2
PORTD2
R/W
0
1
PORTD1
R/W
0
0
PORTD0
R/W
0
PORTD
DDRD
PIND
$12
Read/Write
Initial Value
R
0
Port D Data Direction Register
– DDRD
Bit
7
–
6
DDD6
R/W
0
5
DDD5
R/W
0
4
DDD4
R/W
0
3
DDD3
R/W
0
2
DDD2
R/W
0
1
DDD1
R/W
0
0
DDD0
R/W
0
$11
Read/Write
Initial Value
R
0
Port D Input Pins Address –
PIND
Bit
7
–
6
PIND6
R
5
PIND5
R
4
PIND4
R
3
PIND3
R
2
PIND2
R
1
PIND1
R
0
PIND0
R
$10
Read/Write
Initial Value
R
0
N/A
N/A
N/A
N/A
N/A
N/A
N/A
The Port D Input Pins address (PIND) is not a register, and this address enables access
to the physical value on each Port D pin. When reading PORTD, the Port D Data Latch
is read; and when reading PIND, the logical values present on the pins are read.
Port D as General Digital I/O
PDn, general I/O pin: The DDDn bit in the DDRD Register selects the direction of this
pin. If DDDn is set (one), PDn is configured as an output pin. If DDDn is cleared (zero),
PDn is configured as an input pin. If PORTDn is set (one) when DDDn is configured as
an input pin, the MOS pull-up resistor is activated. To switch the pull-up resistor off, the
PORTDn bit has to be cleared (zero) or the pin has to be configured as an output pin.
The Port D pins are tri-stated when a reset condition becomes active, even if the clock is
not active.
34
AT90S1200
0838H–AVR–03/02