beautypg.com

Port b, Port b data register – portb, Port b data direction register – ddrb – Rainbow Electronics ATmega161L User Manual

Page 91: Port b input pins address – pinb, Atmega161(l)

background image

91

ATmega161(L)

1228C–AVR–08/02

Port B

Port B is an 8-bit bi-directional I/O port.

Three I/O memory address locations are allocated for the 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 PB7 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 30.

Note:

1. When the pins are used for the alternate function, the DDRB and PORTB Registers

have to be set according to the alternate function description.

Port B Data Register – PORTB

Port B Data Direction Register
– DDRB

Port B Input Pins Address –
PINB

The Port B Input Pins address (PINB) is not a register; this address enables access to
the physical value on each Port B pin. When reading PORTB, the Port B Data Latch is
read and when reading PINB, the logical values present on the pins are read.

Table 30. Port B Pin Alternate Functions

(1)

Port Pin

Alternate Functions

PB0

OC0 (Timer/Counter0 Compare Match Output)/T0 (Timer/Counter0 External
Counter Input)

PB1

OC2 (Timer/Counter2 Compare Match Output)/T1 (Timer/Counter1 External
Counter Input)

PB2

RXD1 (UART1 Input Line)/AIN0 (Analog Comparator Positive Input)

PB3

TXD1 (UART1 Output Line)/AIN1 (Analog Comparator Negative Input)

PB4

SS (SPI Slave Select Input)

PB5

MOSI (SPI Bus Master Output/Slave Input)

PB6

MISO (SPI Bus Master Input/Slave Output)

PB7

SCK (SPI Bus Serial Clock)

Bit

7

6

5

4

3

2

1

0

$18 ($38)

PORTB7

PORTB6

PORTB5

PORTB4

PORTB3

PORTB2

PORTB1

PORTB0

PORTB

Read/Write

R/W

R/W

R/W

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)

DDB7

DDB6

DDB5

DDB4

DDB3

DDB2

DDB1

DDB0

DDRB

Read/Write

R/W

R/W

R/W

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

$16 ($36)

PINB7

PINB6

PINB5

PINB4

PINB3

PINB2

PINB1

PINB0

PINB

Read/Write

R

R

R

R

R

R

R

R

Initial Value

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A