Ports des AVR Mikrocontrollers

AVR - Die 8 Datenleitungen

Die Zusammenfassung von acht Datenleitungen nennt man einen Port. Je nach Mikrocontroller wird man eine unterschiedliche Anzahl an Ports vorfinden.
Es gibt aber auch Ports, welche nur sieben oder weniger Datenleitungen besitzen.
Ports werden alphabethisch numeriert (also PORTA, PORTB, PORTC usw.)

 

Beispiel:

AT90PWM316 im SOIC32 Package

(Die Pins des PORTB sind gelb markiert)

AT90PWM316 im SOIC32

 

Kommunikation über die Datenleitungen der Ports

Die Datenleitungen der Ports können zur bidirektionalen (senden und empfangen) Kommunikation verwendet werden.
Bei der AVR-Serie gibt es aber hier eine kleine Besonderheit.

Datenrichtung im DDR bestimmen

Vor dem Lesen oder Schreiben müssen wir die Datenrichtung im DDR (Data-Direktion-Register) bestimmen.

  • 0 im DDR = Eingang
  • 1 im DDR = Ausgang

 

Beispiel:

Die obersten vier Bits vom PORTB sollen als Ausgang und die untersten 4 Bits als Eingang definiert werden.

DDRB = 0xF0;                     //DDRB enthält den Hex-Wert F0

Der Wert 0xF0 entspricht binär dem Wert 1111 0000

In der folgenden Grafik ist dieses Beispiel erklärt. PORTB.7 entspricht dem höchsten Bit im DDRB.

DDRB AVR Ports