Okay - es sollen also nur drei Zeiten eingeben werden...
Nennen wir sie mal Zeit1, Zeit2 und Zeit3, dann würde ich das vom Prinzip her so machen:
Code:
...
Dim Zeit1 as Word
Dim Zeit2 as Word
Dim Zeit3 as Word
Dim X as Word
...
Do
Locate 1,1
LCD "Zeit 1:"
Eingabe_Zeit1:
X = Getadc(1)
Zeit1 = X * .....
Zeit1 = Zeit1 + ...
(Hier wird der GetADC-Wert in einen passenden Wert für Zeit1 umgerechnet, je nachdem welchen Wertebereich Zeit1 haben soll)
Locate 2,1
LCD Zeit1; " " '3 Leerstellen, damit "alte" Ziffern vom vorigen Wert überschrieben werden, wenn Zeit1 weniger Stellen haben sollte als der vorige Wert
If Taster1 = 1 then goto Eingabe_Zeit1
Bitwait Taster1, set 'Wartet ab, bis der Taster losgelassen wurde
waitms 10 'noch eine kurze Pause, um Prellen abklingen zu lassen
CLS
Locate 1,1
LCD "Zeit 2:"
Eingabe_Zeit2:
X = Getadc(1)
Zeit2 = X * ...
Zeit2 = Zeit2 + ...
(Erneut: Berechnung von Zeit2 aus GetADC-Wert...)
Locate 2,1
LCD Zeit2; " "
If Taster1 = 1 then goto Eingabe_Zeit2
Bitwait Taster1, set
waitms 10
...
(gleiches Spiel für Zeit 3)
...und fertig!
Und Du hast schon recht, dass man ein Unterprogramm natürlich nur mit GOSUB anspringen kann. Aber man muss es unbedingt mit Return verlassen, und nicht mit einem GOTO!
Lesezeichen