Kód: Vybrat vše
rem drží = listuje nahoru / dolů - menu ovládání kusé nádraží - proměnná na seriový LCD
rem vše na jednu proměnnou
rem Pouzitá pamet = 1263 bytu z 2048
#picaxe 08M2
symbol menu = b27
symbol cekej = 400 ; pauza - na zákmity a listování
symbol vstup = pinC.4 ; "+"
symbol vystup = pinC.3 ; "-"
symbol enter = pinC.1 ; enter
pause 3500
start:
serout C.2,N2400,(254,1) ; mazání displeje
let b27 = 2
hlavni_m: ; 0 - 3
if vstup = 1 then ; když na C.4 je high ("1")
pause cekej ; počkej na zákmity
inc menu ; přičti 1
endif
if vystup = 1 then ; když na C.3 je high ("1")
pause cekej ; počkej na zákmity
dec menu ; odečti 1
endif
if menu = 4 then
let menu = 0
endif
if menu = 255 then
let menu = 3
endif
serout C.2,N2400,(254,128) ; přesunout na začátek 1 řádku
if menu = 0 then
serout C.2,N2400,(" S T O P . . . ")
endif
if menu = 1 then
serout C.2,N2400,("Kuse stanoviste ")
if enter = 1 then
let menu = 10
goto stan_kusa
endif
endif
if menu = 2 then
serout C.2,N2400,("Trat. stanoviste")
if enter = 1 then
let menu = 20
goto stan_trat
endif
endif
if menu = 3 then
serout C.2,N2400,("Priv.N. trat.st.")
if enter = 1 then
let menu = 40
goto PN
endif
endif
goto hlavni_m
stan_kusa: ; 10 - 18
if vstup = 1 then ; když na C.4 je high ("1")
pause cekej ; počkej na zákmity
inc menu ; přičti 1
endif
if vystup = 1 then ; když na C.3 je high ("1")
pause cekej ; počkej na zákmity
dec menu ; odečti 1
endif
if menu = 19 then
let menu = 10
endif
if menu = 9 then
let menu = 18
endif
serout C.2,N2400,(254,192) ; přesunout na začátek 2 řádku
if menu = 10 then
serout C.2,N2400,("pos z S1 do K ")
endif
if menu = 11 then
serout C.2,N2400,("pos z S2 do K ")
endif
if menu = 12 then
serout C.2,N2400,("pos z S3 do K ")
endif
if menu = 13 then
serout C.2,N2400,("pos z S4b do K")
endif
if menu = 14 then
serout C.2,N2400,("pos z K do S1 ")
endif
if menu = 15 then
serout C.2,N2400,("pos z K do S2 ")
endif
if menu = 16 then
serout C.2,N2400,("pos z K do S3 ")
endif
if menu = 17 then
serout C.2,N2400,("pos z K do S4b")
endif
if menu = 18 then
serout C.2,N2400,(" ... Zpet ")
if enter = 1 then
goto start
endif
endif
goto stan_kusa
stan_trat: ; 20 - 34
if vstup = 1 then ; když na C.4 je high ("1")
pause cekej ; počkej na zákmity
inc menu ; přičti 1
endif
if vystup = 1 then ; když na C.3 je high ("1")
pause cekej ; počkej na zákmity
dec menu ; odečti 1
endif
if menu = 35 then
let menu = 20
endif
if menu = 19 then
let menu = 34
endif
serout C.2,N2400,(254,192) ; přesunout na začátek 2 řádku
if menu = 20 then
serout C.2,N2400,("Vj z Trat do S1 ")
endif
if menu = 21 then
serout C.2,N2400,("Vj z Trat do S2 ")
endif
if menu = 22 then
serout C.2,N2400,("Vj z Trat do S3 ")
endif
if menu = 23 then
serout C.2,N2400,("pos z S1 do Se ")
endif
if menu = 24 then
serout C.2,N2400,("pos z S2 do Se ")
endif
if menu = 25 then
serout C.2,N2400,("pos z S3 do Se ")
endif
if menu = 26 then
serout C.2,N2400,("pos z S4a do Se ")
endif
if menu = 27 then
serout C.2,N2400,("pos z Se do S1 ")
endif
if menu = 28 then
serout C.2,N2400,("pos z Se do S2 ")
endif
if menu = 29 then
serout C.2,N2400,("pos z Se do S3 ")
endif
if menu = 30 then
serout C.2,N2400,("pos z Se do S4a ")
endif
if menu = 31 then
serout C.2,N2400,("Odj z S1 do Trat")
endif
if menu = 32 then
serout C.2,N2400,("Odj z S2 do Trat")
endif
if menu = 33 then
serout C.2,N2400,("Odj z S3 do Trat")
endif
if menu = 34 then
serout C.2,N2400,(" ... Zpet ")
if enter = 1 then
goto start
endif
endif
goto stan_trat
PN: ; 40 - 44
if vstup = 1 then ; když na C.4 je high ("1")
pause cekej ; počkej na zákmity
inc menu ; přičti 1
endif
if vystup = 1 then ; když na C.3 je high ("1")
pause cekej ; počkej na zákmity
dec menu ; odečti 1
endif
if menu = 45 then
let menu = 40
endif
if menu = 39 then
let menu = 44
endif
serout C.2,N2400,(254,192) ; přesunout na začátek 2 řádku
if menu = 40 then
serout C.2,N2400,(" PN do S1 ")
endif
if menu = 41 then
serout C.2,N2400,(" PN do S2 ")
endif
if menu = 42 then
serout C.2,N2400,(" PN do S3 ")
endif
if menu = 43 then
serout C.2,N2400,(" PN do S4b")
endif
if menu = 44 then
serout C.2,N2400,(" ... Zpet")
if enter = 1 then
goto start
endif
endif
goto PN
Zatím to nedělá nic jiného, než že se to zobrazuje na displeji.
Až budu mít chuť a čas, bude jednotlivé podmenu po stisku "enter" něco dělat ... asi pošle po sériové lince na jiný MPU hodnotu proměnné a tam se rozhodne, co bude dál ...
Ale zatím to není pro mne až tak důležité, tak to je nyní "na vedlejší koleji".