![]() |
Autoelektrik (Startseite) Aufgaben InhaltsverzeichnisGleichstrommotoreSchrittmotore |
![]() |
Gegeben ist ein Fahrzeug mit zwei unipolaren Schrittmotoren an den Hinterrädern, die über einen angeschlossenen On-Board-Microcontroler gesteuert werden. | |
![]() | |
Der Controler steuert beide Motore nach folgendem Programm: | |
dirs=%11111111 | Alle 8 Pins werden als Ausgänge (1) genutzt |
pins = 00000000 | Alle Ausgänge spannungsfrei (0) geschaltet |
b1 =7 : b3= 5: b4= 100 | 3 Zahlenwerte werden in den Speichern b1, b3 und b4
gespeichert. Der Microcontroler verarbeitet nur ganze Zahlen (Integer) mehrere Befehle in einer Zeile müssen durch Doppelpunkt voneinander getrennt sein. |
gosub xxx | Verzweigung ins Unterprogramm xxx |
pause 1000 | Programm mach eine Pause von 1000ms. Dabei bleibt der vor der Pause herrschende Zustand eingefroren. |
gosub yyy | |
pause 1000 | |
gosub xxx | |
pause 1000 | |
gosub zzz | |
pause 1000 | |
next b5 | Ende der Schleife A . Ist die Schleife noch nicht 30 mal durchlaufen worden, springe zu FOR B5 = 1 TO 30 |
pins = 00000000 | |
end | Programmende |
xxx: | Beginn des Unterprogramm xxx |
for b2= 1 to b4 | For-Next-Schleifen Anfang |
pin4 = 1 : pin1 = 1 : pause b3 : pin6 = 0 : pin3 = 0 : pause b1 | Ausgänge 4 und 1 unter Spannung setzen, Pause 5ms (siehe b3), Ausgänge 6 und 3 spannungsfrei schalten, Pause 7ms (siehe b1) |
pin7 = 1 : pin2 = 1 : pause b3 : pin4 = 0 : pin1 = 0 : pause b1 | |
pin5 = 1 : pin0 = 1 : pause b3 : pin7 = 0 : pin2 = 0 : pause b1 | Die 8 Pins des Controlers heißen übrigens Pin0, Pin1, Pin2, ..., Pin7!! |
pin6 = 1 : pin3 = 1 : pause b3 : pin5 = 0 : pin0 = 0 : pause b1 | |
next b2 | Ende der Schleife. |
return | Ende des Unterprogramms xxx. Programm wird unmittelbar hinter der Stelle fortgesetzt, wo das Unterprogramm xxx aufgerufen wurde |
yyy: | |
for b2= 1 to b4 | |
pin5 = 1 : pin1 = 1 : pause b3 : pin6 = 0 : pin2 = 0 : pause b1 | |
pin7 = 1 : pin3 = 1 : pause b3 : pin5 = 0 : pin1 = 0 : pause b1 | |
pin4 = 1 : pin0 = 1 : pause b3 : pin7 = 0 : pin3 = 0 : pause b1 | |
pin6 = 1 : pin2 = 1 : pause b3 : pin4 = 0 : pin0 = 0 : pause b1 | |
next b2 | |
return | |
zzz: | |
for b2= 1 to 2* b4 | |
pin4 = 1 : pin0 = 1 : pause b3 : pin7 = 0 : pin2 = 0 : pause b1 | |
pin6 = 1 : pin3 = 1 : pause b3 : pin4 = 0 : pin0 = 0 : pause b1 | |
pin5 = 1 : pin1 = 1 : pause b3 : pin6 = 0 : pin3 = 0 : pause b1 | |
pin7 = 1 : pin2 = 1 : pause b3 : pin5 = 0 : pin1 = 0 : pause b1 | |
next b2 | |
return | |
Skizzieren Sie den Weg, den das Fahrzeug beschreibt, und fügen sie bei Bedarf Erläuterungen an. |
![]() |
Quickstart | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() | Seite:255 |