PicoBasic Schnellstart
Elektronik-Labor Projekte Mikrocontroller Raspberry
Hier
werden einige typische Programme ohne viele Erklärungen vorgestellt. Wer schon
Erfahrungen mit andern Programmiersprachen hat, wird sich schnell zurechtfinden
und auch Änderungen testen. Für diese Versuche ist ein Aufbau mit zehn LEDs mit
eingebauten Widerständen sinnvoll. Die hier gezeigten PicoBasic-Programme sind teilweise auch schon im PicoBasic-Verzeichnis vorhanden.
Das Programm Count.pbas zählt A hoch und gibt den Inhalt an die Ports aus,
sodass man ein fortlaufendes binäres Bitmuster sieht.
REM Count
0x09FF Pdir = 255
L1:
0x4500 Pout = A
0x2800 A = A + 1
0x1964 Delay ms = 100
0x2001
Goto L1:
Hier wird eine Spannung an AD0 gemessen und das Ergebnisbyte an die LEDs
ausgegeben. Die Wartezeit von 101 ms führt zu einer Unterabtastung eines
50-Hz-Signals, dessen Verlauf verlangsamt sichtbar wird. Eine direkte Berührung
des analogen Eingangs mit dem Finger führt zu einer größeren Signalamplitude.
REM AD0
0x09FF Pdir = 255
L1:
0x3C00 A = AD0
0x4500 Pout = A
0x1965 Delay ms = 101
0x2001 Goto L1:
Statt der digitalen Ausgänge wird nun ein PWM-Ausgang für die Aufgabe
verwendet, sodass die Helligkeit einer angeschlossenen LED die gemessene
Spannung anzeigt. Bei einer Berührung des analogen Eingangs wird die
verlangsamte 50-Hz-Schwingung sichtbar.
REM AD0pwm
0x0800 Pout = 0
L1:
0x3C00 A = AD0
0x4300 PWM1 = A
0x1965 Delay ms = 101
0x2001
Goto L1:
Das Programm Pin2.pbas zeigt die Verwendung digitaler Eingänge. Die
Datenrichtung wird diesmal so festgelegt, dass nur die
unteren vier Ports Eingänge sind. Die Eingänge erhalten Pullups. An den unteren
vier LEDs sieht man ein schwaches Leuchten durch die Pullup-Ströme.
REM Pin2
0x09F0 Pdir = 240
0x0AFF Pullup = 255
L1:
0x3F00 A = Pin
0x0210 B = 16
0x2C00 A = A * B
0x4500 Pout = A
0x1901 Delay ms = 1
0x2002
Goto L1:
Die gelesenen Eingangszustände werden mit 16 multipliziert und an die Portausgänge ausgegeben. Dadurch werden alle Änderungen an den vier Eingängen auch an den vier Ausgängen sichtbar. Zum Test kann man einzelne LEDs an den Eingängen kurzschließen. Das entsprechende Bit wird dann als 0 gelesen, sodass die zugehörige Ausgangs-LED ebenfalls abgeschaltet wird.
Das Programm Shift.pbas verwendet die Shiftbefehle in zwei Zählschleifen
für ein Lauflicht, bei dem Leuchtpunkt immer hin und her läuft.
REM Shift
0x09FF Pdir = 255
L1:
0x0101 A = 1
0x0306 C = 6
L2:
0x4500 Pout = A
0x1964 Delay ms = 100
0x3100 A = A Shl 1
0x2503 C*Goto L2:
0x0306 C = 6
L3:
0x4500 Pout = A
0x1964 Delay ms = 100
0x3200 A = A Shr 1
0x2508 C*Goto L3:
0x2001 Goto L1: