Bascom - Der Lehrer des ATMega

 

Materialbedarf

 

Anz. Bezeichnung Datenblatt
1 Bascom für AVR-Controller  

 

 

Grundfunktionen

 

Wer mit Mikrokontrollern arbeitet, benötigt in irgendeiner Form ein Entwicklungssystem. Welches hierfür genau verwendet wird, ist im Prinzip nur von den persönlichen Wünschen und Anforderungen abhängig. Für den ATMega, der zur Familie der AVR-Prozessoren gehört, gibt es etliche Tools, die die Programmierung des Controllers ermöglichen. Hier einmal eine kleine Auswahl der Sprachen, die für den AVR erhältlich sind:

 

Assembler Assembler ist im Prinzip die 'Muttersprache' jedes Mikroprozessors und jedes Mikrokontrollers. Wer in Assembler programmiert, kann die maximale Leistung aus seinem Controller heraus holen. Der massive Nachteil ist, dass hier wirklich jeder kleinste Schritt selbst definiert werden muss. Assembler ist auch sehr abstrakt und für jede Prozessorfamilie anders. Wer z.B. auf einen AVR in Assembler ein Programm entwickelt, muss dieses im Grunde für einen 8051 komplett neu schreiben.
C C gehört zu den so genannten höheren Sprachen. Damit lassen sich sehr strukturierte Programme schreiben, dessen Maschinencode auch noch sehr kompakt ist. C nutzt viele Sonderzeichen so dass der Quelltext hier auch manchmal etwas 'Kryptisch' anmutet.
Pascal Ähnlich wie C, lassen sich mit Pascal auch sehr strukturierte Programme entwerfen. Pascal setzt, im Gegensatz zu C, hauptsächlich Funktionen und Befehle ein. Somit lassen sich die Programme leichter lesen, welches aber manchmal auf die Effektivität des endgültigen Maschinencodes geht.
Basic Der Vater aller Programmiersprachen ist Basic. Jeder 'Heimcomputer' zu beginn der Heimcomputerzeit hatte eine Form dieser Programmiersprache eingebaut. Auch heute noch hat diese Sprache ihre Berechtigung. Der Erfolg dieser Sprache liegt vor allem, in der einfach verständlichen Form. Eine Anweisung wie PRINT "HALLO" kann sogar derjenige übersetzen, der noch nie etwas mit einer Computersprache zu tun hatte.

 

Für die Programmierung des ATMega auf diesen Seiten habe ich mich für eine Basic-Variante entschieden. Ein sehr bekanntes Entwicklungssystem welches diese Sprache verwendet, ist Bascom. Im Internet ist eine Version dieser Sprache kostenlos verfügbar. Es ist auch eine 'Bezahlversion' vorhanden, wo sämtliche Eigenschaften der Software frei geschaltet sind. In der kostenlosen Version ist z.B. der maximal mögliche Programmcode begrenzt.

 

Für unsere Versuche hier, reicht diese Version aber vollkommen aus. In Verbindung mit einem einfachen Programmierkabel, welches in 'SPI-Kabel - 2 Welten treffen aufeinander' vorgestellt wird, können wir einfach den ATMega programmieren und einsetzen.

 

Wer sich die Bascom-Version besorgt und installiert hat, wird nach dem Start des Programms folgendes Bild sehen:

 

 

Nun kann hier ein Programm eingegeben werden. Wurde dieses fertig gestellt, muss man aus dem eingegebenen Quellcode noch den Maschinencode erzeugen, dass der AVR versteht. Hierfür sollte das Programmierkabel eingesteckt sein. Danach kann man das Programm übersetzen lassen:

 

 

Wir gehen jetzt einmal davon aus, dass das Programm fehlerfrei übersetzt wurde. Nun kann es in den ATMega programmiert werden. Hierfür drücken wir den Button mit dem 'Textool-Sockel' als Bild:

 

 

Es wird darauf hin ein Fenster geöffnet, wo sich noch einige Sachen für den Controller einstellen lassen und der AVR auch überprüft werden kann:

 

 

Wenn das angeschlossene Programmierkabel funktioniert, erkennt Bascom den angeschlossenen Prozessor automatisch und zeigt die wichtigsten Daten an:

 

 

Wer sich mit den Controllern der AVR-Familie noch nicht so gut auskennt, sollte erst einmal alles so lassen, wie es ist. Insbesondere die Einstellung im Bereich 'Lock and Fuses Bits' können im schlimmsten Falle, den Ausfall des ATMega bewirken. Zu gegebener Zeit werden die einzelnen Einstellungen hier auch erläutert.

 

Nun kann das Programm, welches man hier in Maschinsprache sehen kann, in den Controller übertragen. In einzelnen Fällen, kann es passieren, dass die Programmierung fehl schlägt. Dann wiederholt man es einfach noch einmal.

 

 

Wurde das Programm übertragen, sorgt Bascom automatisch dafür, das der Controller automatisch neu gestartet wird und der AVR sofort seine Arbeit aufnimmt.

 

 

Simulation eines Programms

 

Wer für einen Mikrokontroller ein Programm entwickelt, möchte ja nicht bei jedem kleinen Schritt, das Programm in den AVR übertragen um es zu testen. In bestimmten Situationen, ist ein Test des Programms im Zielcontroller teilweise auch nicht möglich.

 

Hierfür bietet Bascom eine Möglichkeit an. Es ist ein Simulator vorhanden, der es ermöglicht das Programm auf den PC ausführen zu lassen und sich genau anzusehen, wie es arbeitet. Dabei kann man auch das 'Innere' des ATMega beobachten und so eventuelle Fehler aufdecken.

 

Um den Simulator des Bascom zu starten, gibt es auch eine Schaltfläche:

 

 

Darauf hin öffnet sich ein weiteres Fenster:

 

 

Im unteren Bereich kann man nun das entworfene Programm sehen. Der Bereich darüber stellt eine Art Terminal dar, wo Terminalausgaben vom simulierten AVR angezeigt werden. Der Bereich ganz oben ist für die Überwachung von Variablen und Prozessoreigenschaften zuständig.

 

Will man das Programm jetzt testen, muss man nur den 'Play'-Button drücken:

 

 

 

Zurück zur Auswahlseite            Zur Hauptseite