Einführung Download Installation Monitor-Programme Beispiel-Programme Experimentierplatine
Das MC-Tools-Paket enthält eine Entwicklungsumgebung (IDE) für alle Mikrocontroller der 8051-Familie (Siemens, Philips, Atmel, etc.).
Die Compiler ASEMW, Turbo51 und SDCC sind Programme, die über die Befehlszeile gesteuert werden. Zur Übersetzung von Quellprogrammen müssen sie mit den erforderlichen Parametern aufgerufen werden. Dies erledigt die Entwicklungsumgebung MC51 automatisch auf Knopfdruck. Die Ausgabe dieser Programme (insbesondere eventuelle Fehlermeldungen) wird im unteren Teil des Desktop-Fensters eingeblendet. Mit einem Klick auf eine Fehlermeldung wird die Positionsmarke des Editors direkt auf die fehlerhafte Zeile gesetzt.
Da es viele Mikrocontroller in der 8051-Familie gibt, die sich in der Struktur der Special-Function-Register (SFR) unterscheiden, muss am Anfang des Quelltextes das passende Modul per Include-Befehl, bzw. bei Pascal die entsprechende Unit eingebunden werden. Das MC-Tools-Paket enthält Module und Units für alle gängigen Mikrocontroller der 8051-Familie. Beim Anlegen einer neuen Quelltext-Datei fügt die Entwicklungsumgebung automatisch den für den ausgewählten Mikrocontroller benötigten Quellcode in den Text ein (siehe die Auswahlliste oben rechts in der Werkzeugleiste). Entsprechend wird beim Laden eines Quelltextes das dort verwendete Modul automatisch erkannt.
Für die Kommunikation mit einer Mikrocontroller-Experimentierplatine über die
serielle Schnittstelle wird in MC-51 ein Terminal-Modus bereit gestellt.
Die für die Verbindung erforderlichen Parameter können über das Hauptmenü
eingestellt werden.
Die Anzeige ist in zwei Fenster aufgeteilt: Im oberen Teil
werden die über die serielle PC-Schnittstelle empfangenen Daten angezeigt,
im unteren die von der Tastatur eingegeben zu sendenden Daten. Wenn im
Mikrocontroller ein Monitor-Programm, wie z.B.
PAULMON,
installiert wurde, können außerdem Hex-Dateien, die vom Assembler, dem Pascal-Compiler
oder dem C-Compiler erzeugt wurden, in den Mikrocontroller-Speicher herunter geladen werden.
Mit dem Simulator / Debugger können kleine Programm ohne
externe Hardware getestet werden. Es stehen alle üblichen Debug-Funktionen
(Start, Stopp, Einzelschritt, Schritt über Unterroutinen, Lauf bis zu einer
ausgewählten Zeile) zur Verfügung. An jeder Stelle können außerdem Haltepunkte
gesetzt werden, und das zu testende Programm kann auch Schritt-für-Schritt ausgeführt
werden.
Der Simulator zeigt sowohl den Quellcode mit den
Adressmarken als auch die Adressen und den kompilierten Code im Hex-Format an.
Alle Register und Speicherzellen können eingesehen und, falls erforderlich,
verändert werden. Zahlen werden wahlweise im Hex-, Dezimal- oder Binärformat
angezeigt.
Die Port-Anschlüsse (P0,P1,..) werden als SFRs und als Schaltflächen mit einer
LED-artigen Statusanzeige angezeigt. Zum Ändern eines dieser Port-Bits genügt ein Klick auf
die zugehörige Schaltfläche (nur möglich, wenn sie im zu testenden Programm
zuvor als Eingang definiert wurden).
Außerdem werden zwei Timer und eine serielle Schnittstelle (die Ausgabe wird
als Text angezeigt, die Eingabe erfolgt über die Tastatur) simuliert. Eine
Interruptsteuerung für diese Komponenten ist ebenfalls vorhanden. Die beiden
externen Interrupts können über Mausklicks auf die zugeordneten Schaltflächen
ausgelöst werden. Nicht unterstützt wird die Prioritätssteuerung der Interrupts.
Außerdem ist es möglich, die Symbol- und Befehlstabellen für die verschiedenen
Abarten auch direkt zu laden.
Daneben enthält MC-51 ein Modul für die Flash-Programmierung von einigen Atmel-Mikrocontrollern (AT89S51/52 and AT89S8252/8253) über die serielle Schnittstelle. Wie die serielle Schnittstelle mit dem Mikrocontroller verbunden werden muss, kann der Beschreibung der Experimentier-Platine entnommen werden.
Der integrierte Text-Editor verwendet Komponenten des Open-Source-Projekts
SynEdit.
Neben den üblichen Funktionen eines Editors enthält er eine
compilerabhängige Syntax-Hervorhebung des Quelltextes. Viele
Einstellungen können individuell angepasst werden.
Mit der Version 6.3 ist es möglich, eine neue Struktur der Quellverzeichnisse
zu verwenden. Dabei werden die Quelltexte der verschiedenen unterstützten Compiler,
sowie deren Includes, Units, bzw. Libraries und Ausgaben in voneinander getrennten Verzeichnissen
abgelegt (siehe Abb. links). Nach einer Erstinstallation erfolgt das Anlegen dieser Struktur
automatisch beim ersten Start des Programms,
bei einem Update wird die von der Vorversion vorhandene Struktur weiter verwendet.
Die Umstellung auf die neue Verzeichnisstruktur kann über den Menüpunkt
Einstellungen ⇒ Stammverzeichnis für Quelltexte ... erfolgen. Man gibt ein neues
Stammverzeichnis an, unter dem dann automatisch die links dargestellte Unterverzeichnis-Struktur
angelegt wird.
Evtl. bereits vorhandene Quelltexte, die mit der Vorversion erstellt wurden, müssen
danach von Hand in die neuen Verzeichnisse kopiert werden. Aus dem Programm heraus kann dies
auch mit der Sichern als ..-Funktion erfolgen.
Für eine effiziente Softwareentwicklung ist es vorteilhaft, häufig verwendete Programmteile in getrennten Module (Include-Dateien beim Assembler und C, Units bei Pascal) unterzubringen. MC-51 kann alle zu einem Projekt gehörenden Programmteile (Hauptprogramm und Module) und die erforderlichen Compiler-Optionen in eine Datei speichern (siehe unten). Wird ein derart gespeichertes Projekt geöffnet, werden alle zugehörigen Quelltexte und Einstellungen in die Entwicklungsumgebung geladen.
Sprachen: Englisch und Deutsch (weitere Übersetzungen möglich)
Betriebssystem: Windows XP, Vista, 7, 8, 10 und 11
Download: Vers. 5.9.3 (4,37 MB) vom 17.5.2019 (Update-Information):
Download: Vers. 6.3.4 (6,03 MB) vom 16.9.2024 mit optionaler Einbindung von SDCC (Update-Information):
Die Installationspakete enthalten die oben beschriebenen Programme, die Standardeinstellungen für den Editor, den Pascal-Compiler Turbo-51 (Vers. 0.1.3.17), den Assembler ASEM-51 von W.W. Heinz, sowie Include-Module und Units für viele Mikrocontroller der 8051-Familie.
Der C-Compiler SDCC muss getrennt heruntergeladen und installiert werden. Beim Start prüft MC51, ob SDCC auf dem System installiert ist, und integriert es automatisch in das Entwicklungssystem.
MC-Tools wird als ausführbares Windows-Setup (mc-setup-5.x.yy.exe, wobei x.yy die verfügbare Version bezeichnen) bereit gestellt. Das Programm kann in ein beliebiges Verzeichnis installiert werden (Standard: C:\Program Files\Mc-Tools auf 32-Bit-Systemen, bzw. C:\Program Files(x86)\Mc-Tools auf 64-Bit-Systemen). Dabei sind die Rechte eines Administrators erforderlich. Auf Wunsch können im Windows-Startmenü und auf dem Desktop Verknüpfungen angelegt werden.
Im Installationsverzeichnis wird die nachfolgende Verzeichnis- und Dateistruktur erstellt:
<Install directory> mc51.exe Programm mc51.ini Standardeinstellungen für das Programm mc51.key Tastaturbelegung für den eingebauten Editor mc51-asm.hlt Einstellungen für di Syntax-Hervorhebung (Assembler)) mc51-pas.hlt Einstellungen für di Syntax-Hervorhebung (Pascal)) mc51-cco.hlt Einstellungen für die Syntax-Hervorhebung (C-Compiler)) opcodes.mco Liste der 8051-Befehle für den Simulator 8051.mcu Liste der vordefinierten Symbol für den Simulator mcprojects.exe Projektmanager checkisp.exe Programm zur Prüfung von Atmel-Mikrocontrollern und zum Auslesen des Programmspeichers über ISP diffisp.exe Programm zur Überprüfung von Programmierungen über ISP <locale> Sprachdateien für MC-Tools (z.Zt.: Deutsch) <Asem-51> Verzeichnis für Assembler AsemW.exe Assembler für die Verwendung unter Windows ... Einige andere Programme und die Dokumentation <Mcu> Verzeichnis für die Include-Module (s.o.) *.mcu Include-Module für die verschiedenen Mikrocontroller <Turbo-51> Verzeichnis für Pascal <bin> Pascal-Compiler <rtl> Laufzeit-Bibliotheken <manual> Dokumentation <Units> Verzeichnis für die System-Units Sys_*.pas Units für die verschiedenen Mikrocontroller
Beim ersten Start von MC-51 (MC51.EXE) werden alle erforderlichen Einstellungen (Ort des Assemblers, des Pascal- und C-Compilers, etc.) vom Programm automatisch vorgenommen.
Wenn eine Experimentierplatine an den Computer angeschlossen ist, muss vor der
ersten Aktion der richtige Anschluss für die serielle Schnittstelle ausgewählt
werden:
Je nachdem, welches Monitorprogramm verwendet wird, sind einige weitere Einstellungen erforderlich:
Beim Einsatz von PAULMON als Monitorprogramm, können alle Einstellungen
auf den Standardwerten belassen werden (9600 baud, 0 ms und 50 ms). Es muss nur
nach dem Einschalten oder einem Reset auf der Experimentierplatine einmal die
Enter-Taste gedrückt werden, damit der Mikrocontroller seine Baudrate anpassen kann.
Wenn man das Programm über eine Desktop-Verknüpfung oder von einem anderen Programm startet, kann es durch die folgenden Befehlszeilen-Optionen gesteuert werden:
; comment /project:<project name> ; Name des Projekts /compiler:1 ; Pascal /main:<mainfile> ; Hauptdatei des Projekts /options:-A -J -T <source1> ; Weitere Quelltext des Projekts <source2> ..
Diese Programme sind dazu gedacht, in das EPROM des Mikrocontrollers geschrieben zu werden. Bei den Atmel-Prozessoren geht das mit der Programmierfunktion von MC-51. Damit können dann über die serielle Schnittstelle von einem PC mit Terminalprogramm z.B. MC-51 Speicherbereiche ausgelesen und verändert werden. Außerdem lassen sich Dateien im Intel-Hex-Format in das RAM eines Entwicklungsboards (siehe Hardware) herunterladen.
Assembler:Als Zip-Datei herunterladen |
Pascal:Als Zip-Datei herunterladen |
|
|
|
|
Für ein Seminar, das regelmäßig an der Universität Kiel für Studierende der Physik abgehalten wird, habe ich ein Experimentiersystem entwickelt, das leicht nachzubauen ist. Es besteht aus einer Mikrocontroller-Platine mit verschiedenen Anschlussmöglichkeiten für externe Komponenten: