User manual

37
Im Kern des Programms kommen die schon bekannten Skip-Befehle zum Einsatz. Wenn die jeweilige Taste
nicht gedrückt ist, wird der zugehörige Befehl zum Erhöhen oder Verkleinern des Akkuinhalts übersprungen.
Die Schwierigkeit besteht aber darin, dass normalerweise dabei auch ein Überlauf von 15 auf 0 oder von 0
auf 15 auftreten kann. Es erfordert etwas mehr Aufwand, dieses Überlaufen zu verhindern. Dazu muss
nämlich jeweils abgefragt werden, ob das untere Ende (0) oder das obere Ende (15) bereits erreicht ist. Da
bei einem Vergleich grundsätzlich der Akku beteiligt ist, muss dessen Inhalt jeweils zwischengespeichert
werden. Dazu wird die Variable C eingesetzt.
Adresse Befehl Daten Kommentar
00 8 0 AdrHi = 0
01 5 9 PWM = A
02 2 7 200 ms
03 5 2 C = A
04 4 F A = 15
05 5 1 B = A
06 6 2 A = C
07 C 2 Skip if A<B
08 9 B Springe 0B
09 C F Skip if S2 = 1
0A 7 1 A = A + 1
0B 5 2 C = A
0C 4 0 A = 0
0D 5 1 B = A
0E 6 2 A = C
0F C 1 Skip if A>B
10 9 0 Springe 00
11 C E Skip if S1 = 1
12 7 2 A = A – 1
15 9 0 Springe 00
80 59 27 52 4F 51 62 C2 9B CF 71 52 40 51 62 C1 90 CE 72 90
Listing 24: Helligkeitssteuerung