beginner_de
beginner_de
beginner_de
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Avr-Asm-Tutorial S. 36<br />
7 Ports<br />
7.1 Was ist ein Port?<br />
Ports sind eigentlich ein Sammelsurium verschie<strong>de</strong>ner Speicher. In <strong>de</strong>r Regel dienen sie <strong>de</strong>r Kommunikation<br />
mit irgen<strong>de</strong>iner internen Gerätschaft wie z.B. <strong>de</strong>n Timern o<strong>de</strong>r <strong>de</strong>r Seriellen Schnittstelle<br />
o<strong>de</strong>r <strong>de</strong>r Bedienung von äußeren Anschlüssen wie <strong>de</strong>n Parallel-Schnittstellen <strong>de</strong>s AVR. Der wichtigste<br />
Port wird weiter unten besprochen: das Status-Register, das an das wichtigste interne Gerät,<br />
nämlich <strong>de</strong>n Akkumulator, angeschlossen ist.<br />
7.2 Port-Organisation<br />
Es gibt insgesamt 64 direkt adressierbare Ports, die aber nicht bei allen AVR-Typen auch tatsächlich<br />
physikalisch vorhan<strong>de</strong>n sind. Bei größeren ATmega gibt es neben <strong>de</strong>n direkt adressierbaren Ports<br />
noch indirekt adressierbare Ports, doch dazu später mehr. Je nach Größe und Ausstattung <strong>de</strong>s Typs<br />
sind eine Reihe von Ports sinnvoll ansprechbar. Welche <strong>de</strong>r Ports in welchem Typ tatsächlich vorhan<strong>de</strong>n<br />
sind, ist letztlich aus <strong>de</strong>n Datenblättern zu erfahren. Hier ein Ausschnitt aus <strong>de</strong>n Ports <strong>de</strong>s<br />
ATmega8 (von ATMEL zur allgemeinen Verwirrung auch "Register" genannt:<br />
Ports haben eine feste Adresse (in <strong>de</strong>m oben gezeigten Ausschnitt z. B. 0x3F für <strong>de</strong>n Port SREG, 0x<br />
steht dabei für hexa<strong>de</strong>zimal!), über die sie angesprochen wer<strong>de</strong>n können. Die Adresse gilt teilweise<br />
unabhängig vom AVR-Typ, teilweise aber auch nicht. So befin<strong>de</strong>t sich das Statusregister SREG immer<br />
an <strong>de</strong>r Adresse 0x3F, <strong>de</strong>r Ausgabeport <strong>de</strong>r Parallelschnittstelle B immer an <strong>de</strong>r Portadresse<br />
0x18.<br />
Ports nehmen oft ganze Zahlen auf (z. B. TCCR0 im Ausschnitt oben), sie können aber auch aus einer<br />
Reihe einzelner Steuerbits bestehen. Diese einzelnen Bits haben dann eigene Namen, so dass sie<br />
mit Instruktionen zur Bitmanipulation angesteuert wer<strong>de</strong>n können. In <strong>de</strong>r Portliste hat auch je<strong>de</strong>s<br />
Bit in <strong>de</strong>m jeweiligen Port seinen speziellen symbolischen Namen, z. B. hat das Bit 7 im Port "GI-<br />
CR" <strong>de</strong>n symbolischen Namen "INT1".