est Bewegung durch eine 3D-Landschaft mit ... - David Zaadstra
est Bewegung durch eine 3D-Landschaft mit ... - David Zaadstra
est Bewegung durch eine 3D-Landschaft mit ... - David Zaadstra
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Projektarbeit 2002, BKIK 2/1<br />
<strong>David</strong> <strong>Zaadstra</strong>, Alexander Fuchs<br />
<strong>Bewegung</strong> <strong>durch</strong> <strong>eine</strong> <strong>3D</strong>-<strong>Landschaft</strong> <strong>mit</strong> Fernbedienung<br />
Elektronikschule Tettnang<br />
Makro WAIT_HIGH<br />
Start<br />
Register<br />
sichern<br />
Dieses Makro wartet auf ein ca. 10ms langes<br />
High, danach wartet es auf den 1. Low-Impuls<br />
<strong>eine</strong>s Signals, so wird garantiert, dass genau der<br />
Anfang des Signals abgepasst wird<br />
Alle verwendeten Register auf den Stack schieben<br />
R0 #0<br />
R1 #0<br />
R0 und R1 stellen <strong>eine</strong>n 16 Bit-Wert dar. R0 ist<br />
das Lowbyte, R1 ist das Highbyte<br />
R0 R0 + 1<br />
Lowbyte inkrementieren<br />
C = = 1<br />
ja<br />
R1 R1 + 1<br />
nein<br />
Ist das Lowbyte übergelaufen, wurde das Cary-<br />
Bit gesetzt. Dann muss zusätzlich das Highbyte<br />
inkrementiert werden<br />
Highbyte inkrementieren<br />
P1.1 = = 1<br />
ja<br />
nein<br />
Kontrolle: Liegt immer noch High an?<br />
Wenn nicht, Rücksprung<br />
nein<br />
R1 = = 4<br />
Wenn R1 = 4 ist, also ca. 10ms vorüber sind muss<br />
nur noch auf das 1. Low <strong>eine</strong>s Signals gewartet<br />
werden<br />
P1.1 = = 1<br />
ja<br />
So lang warten, bis 1. Low <strong>eine</strong>s Signals anliegt<br />
Register<br />
r<strong>est</strong>aurieren<br />
Alle verwendeten Register r<strong>est</strong>aurieren<br />
ENDM<br />
- 22 -<br />
Rücksprung ins Hauptprogramm