User manual

66
construction must be contained in a source text line. Instruction blocks (several
instructions) after THEN are not permitted.
Branch instruction
GOTO label
With the GOTO instruction, the control computer can be prompted to continue pro-
gram processing at a certain point. A label identifier is stated as the branch target.
The branch target can be positioned before or after the GOTO instruction in the
source text.
Call and return from a sub-routine
Calling-up of a sub-routine takes place by means of the instruction
GOSUB label
The label is thereby the starting point of the sub-routine. In so-called sub-routines,
program sections are pooled which are required more than once in the course of
processing the program. A sub-routine always begins with a label, then it contains
one or more instructions and finally a RETURN
After RETURN, processing of the program is continued with the instruction to
GOSUB. The program processing may never proceed to a RETURN instruction with-
out a previous GOSUB.
The maximum allowable nesting depth for calling up sub-routines from sub-routines
is four.
#main program
GOSUB subl
. . .
#subl
GOSUB sub2
. . .
RETURN
#sub2
GOSWB sub3
. . .
RETURN
#sub3
GOSUB sub4
. . .
RETURN
#sub4
. . .
15
Für die Editierung und Compilierung des BASIC Quellcodes wird die Standard
BASIC Entwicklungsumgebung verwendet. Damit wird maximale Kompatibilität
gewährleistet und die Portierung von Programmen oder Programmteilen für die Ver-
sionen Unit und M ermöglicht.
Deshalb müssen Sie, als Programmierer, unbedingt darauf achten, dass in
Ihren Programmen keine Schlüsselwörter verwendet werden, die nicht
Bestandteil des BASIC-Kernels auf der MICRO / MICRO PCB sind.
Die Verwendung führt zu unkontrollierbarem Fehlverhalten der C-Control und
schwer zu lokalisierenden Fehlern.
Systemressourcen des C-Control Computers
Unter dem Begriff ,,Systemressourcen” sind hier alle internen Funktionseinheiten
zusammengefaßt, die sich aus den Eigenschaften des Mikrocontrollers ableiten oder
durch das auf dem Chip befindliche Betriebssystem zur Verfügung gestellt werden.
Wie diese Systemressourcen im BASIC-Programm angesprochen werden, wird wei-
ter unten in der Befehlsübersicht beschrieben.
Echtzeituhr (RTC)
Im Hintergrund des Betriebssystems läuft ein mit 20 Millisekunden getakteter 8-Bit-
Timer, dessen Wert jederzeit ausgelesen und zum Herstellen von Zeitbezügen im
BASIC-Programm benutzt werden kann und Zeitbasis für die interne Echtzeituhr ist.
Die RTC stellt die Uhrzeit in Stunden, Minuten und Sekunden in den entsprechenden
Bezeichnern zur Verfügung.
Systembedingt ist die Genauigkeit der RTC sehr schlecht. Sie haben aber als Benut-
zer die Möglichkeit die Eigenschaften durch eine Kalibrierung zu verbessern. Das
Beispiel TOOL_CLOCK_CHECK.BAS gibt Ihnen weitere Hinweise zu diesem Thema.
Die RTC lässt sich außerdem mit einem DCF77 Empfänger und einer BASIC Syste-
merweiterung synchronisieren. Informationen hierzu finden Sie im Kapitel SYSTE-
MERWEITERUNGEN
Die internen Speicherzellen für Datum und Uhrzeit können vom BASIC-Programm
aus gelesen und beschrieben werden. Durch das Beschreiben der Zeitspeicherzellen
kann die Uhr also auch ohne DCF77-Empfang gestellt werden. Für Programmtests
oder bei geringem Anspruch an die Ganggenauigkeit kann so auf die DCF77-Anten-
ne oder die Kalibrierung verzichtet werden.
User-Bytes
Der Mikrocontroller verfügt über insgesamt 240 Bytes RAM. Der C-Control Steuer-
computer belegt davon größten Teil für Betriebssystemfunktionen (Stack, Timer,
Uhr, Zwischenspeicher für Berechnungen usw.). 24 Bytes stehen dem Anwender zur
Verwendung in BASIC-Programmen zur Verfügung
Die Verwendung dieser Userbytes ist im Abschnitt zum DEFINE-Befehl weiter unten
beschrieben.