Software


    Die PIC-BASIC-II-IDE

    PIC-BASIC-II wurde für die Betriebssysteme WinXP/2000/NT/Me/98/95 geschrieben. Die Software erzeugt aus dem Basic-Quelltext zunächst reinen Assemblercode, der dann in einem zweiten Schritt, durch den eingebundenen Assembler (z.B. Mpasmwin.exe), in Maschinencode übersetzt wird. Den Maschinencode lädt dann der PIC-BASIC-Programmierer direkt in den Mikrocontroller.

    Im Gegensatz zu den sonst üblichen Basic-Implementationen bei Mikrocontrollern, enthält PIC-BASIC-II einen echten Compiler, der ohne Interpreterkern auskommt. Das erhöht die Arbeitsgeschwindigkeit und spart Platz im Programmspeicher. Der Anwender benötigt keine Kenntnisse vom Mikrocontroller-Innenleben, weil die RAM-Register den deklarierten Variablen automatisch zugewiesen werden und PIC-BASIC-II die nötigen Maschinen-Zyklen für Software-Schleifen aus der angegebenen Oszillatorfrequenz berechnet. PIC-BASIC-II erzeugt aus dem Basic-Quelltext das Assembler-Haupt-Programm und fügt dann aus einer Programm-Bibliothek die nötigen Sub-Routinen hinzu. Auf (fast) alle Syntaxfehler macht PIC-BASIC gleich beim Compilieren aufmerksam. Die so erzeugten Maschinenprogramme sind in jedem Fall lauffähig (einen sinnvollen Basic-Quelltext vorrausgesetzt).

    Für erfahrenere Programmierer besteht außerdem die Möglichkeit eigene Assembler-Unterprogramme zu schreiben. So lassen sich z.B. Treiber für verschiedene Bauteile erstellen, die dann von den Basic-Programmen aus aufgerufen werden können.

    Der Assemblercode muß nicht zwangsläufig mit PIC-BASIC-II weiter bearbeitet werden. Der Code kann z.B. auch an die kostenlos erhältliche Microchip-IDE "Mplab" übergeben werden. Damit lässt sich das Programm im Simulator testen, oder, wenn vorhanden, mit dem Microchip Programmierer PICSTART-Plus (der leider nicht kostenlos erhältlich ist) in einen Mikrocontroller programmieren. Das dauert dann nur etwas länger als mit dem PIC-BASIC-Programmierer.

     

    Der Texteditor

    Bei PIC-BASIC-II gibt es drei Textfelder, deren relative Größe zueinander einstellbar ist. Es werden dort die Basic- und Assemblertexte sowie die Hex-Codes dargestellt. In jedem, der drei Textfelder, kann der angezeigte Inhalt bearbeitet werden. Im Basic-Bereich vereinfacht das automatische, farbige Hervorheben von Schlüsselwörtern und Kommentaren die Lesbarkeit von Programmen. Alle Basic-Befehle können über ein Kontext-Menü mit der Maus in das Textfeld eingefügt werden. Im Assembler-Bereich werden nach dem Compilieren neben dem Assembler-Text, die Variablenzuordnung und die Speicherbelegung angezeigt. Alle im Assembler-Text vorgenommen Änderungen (nur für erfahrene Anwender) werden beim Assemblieren mit berücksichtigt. Im Hex-Bereich muß ein besonderes Format eingehalten werden. PIC-BASIC-II läßt deshalb nur Eingaben an den Stellen im Hex-Bereich zu, an denen die Hex-Werte geändert werden können (wie bei einer Formulareingabe).

     

    Der Basic-Dialekt

    Der Grundwortschatz ist an das Basic der klassischen "Basic-Briefmarken" angelehnt. Es sind aber auch noch zusätzliche Befehle enthalten, um das Programmieren komfortabler zu machen und die spezielle Hardware der Controller sowie periphere Bauteile anzusprechen. Z.Z. sind 64 Befehle verfügbar. Damit können u.a. ganz einfach LC-Displays, AD-Wandler, Schrittmotore, I2C-Bausteine u.A. angesteuert werden. Die Schaltbilder zu den Befehlen, die periphere Bauteile ansteuern, sind in der Hilfedatei enthalten.

    Wer PIC-BASIC-II selbst ausprobieren möchte, kann die Software hier herunterladen. Nach der Installation lassen sich die unter "C:\PIC_AS\Testdateien\" vorhandenen Sourcedateien compilieren und der erzeugte Code ist lauffähig.

     

    Dank

    An dieser Stelle möchte ich meinen Dank an alle PIC-BASIC-Anwender richten, die mich beim Betatest der vorliegenden Version so hervorragend unterstützt haben.
     


    Seit dem 3.11.2012 ist PIC-BASIC Freeware.

     


    Auf diesen Seiten können Markennamen im Text enthalten sein, die Eigentum der jeweiligen Anmelder sind. Sie dienen hier nur der Beschreibung der jeweiligen Objekte.