parafka napisał: Dziękuję za odpowiedzi.
Rozwiązało się jednak samo przypadkiem.
Przerwanie generowane od
On Timer1 Wyswietl powoduje skok od podprogramu
Wyswietl,
nawet jeżeli jest realizowana jakaś procedurka
SUB.
W SUBach dodałem
Stop Timer1 i na końcu
Start Timer1.
Instrukcje wykonują się już w komplecie i wszystko jak na razie działa.
Nie muszę już powiększać zmiennych o 2.

Nie najlepej to rozwizałeś, i to nie na długo.....
Zatrzymywanie timera odpowiedzialnego za multiplex 'rozłoży' ci całą procedurę wyswietlania.
A w ogóle to umieszczenie wyświetlania w przerwaniu timera nie jest dobrym pomysłem, to co było powodem oryginalnego problemu.
W przerwaniu Timera (1), lub(0) odmierzajacym czas dla multiplexing, umieśc tylko flagę, a procedurę wyświetlania przesuń do instrukcji warunkowej uczulonej na tą flagę , jednocześnie kasując tą flagę w tej instrukcji i umieśc to w pętli głównej programu .
Dla niekumatych i nie douczonych malkontentów:
W Bascom, tabela z stałymi 'Data' niezależnie czy to są wartości numeryczne (1 , 2 , 234 , etc...) czy też string ("A " , "b" , itd.. ) ich index zawsze zaczyna się od numeru 0 (zero).
Natomist dla tabeli zmiennych ('array')- index (by default) zaczyna się od 1 (jeden), który można zmienic na zero poprzez odpowiedni config.
Nie jest to bynajmniej jedyna różnica w traktowaniu tych tabel.
Więcej info zawiera Manual
Problem tkwi w nie porawnym tłumaczeniu "instrukcji pomocy" na j. polski:
- zarówno tabelę zawierająca 'data' oraz zespół zmiennych (array()) nazwano sobie też
tabelą wprowadzając w błędną konsternację późniejszych specjalistów, którzy już dla zasady opluwają to, nie aż takie złe środowisko, udowadniając braki w znajomości tematu.
Dokładnie: tak 'jak te małpy w ZOO'..
e marcus