Lade Inhalt...

Programmieren mit dem Schulungsboard für Atmel-Mikrocontroller (Schulungsboard Version 2 mit USB-Schnittstelle)

von Tobias Stuckenberg (Autor)

Fachbuch 2012 30 Seiten

Physik - Didaktik

Leseprobe

Inhalt

Einführung

Allgemeiner Programmaufbau
Steuern von Ausgängen
Leuchtdioden schalten
Übungsaufgaben
Eingabe durch Taster

Vervollständigung des Programmkopfs und Ansteuerung des LCD-

Display

Taster und Schalter: Aufgaben
Übungsaufgaben:

Schleifen und Variablen
Beispielaufgaben:
Display und Schleifen
Ausgabe von Zufallszahlen
Verwendung von Interrupts

Programmierbefehle und Syntax

Anhang

Einführung

Die Atmel Mikrocontroller sind programmierbare Speicherbausteine. Es gibt unterschiedliche Typen, die verschiedene Bauformen haben. Sie haben unterschiedlich viele „Beine“ (Pins) und sie sind mehr oder weniger leistungsfähig. Bei allen Mikrocontrollern lässt sich die Funktion nahezu aller Pins festlegen (programmieren) und je nach Programm hat der Mikrocontroller ganz unterschiedliche Aufgaben. Je nach Typ sind Sonderfunktionen wie z.B. AD-Wandler oder Timer implementiert. In unserem Schulungsboard wird der Atmel Mikrocontroller „ATmega16“1 verwendet.

Dieses Skript soll Ihnen helfen, einen erfolgreichen und einfachen Einstieg in diese komplexe Thematik zu finden. Anhand von einfachen Beispielen werden Ihnen die Grundfunktionen und Möglichkeiten der Atmel Mikrocontroller vorgestellt.

Mikrocontroller haben keine bestimmte Aufgabe - und das ist ihre Besonderheit, ihre Funktion wird erst durch ein Programm definiert. Leider verstehen Mikrocontroller nur Maschinensprache. Diese Programmiersprache ist ausgesprochen unanschaulich und nur ein ausgesprochen erfahrener Programmierer kann sie verwenden.

Zum Glück gibt es sogenannte Compiler, die in der Lage sind, gängige und leichter erlernbare Programmiersprachen in die für Atmel-Prozessoren verständliche Maschinensprache zu übersetzen. Wir haben uns hier für die Programmiersprache „Basic“ entschieden, da diese Sprache sehr einfach zu erlernen ist - das prädestiniert sie für den Einsatz in der Schule. Um die Programme schreiben und um sie in Maschinensprache übersetzen zu können, verwenden wir die Software BASCOM der Firma „MCS electronics“. Die Demoversion ist kostenlos.2 Diese hat keine Funktionsbeschränkungen, nur darf die maximale Programmgröße 4 KB nicht überschreiten. Diese Grenze wird aber nur von sehr umfangreichen Programmen überschritten. Die Vollversion kann man derzeit für unter 80 € beziehen.

Jedes Basic Programm hat einen Programmkopf:

Abbildung in dieser Leseprobe nicht enthalten

Die farbigen Hervorhebungen werden von BASCOM automatisch erzeugt und dienen der besseren Lesbarkeit des Programms.

Ein Basic-Programm wird Zeile für Zeile abgearbeitet. Im Programmkopf werden neben den schon vorgestellten Befehlen den Pins des Chips sinnvolle Namen gegeben, Variablen definiert oder Sonderfunktionen aktiviert. Erst danach beginnt dann das eigentliche Programm.

Allgemeiner Programmaufbau

Im Programmkopf werden, basierend auf dem Platinenlayout und dem verwendeten Prozessortyp, verschiedene Einstellungen festgelegt. Bei unserem Schulungsboard steht zum Beispiel schon fest, dass der ATmega16 verwendet wird, der mit einem externen Quarz von 16 MHz arbeitet. Weiterhin ist bestimmt, welcher Pin des Mikrocontrollers mit welcher Buchse und mit welchem Schalter und dem Display auf der Frontplatte verbunden ist.

Mit dem Compilerbefehl $regfile legt man für das Programm BASCOM fest, für welchen Prozessortyp die Kompilierung (die Übersetzung in die Maschinensprache) erfolgen soll. Wenn diese Zeile vorhanden ist, stellt der Programmeditor von BASCOM auf der rechten Seite des Bildschirms eine Übersicht mit allen Pins und - bei Klick auf einen Pin dessen mögliche Funktionen bereit.

Der Befehl $crystal gibt an, mit welcher Taktfrequenz der entsprechende Mikrocontroller betrieben wird. Diese Einstellung ist wichtig, damit Pausenzeiten richtig berechnet werden können.

Steuern von Ausgängen

Unser erstes Programm beinhaltet den notwendigen Programmkopf und die notwendigen Befehle, um eine LED anzusteuern.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1 zeigt, wie die Ports den einzelnen „Beinen“ des Mikrocontrollers zugeordnet sind.

Leuchtdioden schalten

Das nächste Programm soll die drei Leuchtdioden auf dem Schulungsboard einschalten.

Abbildung in dieser Leseprobe nicht enthalten

Wir werden nun nach und nach den Pins der verschiedenen Ports AliasNamen und Funktionen zuweisen. Beim nächsten Programm benötigen wir die LED nicht, wir behalten aber die programmierten Zeilen bei. So entwickeln wir langsam ein Grundprogramm, das uns die Programmierung des Schulungsboards vereinfacht.

Jetzt soll der Summer angesteuert werden. Wir verwenden das Programm, das wir eben geschrieben haben, und entfernen die drei Befehlszeilen, die die LED einschalten.

Der Summer ist ein kleiner Lautsprecher, der ununterbrochen ein- und ausgeschaltet werden muss, damit wir einen Ton hören können.

Wir weisen Portd.0 den Alias-Namen „Summer“ zu und konfigurieren den Port als Ausgang (Output).

Abbildung in dieser Leseprobe nicht enthalten

Wenn alles stimmt, müsste es summen.

Da der Atmel Mikrocontroller für die Bearbeitung einer Programmzeile bei den meisten Befehlen weniger als eine Mikrosekunde braucht, benötigen wir die Pausenfunktion Wait.

Mit dem Befehl Wait können wir auch die LED blinken lassen.

Wait 5 bedeutet, dass die nächste Zeile erst nach einer Wartezeit

von 5 Sekunden abgearbeitet wird.

Waitms 5 bedeutet, dass die nächste Zeile erst nach einer Wartezeit von 5 Millisekunden abgearbeitet wird.

Waitus 5 bedeutet, dass die nächste Zeile erst nach einer Wartezeit von 5 Mikrosekunden abgearbeitet wird.

[...]

Details

Seiten
30
Jahr
2012
ISBN (eBook)
9783656232049
ISBN (Buch)
9783656233909
Dateigröße
820 KB
Sprache
Deutsch
Katalognummer
v196616
Institution / Hochschule
Carl von Ossietzky Universität Oldenburg – Physik; Abteilung Technische Bildung
Note
Schlagworte
programmieren schulungsboard atmel-mikrocontroller version usb-schnittstelle

Autor

  • Tobias Stuckenberg (Autor)

Teilen

Zurück

Titel: Programmieren mit dem Schulungsboard für Atmel-Mikrocontroller (Schulungsboard Version 2 mit USB-Schnittstelle)