02.05.2013 Aufrufe

beginner_de

beginner_de

beginner_de

MEHR ANZEIGEN
WENIGER ANZEIGEN

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".

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!