Die Reihe der Conrad-Lernpakete begann mit dem Conrad Basic-Lernpaket Elektronik und anderen Themen in der Basic-Reihe, ging über die Special-Reihe (Conrad Special-Lernpaket Digitale Elektronik u.a.) und wird nun mit der Profi-Reihe fortgesetzt. Das Conrad Profi-Lernpaket Mikrocontroller ist aus der Sicht dieser Einsteiger-Lernpakete ein Profi-Paket, weil es sich als einziges mit der Mikrocontroller-Programmierung beschäftigt. Trotzdem ist es ein sehr einfacher Zugang zur Mikrocontroller-Anwendung, den jeder schaffen kann. Insbesondere ist kein PC erforderlich, weil die Programmierung allein über die Tasten des Systems erfolgt.
Das Prinzip des TPS-Controllers ist einfach. Man hat vier digitale Eingänge E1 bis E4 und vier digitale Ausgänge A1 bis A4. Außerdem gibt es zwei analoge Eingänge AD1 und AD2 sowie einen quasi-analogen PWM-Ausgang. Ein Reset-Eingang mit einer angeschlossenen Reset-Taste setzt ein Programm an den Anfang zurück. Der Controller wird mit drei AA-Zellen mit ca. 4,5 V versorgt und kann in einem Bereich von 2,2 V bis 5,5 V arbeiten.
|
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 |
|
Ein
Dämmerungsschalter soll das Licht einschalten, wenn die Umgebungshelligkeit
unter einen bestimmten Grenzwert fällt. Wenn es heller wird, soll umgekehrt das
Licht wieder ausschalten. Es sollte sichergestellt werden, dass das Licht auf
der Grenze zwischen hell und dunkel nicht flackert. Das gelingt mit einer
Hysterese, also einem gewissen Abstand der Einschalt- und Ausschalthelligkeit.
Das hier vorgestellte Programm arbeitet nach den folgenden Regeln:
Wenn die Spannung
an AD1 nicht größer als 5 ist, wird ausgeschaltet.
Wenn die Spannung
an AD1 nicht kleiner als 9 ist, wird eingeschaltet.
Damit hat man einen
mittleren Bereich, in dem keine Änderung des Ausgangszustands eintreten kann.
Diese Lücke verhindert ein Flackern der LEDs.
0–5: LEDs aus
6–8: LEDs
unverändert
9–15: LEDs an
Adresse |
Befehl |
Daten |
Kommentar |
00 |
1 |
0 |
LEDs 0000 |
01 |
4 |
5 |
A = 5 |
02 |
5 |
1 |
B = A |
03 |
6 |
9 |
A = AD1 |
04 |
C |
1 |
Skip if A>B |
05 |
1 |
0 |
LEDs 0000 |
06 |
4 |
9 |
A = 9 |
07 |
5 |
1 |
B = A |
08 |
6 |
9 |
A = AD1 |
09 |
C |
2 |
Skip if A<B |
0A |
1 |
F |
LEDs 1111 |
0B |
3 |
A |
Springe –10 |
10 45 51 69 C1 10
49 51 69 C2 1F 3A
TPS-Platine zum Franzis-Lernpakt Mikrocontroller programmieren
TPS-Grundlagen: Anwendungsbeispiele aus dem Handbuch
Video zur Eingabe von Programmen: http://youtu.be/Jo7aX1WqtD8
Video zur Verwendung von Binärzahlen: http://youtu.be/sGzcws8IdvA