Masz dziwnie napisaną obsługę menu.
Klawiszem Zatwierdz (alias Setup) wchodzisz do menu, i następne pozycję menu wybierasz też tym klawiszem.
A którym klawiszem zatwierdzasz wejście w wybraną opcję menu?
A powód "mrugania" jest prosty. W liniach od 238 do 274 masz za dużo komend Cls
w 236 lini masz sam Cls do kasowania po wejściu w menu i to jest w porządku.
Ale zaraz po wyświetleniu pozycji menu czekasz sekundę (po co?) robisz Cls i przechodzisz do obsługi tej pozycji.
Kod:
Case 1 :
Locate 1 , 4 : Lcd "Ustawianie"
Locate 2 , 6 : Lcd "Rotora"
Wait 1 : Cls : Gosub Ustaw_rotor
proponuje ci:
1) Wyrzucenie tych Cls-ów w tych pozycji.
2) Przerobić zmianę pozycji menu za pomoca klawiszy Up Down
3) dorobić drugiego Case na obsługę poleceń z menu po naciśnięciu klawisza zatwierdź.
Kilka uwag ogólnych:
1) Niepotrzebnie używasz timer-a, bo twój program poradziłby sobie bez niego
2) Robisz za duże skoków (używaj jak najmniej Gosub)
3) Za dużo tu również Wait-ów - program ma pracować, choćby w kółko, a nie stać jak kołek
Zastanawiam się jak go kompilujesz, masz pełną wersję BASCOM AVR?. Kod przekracza już 2k, a jeszcze niewiele robi.
PS. Napisz coś więcej jak ma działać interfejs, bo nie do końca wiem jak program ma działaś.