Titelbild Mikrocontroller

8. I/O Ports

Alle AVR-Ports bieten eine echte lesen – verändern – schreiben Funktion, wenn sie als allgemeine digitale I/O-Ports verwendet werden. Das bedeutet, dass die Richtung eines einzelnen Port-Pins verändert werden kann, ohne dass die Richtung der anderen Pins beeinflusst wird, wenn man die SBI und CBI Befehle verwendet. Das gleiche gilt für das Ändern der Ausgangszustände einzelner Pins (wenn diese als Output konfiguriert sind) oder für das Ein- und Ausschalten der pull-up Widerstände, wenn die Pins als Eingänge fungieren. Jeder Pin hat einen symmetrischen Treiber, der sowohl positive als auch negative Ströme liefert, so dass an jeden Pin eine LED direkt angeschlossen werden kann. Alle Pins haben einen einzeln an- und abschaltbaren pull-up Widerstand dessen Größe unabhängig von der Versorgungsspannung ist. Ferner haben alle Port-Pins zwei Schutzdioden die gegen VCC und Masse geschaltet sind.

I/O-Port des ATmega8

I/O-Port des ATmega8


Alle Ports und deren Pins werden nachfolgend allgemein beschrieben. Der Index „x“ steht für die Bezeichnung des Ports, der Index „n“ für die Nummer des Pins. In einem Programm müssen die Port- und Pin-Angaben in präziser Form angegeben werden. PORTB5 steht also für das Bit 5 von Port B.

Für jeden Port stehen drei Register im I/O-Speicher zur Verfügung. Ein Daten-Register (PORTx), ein Richtungs-Register (DDRx) und eins für die Port Input-Pins (PINx). Die Port Input-Pin Register können nur gelesen werden, während die Daten- und die Richtungs-Register gelesen und beschrieben werden können. Zusätzlich können mit dem Pull-up Disable (PUD) Bit im SFIOR-Register alle pull-up Widerstände ausgeschaltet werden.

Die Verwendung der Port Pins als digitale Ein- und Ausgänge wird nachfolgend beschrieben. Darüber hinaus haben viele Pins noch alternative Funktionen die die periphere Funktionen des Bausteins unterstützen. Wie die alternativen Funktionen mit den Port Pins zusammenhängen, wird in den folgenden Seiten beschrieben, die detaillierten Funktionen sind dann in den Kapiteln zu den peripheren Modulen beschrieben. Das Verwenden eines Port Pins mit seiner alternativen Funktion hat keinen Einfluss auf die anderen Pins eines Ports, die als digitale Ein- Ausgänge verwendet werden.
Impressum