beautypg.com

I/o port b, Port b data register – portb, Port b data direction register – ddrb – Rainbow Electronics AT90LS2343 User Manual

Page 35

background image

35

AT90S/LS2323/2343

1004D–09/01

I/O Port B

All AVR ports have true read-modify-write functionality when used as general digital I/O
ports. This means that the direction of one port pin can be changed without unintention-
ally changing the direction of any other pin with the SBI and CBI instructions. The same
applies for changing drive value (if configured as output) or enabling/disabling of pull-up
resistors (if configured as input).

For the AT90S/LS2323, Port B is an 3-bit bi-directional I/O port. For the AT90S/LS2343,
Port B is a 5-bit bi-directional I/O port.

Please note: Bits 3 and 4 in the description of PORTB, DDRB and PINB do not apply to
the AT90S/LS2323. They are read only with a value of 0.

Three I/O memory address locations are allocated for Port B, one each for the Data
Register – PORTB, $18 ($38), Data Direction Register – DDRB, $17($37) and the Port
B Input Pins – PINB, $16($36). The Port B Input Pins address is read-only, while the
Data Register and the Data Direction Register are read/write.

All port pins have individually selectable pull-up resistors. The Port B output buffers can
sink 20 mA and thus drive LED displays directly. When pins PB0 to PB4 are used as
inputs and are externally pulled low, they will source current if the internal pull-up resis-
tors are activated.

The Port B pins with alternate functions are shown in Table 12.

When the pins are used for the alternate function the DDRB and PORTB register has to
be set according to the alternate function description.

Port B Data Register – PORTB

Port B Data Direction Register
– DDRB

Table 12. Port B Pin Alternate Functions

Port Pin

Alternate Functions

PB0

MOSI (Data input line for memory downloading)

PB1

MISO (Data output line for memory uploading)
INT0 (External Interrupt0 Input)

PB2

SCK (Serial clock input for serial programming)
TO (Timer/Counter0 counter clock input)

PB3

CLOCK (Clock input, AT90S/LS2343 only)

Bit

7

6

5

4

3

2

1

0

$18 ($38)

PORTB4

PORTB3

PORTB2

PORTB1

PORTB0

PORTB

Read/Write

R

R

R

R/W

R/W

R/W

R/W

R/W

Initial Value

0

0

0

0

0

0

0

0

Bit

7

6

5

4

3

2

1

0

$17 ($37)

DDB4

DDB3

DDB2

DDB1

DDB0

DDRB

Read/Write

R

R

R

R/W

R/W

R/W

R/W

R/W

Initial Value

0

0

0

0

0

0

0

0