Titelbild Mikrocontroller

3.4 I/O-Speicher

Alle I/O-Funktionen und peripheren Einheiten des ATmega8 sind im I/O-Speicher platziert. Auf die I/O-Speicher wird mit den IN- und OUT-Befehlen zugegriffen, die Daten zwischen den Registern und den I/O-Speicherzellen transportieren. Die I/O-Speicher im Adressbereich zwischen 00h und 1Fh sind bitadressierbar. Das heißt, dass einzelne Bits in diesen Speichern mit den SBI- und CBI-Befehlen gesetzt oder gelöscht werden können. Der Zustand der einzelnen Bits kann mit den Befehlen SBIS und SBIC abgefragt werden.

Wenn die I/O-Speicher mit den IN- und OUT-Befehlen angesprochen werden, dann müssen die Adressen 00h bis 3Fh verwendet werden. Wenn die I/O-Speicher mit den Befehlen LD und ST über die Adressen des Datenspeichers angesprochen werden, so muss der Wert 20h zu den ursprünglichen Adressen hinzuaddiert werden (Adressen 20h bis 5Fh im Datenspeicher).

Um die Kompatibilität mit zukünftigen Bausteinen zu gewährleisten, werden reservierte Bits als Null gelesen, wenn auf diese zugegriffen wird. Reservierte Adressen im I/O-Speicher können nicht beschrieben werden.

Einige Statusbits können gelöscht werden, indem sie mit einer logischen 1 beschrieben werden. Dass heißt, dass durch Zurückschreiben einer 1 in ein Bit, das zuvor als 1 gelesen wurde, dieses Bit gelöscht wird.

Die Übersicht über alle I/O-Speicher ist am Ende des Dokumentes abgebildet, die Funktion der einzelnen I/O-Speicher wird an den passenden Stellen beschrieben.
Impressum