User manual

23
B0–BF: For zanka D-krat Adr-high, Adr-low (0–15)
C1–CF: pogojni skok: ko (pogoj 1-15) potem preskok
C1: if A > B then Adr = Adr + 1
C2: if A < B then Adr = Adr + 1
C3: if A > B then Adr = Adr + 1
C4: if Din.0 = 1 then Adr = Adr + 1
C5: if Din0,1 = 1 then Adr = Adr + 1
C6: if Din0,2 = 1 then Adr = Adr + 1
C7: if Din0,3 = 1 then Adr = Adr + 1
C8: if Din.0 = 0 then Adr = Adr + 1
C9: if Din0,1 = 0 then Adr = Adr + 1
CA: if Din0,2 = 0 then Adr = Adr + 1
CB: if Din0,3 = 0 then Adr = Adr + 1
CC: if S1 = 0 then Adr = Adr + 1
CD: if S2 = 0 then Adr = Adr + 1
CE: if S1 = 1 then Adr = Adr + 1
CF: if S2 = 1 then Adr = Adr + 1
D0–DF: Priklic podprogramov (priklic) Adr-high, Adr-low (0-15)
E0–EF: Povratni skok na podprogram (ponastavitvena tipka)
......................................................................................................................................................................................................................................................................................................................................
......................................................................................................................................................................................................................................................................................................................................
Primer uporabe pogojnih skočnih ukazov je možno najti v vzorčnem programu v 6. poglavju.
Nekoliko spremenjen je bil postavljen na naslov 0. Ker je zgornji del naslova (Adr-hi) v stanju
mirovanja, se torej krmilnik prične na strani 0, tukaj ni potrebno uporabljati ukaza 80.
Ponovno se izmeri in prikaže trajanje pritiska tipke. Iz programa so bili odstranjeni vsi ukazi
za čakanje, tako da sedaj deluje z višjo časovno ločljivostjo.
Naslov
Ukaz
Komentar
00 C C S1 = 0?
01 3 1 Skoči -1
02 4 0 A = 0
03 7 1 A = A + 1
04 5 4 Vrata = A
05 C E S1 = 1?
06 3 3 Skoči -3
07 3 7 Skoči -7
CC 31 40 71 54 CE 33 37
Izpis programa 15: Odziv na tipko S1
......................................................................................................................................................................................................................................................................................................................................
......................................................................................................................................................................................................................................................................................................................................
Skočni ukaz CC na naslovu OO oceni stanje na tipkalu S1. V stanju mirovanja je S1 = 1.
Pogoj torej ni resničen in ukaz na naslovu 01 se ne preskoči. Tam se nahaja relativni skočni
ukaz na začetek. Program tako dolgo ponavlja ukaze na naslovih 00 in 01, dokler ne
pritisnete na tipko. Potem je pogoj resničen in naslov 01 se preskoči. S tem se prične
dejanski postopek merjenja. Akumulator se izbriše, potem se vedno za 1 zviša in se
posreduje do LED-diodo. Na naslovu 05 se nahaja dodatni pogojni ukaz za skok CE. Tukaj je
pogoj za preskok enega ukaza S1 = 1. Ker je tipka na začetku še pritisnjena, pogoj ni
resničen. Ukaz 06 se izvede in vodi v povratni skok na 03. Šele za tem, ko je tipka
izpuščena, pride program na naslov 07 in do povratnega skoka na začetek.
Vstavite program in ga testirajte. Reakcijski čas je sedaj bistveno krajši. Časovna enota
znaša pribl. 5 ms.