Atmel AVR Mikrocontroller
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)
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.