User manual

17
Das Programm verwendet einen bedingten Sprungbefehl. Wenn der S1-Eingangszustand Eins ist, wird der
folgende Befehl übersprungen. Drückt man auf die Taste, ist der Zustand Null, und damit wird die Erhöhung
der Variablen A ausgeführt. Das führt zu einem schnellen Hochzählen des Ausgangszustands. Beim Loslassen
bleibt der letzte Zählerstand stehen. Wegen der hohen Zählgeschwindigkeit hat man keinen Einfluss auf das
Ergebnis, das also zufällig ist.
Adresse Befehl Daten Kommentar
30 5 4 Port = A
31 C E S1 = 1?
32 7 1 A = A + 1
33 3 3 Springe –3
Listing 4: Zufallsgenerator
Drücken Sie jeweils kurz auf die Taste, um ein neues Zufallsergebnis zu erhalten. Testen Sie die Zufalls-
funktion, indem Sie eine Statistik der Ergebnisse erstellen. Nach einer ausreichend großen Zahl von Durch-
läufen sollte sich zeigen, dass alle Ergebnisse ungefähr gleich häufig vorkommen. Das Programm eignet sich
auch als Spiel, bei dem z. B. die Zahl 1111 »gewürfelt« werden muss.
Zugleich ist das Programm ein Zähler mit der maximal möglichen Arbeitsgeschwindigkeit, weil kein Warte-
befehl verwendet wird. Sie können daher an diesem Beispiel die Arbeitsgeschwindigkeit des TPS-Controllers
untersuchen. Solange die Taste gedrückt wird, erscheint am Ausgang A1 ein Rechtecksignal mit einer
Frequenz von ca. 133 Hz und einer Periodendauer vom 7,5 ms. Der Port ändert also nach jeweils 3,75 ms
seinen Zustand. Das Programm durchläuft in der Zählschleife vier Befehle. Pro Befehl wird also etwa eine
Millisekunde gebraucht. Der letzte Ausgang A4 zeigt eine Frequenz von 16,6 Hz, was noch als sichtbares
Flackern erkennbar ist.
Wenn für zeitkritische Aufgaben einmal höhere Arbeitsgeschwindigkeiten erforderlich sind, können Sie die
Taktgeschwindigkeit des Controllers durch Verkleinern des Widerstands an Osc1 erhöhen. Mit 100 kO hat
man eine Taktrate von 2 MHz. Tauschen Sie den Widerstand gegen einen mit 27 kO. Damit erreichen Sie eine
fast vierfach höhere Taktrate und eine Befehlszeit von ca. 0,25 ms. Im Normalfall sollte der Controller jedoch
mit 100 kO an Osc1 laufen. Damit ist eine geringe Stromaufnahme und sicheres Arbeiten auch bei kleiner
Betriebsspannung bis herunter auf 2,2 V gesichert.
6 Impulslängenmessung
Mit E4 an GND wird nach einem Reset ein Beispielprogramm zur Messung einer Impulslänge gestartet. Auch
hier wird wieder der Zustand am Eingang S1 ausgewertet.