jaroslawk napisał: Jeden problem rozwiązany
Jak zrobić zmienny waitms...
Zerknąć do Help-a i tam przeczytać , że argumentem funkcji
Waitms jest
Byte , czyli maksymalna wartość to 255.
Jeśli dokładność odmierzanego czasu może być
PI * OKO , to skorzystać z dobrodziejstwa , jakim jest
Subroutine(Arg) lub
Gosub To Label.Jeśli chcemy osiągnąć w miarę dużą dokładność , to ... pozostają timery.Ponieważ rozdzielczość opóźnień w Twoim programie to 10ms , wystarczy utworzyć procedurę z opóźnieniem 10ms i wywoływać ją tyle razy ile ... trzeba.
Dim Czas as Byte,X As Byte
...
'wywołujemy opóźnienie 580ms
Czas=58
Gosub Delay10ms
...
Delay10ms:
For X=1 To Czas
Waitms 10
Next X
...
Ktoś może zapytać "dlaczego pętla FOR ... NEXT a nie np. WHILE ... WEND " , ano dlatego że pierwsza zużywa mniej pamięci.
Świat mikrokontrolerów (i nie tylko) należy do ciekawskich i ktoś kto ma klapki na oczach , daleko w nim nie zajdzie
To taka moja luźna uwaga
Teraz powrócę do 1-szego Twojego problemu ze pozostającymi zerami na wyświetlaczu.Kolega
KwoiteK , podsunął prawidłowe rozwiązanie , ale czy optymalne

Raczej nie

Można zrobić tak:
For I = Licz To 0 Step -1
Locate 1 , 4
Lcd I;" " '1 spacja
Waitms 5
Next I
Ale to też nie jest optymalna opcja.Najmniej pamięciożerna opcja to:
Tu kończę moje wywody
Piotrek