Ŀ ERMINAL MCS ķ (C) H.-J. Bhling 1997 bis 00 Ľ Rankestr. 8a V03.00 40474 Dsseldorf e-mail: H-Boehling@gmx.de homepage: http://home.nexgo.de/H.Boehling ͸ Ein Terminalprogramm fr alle MCS-51-BASIC-Systeme ; Das Programm Terminal-MCS-51 ist ein Terminalprogramm fr MS-DOS-Rechner, welches speziell fr die Verwendung mit MCS-51-BASIC geschrieben wurde und ermglicht die komfortable MCS-51-BASIC-Programmentwicklung mit folgenden Leistungsmerkmalen: - Einfaches Laden und Speichern von MCS-51-BASIC-Programmen - Umnummerieren von MCS-51-BASIC-Programmen - Integrierter Zeileneditor fr MCS-51-BASIC-Zeilen - Einbinden eines beliebigen ASCII-Editors Hardware-Voraussetzungen ------------------------ Terminal-MCS-51 bentigt folgende minimale Hardware-Voraus- setzungen: - Einen MS-DOS-Rechner - Beliebige Grafigkarte - Ein Flopy- oder Festplattenlaufwerk - Eine serielle Schnittstelle (COM1: oder COM2:) - Ein MCS-51-BASIC-System (angeschlossen an die serielle Schnittstelle) MCS-51-BASIC ------------ Der MCS-51-BASIC-Interpreter wurde von der Fa. Intel speziell fr den Mikrokontroller 8052-AH entwickelt und pat mit seiner Gre von nur 8 Kbyte in den internen ROM-Speicher dieses Prozessors. Mittlerweile wurde dieser Interpreter von der Fa. Intel als Freeware zur Verfgung gestellt. Der Interpreter kann sich selbst mit einem MCS-51-BASIC-Programm aus einem vorhandenen 8052-AH in ein EPROM kopieren (aber auch als kommentierter Soucecode aus dem Internet gezogen werden!). Dieser Interpreter luft dann auch mit einer 8032-CPU. Vom Autor wurde ein 80C32-BASIC-Steuer-Computer entwickelt, welcher in der Zeitschrift "Elektor" Ausgaben 2/98 und 3/98 verffentlicht wurde. Der Befehlsumfang von MCS-51-BASIC ist vor allem im Bereich der String-Verarbeitung etwas eingeschrnkt jedoch durchaus komfortabel. Leider wurde auch der Befehl "RENUMBER" zum umnummerieren der BASIC-Zeilennummern eingespart. - 1 - Arbeiten mit Terminal-MCS-51 ---------------------------- Zum Ausprobieren kann Terminal-MCS-51 direkt von Diskette gestartet werden, spter sollten die Dateien TERM-51D.EXE und TERM-51D.INI in ein Unterverzeichnis zusammen mit ihren MCS-BASIC-Listings kopiert werden. Von Diskette wird Terminal- MCS-51 mit: A:>term-51d aufgerufen. Terminal-MCS-51 ld die TERM-51D.INI Datei und geht direkt in den Terminal-Modus. Danach mu wie blich erst die Leertaste bettigt werden um die Baudrate-Erkennung von MCS-51-BASIC zu ermglichen. Das MCS-51-System antwortet mit: *MCS-51(tm) BASIC V1.1* READY > Am unteren Bildschirmrand wird eine Infozeile der Funktionstasten- belegung angezeigt. ber die Funktionstasten -F1- bis -F10- knnen alle weiteren Funktionen aufgerufen werden: -F1- LIST Listen von MCS-51-BASIC-Programmen. -F2- RUN Starten von MCS-51-BASIC-Programmen. -F3- LOAD Laden von MCS-51-BASIC-Programmen. -F4- SAVE Speichern von MCS-51-BASIC-Programmen. -F5- STOP Anhalten von MCS-51-BASIC-Programmen. -F6- CONT Fortsetzen von MCS-51-BASIC-Programmen. -F7- INFO Anzeigen von Programmlnge, freiem Speicher u. gesamter Speichergre (LEN, FREE, MTOP). -F8- EDIT Editieren von einzelnen MCS-51-BASIC-Zeilen oder Aufruf eines Texteditors ber die Datei EDIT.BAT mit bergabe des aktuellen Dateinamens. -F9- RENUM Umnummerieren von MCS-51-BASIC-Programmen. (Nicht in der Shareware-Version!) -F10- MENU Einstellen von COM-Port und Baudrate, Dateinamen ndern, Datei senden, Protokolldatei ffnen und schlieen, RENUMBER-Werte einstellen, DOS-Shell und beenden des Programms. - 2 - MCS-51-BASIC-Programme laden ---------------------------- Durch drcken der Taste -F3- wird ein laufendes Programm angehalten und Terminal-MCS-51 zeigt ein Inhaltsverzeichnis des aktuellen Pfad und fragt nach dem zu ladenden Programm. Achtung! Ein eventuell im Speicher des MCS-51-BASIC-Rechners vorhandenes Programm wird bei Eingabe eines existierenden Dateinamens gelscht! Wird der Dateiname ohne Extension eingegeben, so wird die Extension "LIS" fr Listing vorausgesetzt und angehangen (Diese Standard-Extension lt sich in der TERM-51D.INI-Datei beliebig ndern). Das Programm lscht nun zunchst den Speicher des MCS-51-BASIC-Systems durch den Befehl "NEW" und bertrgt dann das gewhlte File. Das Echo des BASIC-Rechners wird dabei angezeigt. MCS-51-BASIC-Programme speichern -------------------------------- Durch drcken der Taste -F4- wird ein laufendes Programm angehalten, Terminal-MCS-51 zeigt ein Inhaltsverzeichnis des aktuellen Pfad und fragt nach dem Dateinamen fr das abzu- speichernde Programm. Auch hier gilt: Wird der Dateiname ohne Extension eingegeben, so wird die Standard-Extension fr Listings vorausgesetzt und angehangen. Existiert die eingegebene Datei bereits, so folgt eine Sicherheitsabfrage. Danach schickt Terminal-MCS-51 den Befehl "LIST" an das MCS-51-BASIC-System und speichert das empfangene Programm unter dem zuvor eingegebenen Dateinamen. - 3 - MCS-51-Programme editieren -------------------------- MCS-51-BASIC bietet in Verbindung mit einem standard Terminal- programm nur einen einfachen Zeileneditor mit welchem sich nur das letzte Zeichen der Eingabezeile lschen lt. Ist die Zeile erst einmal mit der RETURN-Taste abgeschlossen, so lt sie sich nur noch durch erneutes eingeben berschreiben und somit verndern. Wer so ein greres Programm schreiben mchte, wird daran schnell verzweifeln. Terminal-MCS-51 bietet drei verschiedene Mglich- keiten eine MCS-51-BASIC-Zeile zu editieren: 1.) Es untersttzt den einfachen MCS-51-Zeileneditor denn durch drcken der Backspace-Taste wird das letzte Zeichen der Eingabezeile gelscht. 2.) Auch das Editieren bereits abgeschlossener Zeilen ist mglich! Nach drcken der Taste -F8- fragt Terminal-MCS-51 nach einer Zeilennummer. Die eingegebene Zeilennummer wird angefordert und kann dann in gewohnter Weise mit folgenden Tasten editiert werden: Cursor rechts, Cursor links, End, Home, Backspace, Delete, Insert. Return beendet den Zeileneditor und sendet die Zeile wieder zum MCS-51-BASIC-System. 3.) Wird die Frage nach der Zeilennummer mit der "P"-Taste beantwortet, wird das im MCS-51-BASIC-Sytem vorhandene Programm unter dem aktuellen Dateinamen (*1) abgespeichert und danach die DOS-Stapeldatei EDIT.BAT aufgerufen, der Dateiname des MCS-51-BASIC-Programms wird dabei als Parameter bergeben. *1) Vor dem Editieren eines MCS-51-BASIC-Programms mu ein aktueller Programmname vorhanden sein! Dieser wird beim Laden oder Speichern abgespeichert oder kann im Men eingegeben oder auch verndert werden. Durch drcken der Taste -F8- und anschlieendem -P- wird dann ein laufendes Programm angehalten und die Stapelverarbeitungsdatei EDIT.BAT aufgerufen. So kann jeder seinen Lieblings-Editor zur MCS-51-BASIC-Programmierung verwenden! Hierfr eignet sich im Prinzip jeder Editor, wenn er den Text als "Text fr DOS" also reinen ASCII-Code abspeichern kann. Zum Beispiel auch der unter DOS 6.2 vorhandene Editor. Die Batch-Datei EDIT.BAT mu dazu nur folgende Befehle enthalten: @echo off c:\dos\edit.exe %1 Nach dem Editieren wird der Programmtext automatisch wieder in den MCS-51-BASIC-Computer bertragen. Dazu wird ein spezielles Textlade-Protokoll verwendet, da nach dem Senden einer jeden BASIC-Zeile auf den Prompt des MCS-51-Computers gewartet werden mu. - 4 - MCS-51-Programme umnummerieren (Nur in der Vollversion) ------------------------------ Vor dem Umnummerieren eines MCS-51-BASIC-Programms mu ein aktueller Programmname vorhanden sein! Dieser wird beim Laden oder Speichern angelegt oder kann im Men eingegeben oder auch verndert werden. Durch drcken der Taste -F9- wird dann ein laufendes Programm angehalten und Terminal-MCS-51 speichert das im MCS-51-BASIC-System vorhandene Programm unter diesem Namen. Auch eine Sicherungsdatei mit der Extension "BAK" wird unter diesem Namen angelegt (die Extension lt sich in der TERM-51D.INI-Datei beliebig ndern). Danach startet das Umnummerieren mit den in der TERM-51D.INI-Datei oder dem Men unter Punkt -7- eingestellten Werten fr Schrittweite und erste Zeilennummer. Terminal-MCS-51 durchsucht das Programm nach Sprngen und berechnet diese unter Beachtung der MCS-51-BASIC-Syntaxregeln neu. So werden scheinbare Sprunganweisungen in Strings oder hinter REM-Anweisungen selbst- verstndlich nicht gendert! Achtung die Originaldatei ist fr alle Flle bis zum nchsten Umnummerieren in der Sicherungsdatei mit der Endung "BAK" gesichert. Das umnummerierte Programm wird abgespeichert und wieder in das MCS-51-BASIC-System geladen. Das Terminal-MCS-51 Men ------------------------ ber Taste -F10- gelangt man in das Men von Terminal-MCS-51, dort lassen sich das COM-Port und die Baudrate einstellen, der Dateiname der aktuellen Programmdatei ndern, eine Datei senden, eine Protokolldatei ffnen oder schlieen, die RENUMBER-Werte fr die erste Zeilennummer und den Zeilenabstand einstellen, die DOS- Shell aufrufen und Terminal-MCS-51 beenden. Mit den Menpunkten -4- bis -5- (Datei senden, Protokolldatei ffnen oder schlieen) lst sich z.B. ein EPROM-Brenner verwirklichen bei welchem die zu brennenden Daten in das MCS-51-BASIC-System bertragen oder vom BASIC-System gesendet werden. Terminal-MCS-51 bertrgt eine Datei dabei zeilenweise und wartet nach jeder Zeile auf ein ">"-Zeichn vom MCS-51-BASIC-System. Im Prinzip unterscheidet sich die Funk- tion "Datei senden" nur gering von der Funktion "Programm laden" (Taste -F3- im Terminal-Modus) jedoch wird hier ein laufendes Programm nicht abgebrochen und gelscht! Mit "Datei senden" lassen sich deshalb auch MCS-51-BASIC-Programme laden, und weil ein im Speicher des MCS-51-BASIC-System vorhandenes Programm nicht gelscht wird, kann man auf diese Art auch Progamme mischen! Alle Einstellungen im Terminal-MCS-51-Men gelten nur fr die momentane Sitzung beim nchsten Starten von Terminal-MCS-51 werden wieder die Standardeinstellungen aus der TERM-51D.INI-Datei eingestellt. - 5 - Die TERM-51D.INI-DATEI ---------------------- In der Datei TERM-51D.INI knnen die Standardeinstellungen von Terminal-MCS-51 mit einem ASCII-Editor eingestellt werden. Dies sind im einzelnen: - Das Kommunikationsport (COM1: oder COM2:) - Die Baudrate (300 bis 9600 Baud) - Die Schrittweite beim Umnummerieren (nur in der Vollversion) - Die erste Zeilennummer beim Umnummerieren (nur Vollwersion) - Die Dateinamenserweiterung fr die MCS-51-BASIC-Listings - Die Dateinamenerweiterung fr Sicherungsdateien - Die Dateinamenerweiterung fr Protokolldateien Achtung! Die Einstellungen in der TERM-51D.INI-Datei werden von Terminal-MCS-51 nicht vollstndig berprft und knnen bei unzulssigen Werten zu Fehlfunktionen fhren! Auf jeden Fall sollte vor nderungen eine Sicherungskopie der original TERM-51D.INI-Datei angelegt werden. Wird die INI-Datei verndert, so ist darauf zu achten, da hinter den einzelnen Werten nicht versehentlich ein (unsichtbares) Leerzeichen angefgt wird, da sonst beim Laden ein INI-Datei-Fehler auftritt. Weitere Erklrungen zu den Einstellmglichkeiten finden sich in dem Bemerkungszeilen der TERM-51D.INI-Datei. Probleme mit Terminal-MCS-51 ? ------------------------------ Der Autor gewhrt keinerlei Garantie fr Fehlerfreiheit des Programms. Im Falle von Datenverlust oder Beschdigung wird keinerlei Verantwortung vom Autor bernommen. Die Nutzung dieses Programms geschieht auf eigene Gefahr! Dieses Programm wurde nach bestem Wissen und Gewissen programmiert und vielfach getestet. Trotzdem lassen sich Programmierfehler nie ganz ausschlieen. Fr Hinweise auf Fehler bin ich deshalb sehr dankbar. Sollte bei hoher Baudrate-Einstellung und langsamen Floppy- Laufwerk die Fehlermeldung "Kommunikationsbuffer berlauf" erscheinen, mu entweder auf der Festplatte gearbeitet werden oder eine geringere Baudrate eingestellt werden. Registrierung von Terminal-MCS-51 --------------------------------- Zur Registrierung benutzen Sie bitte das Formular in der Datei REGISTER.TXT und senden es an: Hans-Jrgen Bhling Rankestr. 8a 40474 Dsseldorf - 6 -