erstellt 02.02.2014
Der Simulator

Bevor die selbst erstellten Programme in den Atmega Mikroprozessor übertragen werden, bietet uns Bascom die Möglichkeit , Programme nur mit unserer Software

auf dem Rechner weitgehend zu testen , dass heißt wir simulieren den Atmega.
Um den Simulator zu nutzen müssen wir zuerst eine neue Programm-Datei erstellen, oder eine schon vorhandene öffnen.

Bild 1

Im Programmier-Editor-Fenster ( Bild 3 ) sehen wir die vorangestellten Zeilen Nummern, hinter denen man nun den Programmiertext eingeben kann.

Der eingegebene Text wird teilweise automatisch farbig markiert. Die Farben haben  folgende Bedeutungen:

  • Grün ist der Kommentar ( Kommentar ist alles was nach einem  solchen  ( ' ) Zeichen steht.
     Mann sollte möglichst viele Kommentare verwenden, weil es nach einiger Zeit von sehr großen Nutzen sein kann das Programm noch zu verstehen.


  • Rot ist für spezielle Zeichen: * + -, / \:; <> = & ^% # @ ~ () [] | @ {}.?!

  • Blau (fett) ist für Bascom Aussagen

  • Schwarz ist für Bascom Variablen

Diese Farben können im Menü unter "Optionen / Umgebung /Registerkarte Font"  geändert werden:

Bild 2

Zusätzliche Hilfe bekommt man, indem Sie den Text-Cursor auf den zu erklärenden Text positionieren und die Taste F1 drücken.

Nachdem ein Programm geschrieben wurde , oder eben ein schon geschriebenes geöffnet wurde muss dieses bevor es mit dem Simulator getestet werden kann erst einmal Compiliert werden.( Bild 3)

Bild 3

Nach dem Compilieren sollte in der unteren Zeile keine Fehlermeldungen erscheinen. Syntax Fehler und Logische Fehler erkennt der Compiler automatisch

und wird diese anzeigen.(Bild 4) .
Syntax Fehler sind Fehler in der Basic-Sprache. 
Wenn Sie anstatt Config z.B. Confih. eingeben wird das beim Compilieren erkannt und als Syntax Fehler angezeigt.
Wenn Fehler gefunden werden wird Bascom die Compilierung nicht fortsetzen und die erforderliche  bin-Datei  die später in den Atmega übertagen werden soll
wird nicht erzeugt.
Bei einer evtl. ausgegebenen Fehlermeldung wird auch die Zeilen Nummer in der der Fehler auftritt angezeigt es gibt auch die Möglichkeit auf die ausgegebene
Fehlermeldung mit der Maus doppel zu klicken dann wird automatisch zum Fehler innerhalb des Programms gesprungen . 


Bild 4

Beim Compilieren werden zusätzliche Dateien mit den Endungen DBG und OBJ erzeugt und im gleichen Verzeichnis in der auch die Programmdatei liegt abgelegt. Diese Dateien werden werden vom Simulator benötigt.
Damit diese Dateien auch erstellt werden muss folgende Bedingung erfüllt sein.
unter Optionen /Compiler/ Output müssen die entsprechenden Häkchen gesetzt sein. siehe (Bild unten)

Die Simulation des Programm kann je nach Einstellung mit einem Externen oder den bereits Internen von Bascom getestet werden. Ich benutze den internen von Bascom um die ganze Sache nicht unnötig kompliziert zu machen.Dazu benötigt Bascom die folgende Einstellung (Bild unten). Dies ist die Standardeinstellung und sollte nach einer neuen Installation von Bascom eigentlich schon richtig stehen.

Die Simulation starten wir dann entweder durch das Icon in der oberen Menüleiste ( Bild unten ) oder einfach über Taste F2

Beim Aufrufen des Simulators wird das aktuelle Programm gleich in den Simulator übernommen und zeigt sich dann  im Editor.
Durch drücken auf den Run Knopf ( Taste F5 )läuft das Programm los, an den gelben Punkten vor den einzelnen Programmzeilen erkennt man den Ausführbaren Programmcode und der Blaue Pfeil zeigt die aktuelle abgearbeitet Programmzeile an. Durch die Pause Taste können wir die aktuell laufende Simulation unterbrechen , oder durch die Stop Taste beenden. Durch den Knopf rechts neben dem Stop Knopf ( oder Taste F8 )lässt sich die Simulation auch Schritt für Schritt abarbeiten ,damit hat man die Möglichkeiten den Programmablauf fürs Auge sichtbar im Einzelschritt zu überprüfen.

Das Simulator-Fenster ist in mehrere Abschnitte unterteilt die sich je nach Bedarf ein oder ausblenden lassen, so lässt sich auch eine LCD Anzeige einblenden , oder ein Fenster in dem Variable eingegeben und ihre aktuellen Werte verfolgt werden können.Auch können wir jeden Einzelnen Eingang oder Ausgang sehen ( Die Roten und Grünen Leds i, rechten Fenster) und auch durch antippen mit der Maus deren Zustand ändern

Die Statusleiste zeigt den PC (Programmzähler) und die Anzahl der Zyklen. Sie können die Zyklen durch Positionieren des Mauszeigers auf der Statusleiste zurücksetzen und dann rechts klicken. Sie erhalten dann ein Popup-Menü mit der Option, um die Zyklen zurückgesetzt.Sie können dies verwenden, um festzustellen, wie viel Zeit ein Programm Statement benötigt.( Bild unten )

Sollten im Programm "Pausen" Befehle enthalten sein , so kann es mitunter sehr lange dauern wenn im Simulator von einer Programmzeile zur nächsten gesprungen wird. Um das zu verhindern  gibt es den folgenden Befehl: $ sim Wenn dieser Befehl als nächste Programmzeile nach der Chrystal Anweisung also am Programmanfang  eingesetzt wird , und anschließend wieder neu compiliert wurde werden  alle Wartebefehle übergangen und die Simulation läuft dann zügig vonstatten. Aber nicht vergessen nach der Simulation den Befehl $ sim wieder zu entfernen und dann natürlich wieder neu zu compilieren.

Arbeiten mit Variablen. ( Bild unten) Erstellen sie eine Neue Programmdatei mit folgenden Programmzeilen:   $ Regfile = "2313def.dat"  Dim Counter As Byte  Zähler = 1  do  Zähler = Zähler + 1  loop                                               Ende Kompilieren und starten Sie den Simulator. In der ersten Zelle in der Variablen Registerkarte geben Sie die Namen der Variablen "Counter": Klicken Sie auf "Aktualisieren Variablen ".  Dieser aktualisiert die variablen Felder sobald  das Programm läuft. Klicken Sie wiederholt darauf " (Taste F8)".  Beachten Sie den Wert der Zähler der in dem Variablen-Feld angezeigt wird

Klicken Sie auf "Programm ausführen (F5)".  Beachten Sie wie der  Variable Zähler sich erhöht, bis 255, und anschließend nach einen Überlauf wieder bei 0 anfängt.

Die Symbolleiste enthält die Schaltflächen, die Sie drücken, um eine Aktion starten können

  •  Start Taste, damit  beginnt eine Simulation. Sie können auch die Taste F5. Die Simulation wird angehalten, wenn Sie die Pausetaste drücken.

  •  Stop Taste ,durch Drücken dieser Taste stoppt die Simulation. Sie können nicht von diesem Punkt aus weiter, weil alle Variablen zurückgesetzt werden. Sie müssen die Start-Taste drücken, wenn Sie Ihr Programm erneut simulieren wollen.

  •  Pause Taste , durch drücken der Pause Taste wird die Simulation unterbrochen.

  •  Step Taste, der Simulator geht in den Startzustand führt aber nur ein Programmschritt aus um dann in den Pausen Zustand zu warten, durch drücken der Taste F8 wird immer eine weitere Programmzeile abgearbeitet.

  •  Die Schritt -Über Taste, hat die gleiche Funktion wie die Step Taste , allerdings werden Unterprogramme übergangen.

  •  RUN TO Taste. Der Simulator wird laufen, bis er auf die aktuelle Zeile bekommt. Die Zeile muss ausführbaren Code enthalten. Bewegen Sie den Cursor an die gewünschte Linie vor dem Drücke der Taste.

  •  Das Register-Fenster zeigt die Werte standardmäßig in Schwarz . Wenn ein Register-Wert verändert wurde, wird die Farbe in rot ausgeführt . Jedes Mal wenn Sie den Code schrittweise durchlaufen, werden alle geänderten Register blau markiert. Auf diese Weise zeigen die roten Wert der Register, die seit Ihrem letzten Tastendruck verändert wurden F8 (Schritt-Code). Ein Register, das bisher nicht geändert wurde, bleiben schwarz.

  •  Sim Register, Die Werte werden in Hexadezimal-Format angezeigt. Um einen Wert zu ändern, klicken Sie die Zelle in der VAL Spalte, und geben Sie den neuen Wert. Wenn Sie einen Rechtsklick auf die Maus, können Sie zwischen den Dezimal, Hexadezimal und Binär-Formaten wählen.

Wenn das Terminal-Option aktiviert wird, werden die Daten auf die tatsächliche serielle Schnittstelle geschickt, und als serielle Daten von der seriellen Schnittstelle empfangen

Aktualisiert 29.01.2019
Copyright by Manfred Schrod 2009