Assembler-Einstieg
von B. Kainka, aus dem Lernpaket Mikrocontroller
Ein Programm für den Mikrocontroller besteht aus Zahlen, die der interne Prozessor als Befehle versteht. Dieser Maschinencode könnte direkt als Zahlenfolge geschrieben werden. Das ist aber nicht üblich, weil es den menschlichen Geist überfordert. Stattdessen schreibt man die Befehle als Text, der dann durch eine Software in Maschinencode übersetzt wird. Das Übersetzen nennt man auch assemblieren, die Software dazu Assembler. Die Arbeit mit dem Assembler stellt die unterste Ebene der Programmierung dar, bei der man ganz direkt jedes einzelne Bit beeinflussen kann.
Ganzen Artikel lesen...
Zum Programmieren des Mikrocontrollers ATtiny13 wird hier zunächst der Assembler benötigt. Die Firma ATMEL stellt mit dem AVR Studio eine kostenlose Programmierumgebung mit Assembler und Simulator bereit, die auch mit dem C-Compiler Win-AVR zusammen arbeitet. Auf der CD zum Lernpaket finden Sie das AVR Studio 4 (aStudio4b356.exe). Installieren Sie die Oberfläche, indem Sie die Installationsdatei ausführen und den Anweisungen folgen. Aktuellere Versionen auch für neuere AVR-Mikrocontroller gibt es auf der Seite des Herstellers www.atmel.com. Insbesondere die neuere Version 4.12 ist dann erforderlich, wenn Sie das AVR Studio nicht nur für Assembler sondern auch für C-Programme verwenden möchten.
Nach vollständiger Installation können Sie das AVR Studio 4 starten. Zunächst erscheint ein Fenster zur Auswahl eines Projekts oder zum Erstellen eines neuen Projekts.

Erzeugen eines neuen Projekts
Beginnen Sie ein neues Assembler-Projekt mit dem Namen „LED". Klicken Sie dazu auf „Create New Project". Die Optionen „Create initial File" und „Create Folder" müssen aktiviert sen. Tippen Sie dann im Feld „Project Name" den Namen „LED" ein. Damit wird das Feld „Initial File" mit dem gleichen Namen gefüllt, d.h. Ihr Quelltext heißt nun LED.asm. Das Projekt soll im Verzeichnis C:\Franzis\LPmikro stehen, das bereits die fertigen Projekte des Lernpakets enthält.

Eingabe des Projektnamens
Mit Next gelangen Sie ins nächste Fenster, wo der AVR Simulator für den Zielprozessor ATtiny13 ausgewählt wird.

Auswahl des ATtiny13
Ein abschließender Klick auf Finish öffnet das neue Projekt. Im Editorfenster erscheint der noch leere Quelltest LED.asm

Der Editor
Tippen Sie nun den folgenden kurzen Programmtext ein. Es wird eine Zieladresse „Anfang" definiert. Mit dem Befehl „rjmp Anfang" springt das Programm immer wieder zum Anfang. Es handelt sich also um eine Endlosschleife, die in Mikrocontroller-Projekten oft als Abschluss eines Programms verwendet wird.
Mit Project/Build oder F7 wird das Programm übersetzt. Wenn alles ohne Fehler abläuft, erhalten Sie die Meldung „Assembly complete with no errors". Im Projektverzeichnis LED befindet sich nun u.a. die Datei LED.hex. Diese könnten Sie in den Mikrocontroller laden, allerdings wird noch keine sinnvolle Funktion erreicht.

Fehlerfreie Übersetzung
Falls Sie den Debugger ausprobieren möchten, fügen Sie noch einen nop-Befehl (No Operation, nichts tun) in den Quelltext ein und starten Sie ihn mit Debug /Start Debugging. Das Programm kann dann im Simulator gestartet werden. Beobachten mit Einzelschritten, wie das Programm die beiden Anweisung „nop" und „rjmp Anfang" abwechselnd immer wieder ausführt. Das Lernpaket verzichtet aus Platzgründen auf den Einsatz des Debuggers. Sie können aber alle besprochenen Projekte auch im Debugger testen.

Programmsimulation im Debugger

Lernen Sie die ganze Vielfalt vom Franzis Buch- und Softwareverlag kennen