---

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:


Elektronik-Labor  Projekte  Mikrocontroller  Raspberry