INICIALIZACIJA


.
 
 
ldaa #$60 inicializiramo stevec
staa VSTEP na zacetno vrednost
ldaa #%01100110 Inicializiramo spremenljivko,
staa VZADNJE s katero krmilimo motor.
ldaa _DPRA Pogledamo,
anda #$10 ce so na
cmpa #$00 zacetku vrata zaprta.
bne VZACET Ce niso skocimo,
ldaa #$01 sicer pa postavmo zastavico,
staa VZAPRTA ki pomeni zaprta vrata.
bra VENDI Skocimo na konec.
VZACET ldaa #$00 in brisemo zastavico,
staa VZAPRTA ki pomeni zaprta vrata.
VENDI ldaa #$00 Na nic postavimo se
staa VODP zastavico odpiranja
staa ODPRI in zastavico, ki zahteva odpiranje.
rts Return().
MAIN bra MAIN
 

**********************************************************************************************
********************SUBRUTINA ZA KRMILJENJE KORACNEGA MOTORJA*************************
**********************************************************************************************
VRATA psha
ldaa #$60 ;Pogledamo,
cmpa VSTEP ;ce je stevec na zacetku.
beq VSWCHK ;Ce je, gledamo pozicijo stikala.
ldaa VODP ;Nalozimo ODP, da pogledamo, 
cmpa  #$01 ;ce odpira.
beq VODPIRAJ ;Ce odpira skoci na odpiranje,
bra VZAPIRAJ ;sicer pa na zapiranje.
VSWCHK ldaa  _DPRA ;Nalozimo port DPRA,
anda #$10 ;maskiramo vse bite, razen kjer je stikalo,
cmpa #$00 ;da pogledamo, ce je stikalo pritisnjeno.
bne VENDSTP ;Ce ni, skocimo na konec,sicer
ldaa VZAPRTA ;pogledamo,
cmpa #$01 ;ce so vrata zaprta.
bne VZAPIRAJ ;Ce niso, skocimo na zapiranje,sicer
ldaa ODPRI ;nalozimo zastavico ODPRI
cmpa #$01 ;in pogledamo, ce je postavljena zahteva
beq VODPIRAJ ;za odpiranje. Ce je odpiramo,sicer pa
bra VENDSTP ;skocimo na konec.
VZAPIRAJ ldaa #$00 ;Postavimo zastavico, 
staa VODP ;ki oznacuje odpiranje.
ldaa VSTEP ;Nalozimo stevilo korakov
deca ;in ga zmanjsamo za ena
staa VSTEP ;ter ga shranimo za naslednji prehod
beq VENDZ ;ce smo ze na nicli, skocimo ven,sicer pa
ldaa VZADNJE ;nalozimo stanje motorja
lsla ;pomaknemo za en korak
bhs VSTPJMP ;ce je po premiku C=1
oraa #$01 ;potem to enico zapisemo na drugo stran
bra VSTPJMP ;in skocimo ven.
VODPIRAJ ldaa #$01 ;Postavimo zastavico,
staa VODP ;ki oznacuje odpiranje
ldaa #$00 ;in zastavico,
staa VZAPRTA ;ki pomeni odprta vrata.
ldaa VSTEP ;Nalozimo stevilo korakov
deca ;in ga zmanjsamo za ena
staa VSTEP ;ter ga shranimo za naslednji prehod.
beq VENDO ;Ce smo ze na nicli, skocimo ven,sicer pa
ldaa VZADNJE ;nalozimo stanje motorja ter
lsra ;pomaknemo za en korak.
bhs VSTPJMP ;Ce je po premiku C=1,
oraa #$80 ;potem to enico zapisemo na drugo stran
bra VSTPJMP ;skocimo na konec.
VENDZ ldaa #$01 ;Postavimo zastavico,
staa VZAPRTA ;ki pomeni zaprta vrata.
VENDO ldaa #$60 ;Stevec postavimo
staa VSTEP ;zopet na zacetno vrednost.
ldaa #$00 ;Resetiramo zastavico,
staa ODPRI ;ki zahteva odpiranje
bra VENDSTP ;in skocimo na konec.
VSTPJMP staa VZADNJE ;Zadnje stanje shranimo za naslednji prehod
staa _DPRA ;in na izhodni port.
VENDSTP pula
rts