Adresse |
Befehl |
Daten |
Kommentar |
00 |
1 |
1 |
LED 1 |
01 |
2 |
8 |
Warte 500 ms |
02 |
1 |
8 |
LED 8 |
03 |
2 |
8 |
Warte 500 ms |
04 |
3 |
4 |
Springe - 4 |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
|
Port= |
Wait |
Jump - |
A= |
... =A |
A= ... |
A= ... |
Page |
Jump |
C* |
D* |
Skip if ... |
Call |
Ret |
0 |
0 |
1 ms |
0 |
0 |
|
|
|
0 |
0 |
0 |
0 |
|
0 |
|
1 |
1 |
2 ms |
1 |
1 |
B=A |
A= B |
A=A+1 |
1 |
1 |
1 |
1 |
A>B |
1 |
|
2 |
2 |
5 ms |
2 |
2 |
C=A |
A=C |
A=A–1 |
2 |
2 |
2 |
2 |
A<B |
2 |
|
3 |
3 |
10 |
3 |
3 |
D=A |
A=D |
A=A+B |
3 |
3 |
3 |
3 |
A=B |
3 |
|
4 |
4 |
20 |
4 |
4 |
Dout=A |
A=Din |
A=A–B |
4 |
4 |
4 |
4 |
Din.0=1 |
4 |
|
5 |
5 |
50 |
5 |
5 |
Dout.0=A.0 |
A=Din.0 |
A= A*B |
5 |
5 |
5 |
5 |
Din.1=1 |
5 |
|
6 |
6 |
100 |
6 |
6 |
Dout.1=A.0 |
A=Din.1 |
A=A/B |
6 |
6 |
6 |
6 |
Din.2=1 |
6 |
|
7 |
7 |
200 |
7 |
7 |
Dout.2=A.0 |
A=Din.2 |
A=A And B |
7 |
7 |
7 |
7 |
Din.3=1 |
7 |
|
8 |
8 |
500 |
8 |
8 |
Dout.3= A.0 |
A=Din.3 |
A=A Or B |
|
8 |
8 |
8 |
Din.0=0 |
8 |
|
9 |
9 |
1 s |
9 |
9 |
PWM=A |
A=AD1 |
A= A Xor B |
|
9 |
9 |
9 |
Din.1=0 |
9 |
|
A |
10 |
2 s |
10 |
10 |
|
A =AD2 |
A=Not A |
|
A |
A |
A |
Din.2=0 |
A |
|
B |
11 |
5 s |
11 |
11 |
|
|
|
|
B |
B |
B |
Din.3=0 |
B |
|
C |
12 |
10 s |
12 |
12 |
|
|
|
|
C |
C |
C |
S1=0 |
C |
|
D |
13 |
20 s |
13 |
13 |
|
|
|
|
D |
D |
D |
S2=0 |
D |
|
E |
14 |
30 s |
14 |
14 |
|
|
|
|
E |
E |
E |
S1=1 |
E |
|
F |
15 |
60 s |
15 |
15 |
|
|
|
|
F |
F |
F |
S2=1 |
F |
|
Siehe auch:
Franzis-TPS: Das Experimentierhandbuch
TPS mit Steckboard: Das Conrad TPS-Lernpaket
Video zur Eingabe von Programmen: http://youtu.be/Jo7aX1WqtD8
Video zur Verwendung von Binärzahlen: http://youtu.be/sGzcws8IdvA
August/September 2012: Der Programmierwettbewerb
TPS-Controller als Ersatzteil: www.ak-modul-bus.de/stat/ht46f47e_mit_tps_firmware.html
Adresse | Befehl | Daten | Kommentar |
00 |
1 |
3 |
Doppelblitz.1 0011 |
01 |
2 |
4 |
20 ms |
02 |
1 |
0 |
aus |
03 |
2 |
8 |
500 ms |
04 |
1 |
3 |
Doppelblitz.2 0011 |
05 |
2 |
4 |
20 ms |
06 |
1 |
0 |
aus |
07 |
2 |
8 |
500 ms |
08 |
1 |
C |
Einzelblitz
1100 |
09 |
2 |
4 |
20 ms |
0A |
1 |
0 |
aus |
0B |
2 |
9 |
1000 ms |
0C |
9 |
0 |
Springe
00 |
0D |
|
|
|
0E |
|
|
|
0F |
|
|
|
Manchmal möchte man mit möglichst wenigen
Leitungen für die Verbindung der LEDs auskommen. Es reicht eine
Doppelleitung für beide LEDs, wenn man statt der GND-Leitung den
jeweils ausgeschalteten Port verwendet.
Adresse |
Befehl |
Daten |
Kommentar |
00 |
C |
C |
skip if
S1 = 0 |
01 |
3 |
1 |
Abfrageschleife |
02 |
6 |
9 |
A = AD1 |
03 |
5 |
2 |
C = A |
04 |
4 |
F |
A = 15 |
05 |
5 |
9 |
PWM = 15,
AN |
06 |
2 |
9 |
1 s |
07 |
C |
E |
skip if
S1 = 1 |
08 |
9 |
C |
Jump 0C,
AUS |
09 |
6 |
2 |
A = C |
0A |
5 |
4 |
Restzeit
anzeigen |
0B |
A |
6 |
C-mal 06 |
0C |
4 |
0 |
A = 0 |
0D |
5 |
9 |
PWM = 0,
AUS |
0E |
1 |
0 |
Anzeige
aus |
0F |
C |
E |
skip if
S1 = 1 |
10 |
3 |
1 |
Tasten-Ende
abwarten |
11 |
4 |
0 |
A = 0 |
12 |
5 |
9 |
PWM = 0,
AUS |
13 |
1 |
0 |
Anzeige
aus |
14 |
9 |
0 |
Zum
Anfang |
Adresse | Befehl | Daten | Kommentar |
00 |
4 |
3 |
A=3 4 * 15 s |
01 |
5 |
2 |
C=A |
02 |
4 |
E |
A=14 |
03 |
5 |
3 |
D=A |
04 |
1 |
1 |
B |
05 |
2 |
5 |
50 ms |
06 |
1 |
0 |
aus |
07 |
2 |
7 |
200 ms |
08 |
2 |
6 |
100 ms |
09 |
1 |
6 |
S1, S2 |
0A |
2 |
5 |
50 ms |
0B |
1 |
0 |
aus |
0C |
2 |
7 |
200 ms |
0D |
1 |
4 |
S2 |
0E |
2 |
5 |
50
ms 650 ms gesamt |
0F |
1 |
0 |
aus |
10 |
2 |
7 |
200
ms + 350 ms |
11 |
2 |
6 |
100 ms |
12 |
2 |
5 |
50 ms |
13 |
B |
4 |
D-mal
04, 4-mal |
14 |
A |
2 |
C-mal 02,
15-mal |
15 |
1 |
8 |
L |
16 |
2 |
D |
20 s |
17 |
1 |
0 |
aus |
18 |
3 |
0 |
Ende |
Adresse | Befehl | Daten | Kommentar |
00 |
4 |
7 |
A=7 |
01 |
5 |
9 |
PWM=A |
02 |
6 |
5 |
A = Din.0 |
03 |
5 |
5 |
Dout.0 = A.0 |
04 |
2 |
5 |
50ms |
05 |
6 |
5 |
A = Din.0 |
06 |
5 |
7 |
Dout.2 = A.0 |
07 |
2 |
5 |
50ms |
08 |
6 |
5 |
A = Din.0 |
09 |
5 |
8 |
Dout3 = A.0 |
0A |
2 |
5 |
50ms |
0B |
6 |
5 |
A = Din.0 |
0C |
5 |
6 |
Dout.1 = A.0 |
0D |
2 |
5 |
50ms |
0E |
3 |
E |
Anfang |
0F |
|
|
|
Adresse | Befehl | Daten | Kommentar |
00 |
1 |
1 |
1 an |
01 |
1 |
1 |
2 ms langer
Impuls |
02 |
1 |
0 |
aus |
03 |
2 |
3 |
10 ms |
04 |
C |
C |
skip if
S1=0 |
05 |
9 |
7 |
jump 7,
kurz |
06 |
3 |
6 |
jump -6 |
07 |
1 |
1 |
1 ms kurzer
Impuls |
08 |
1 |
0 |
aus |
09 |
2 |
3 |
10 ms |
0A |
C |
E |
skip if
S1=1 |
0B |
9 |
0 |
jump 0:
lang |
0C |
3 |
5 |
jump -5 |
0D |
|
|
|
0E |
|
|
|
0F |
|
|
|
Adresse | Befehl | Daten | Kommentar |
00 |
1 |
1 |
1 an |
01 |
1 |
1 |
2 ms
langer Impuls |
02 |
1 |
0 |
aus |
03 |
2 |
3 |
10 ms |
04 |
3 |
4 |
zum
Anfang |
05 |
|
|
|
Adresse |
Befehl |
Daten |
Kommentar |
00 |
8 |
0 |
Seite 0 |
01 |
4 |
0 |
A=0 |
02 |
5 |
1 |
B=A |
03 |
C |
F |
S2=1 ? |
04 |
9 |
D |
Springe 0D (absolut) |
05 |
C |
C |
S1=0 ? |
06 |
3 |
3 |
Springe -3 (relativ) |
07 |
7 |
1 |
A=A+1 |
08 |
5 |
4 |
Dout=A |
09 |
2 |
6 |
Warte 100 ms |
0A |
C |
E |
S1=1 ? |
0B |
3 |
1 |
Springe -1 (relativ) |
0C |
3 |
9 |
Springe -9 (relativ) |
0D |
5 |
4 |
Dout=A |
0E |
2 |
E |
Warte 30 sec (oder andere
Zeit) |
0F |
7 |
2 |
A=A-1 |
10 |
C |
3 |
A=B ? |
11 |
3 |
4 |
Springe -4 (relativ) |
12 |
5 |
4 |
Dout=A |
13 |
4 |
F |
A=15 |
14 |
5 |
9 |
PWM=A |
15 |
2 |
9 |
Warte 1 sec |
16 |
4 |
0 |
A=0 |
17 |
5 |
9 |
Dout=A |
18 |
9 |
0 |
Springe 00 (absolut) |