Paralelni vhod in izhod

Primer: - ročno vklapljanje izhodov z vhodi -

Sestavimo program, ki omogoči na paralelnem vmesniku port1 MC6803 vklapljanje in izklapljanje poljubnih izhodov. Osem priključkov razdelimo tako, da so štirje pomembnejši biti izhodi, ostali štirje manj pomembni biti pa vhodi. Slika vhodov naj se preprosto prenese na izhode. Program naj se izvaja v neskončni zanki in se nahaja na naslovu $2000. Pazi na inicializacijo vmesnika (port1)!

R E Š I T V E


        org   $fffe
        fdb   start

        org   $2000
start   ldaa  #%11110000
        staa  $00
ponovi  ldaa  $02
        anda  #$0f
        rola
        rola
        rola
        rola
        staa  $02
        bra   ponovi

        end


* nastavimo reset vektor
* z začetnim naslovom programa

* nastavimo začetek programa
* definiraj zgornje 4 bite kot izhod
* in spravi v DDR Port1
* poglej stanje v podatkovnem registru Port1
* odstrani stanje zgornjih štirih bitov
* pomakni
* za 4
* mesta
* v levo
* vrne v DR Port1
* in vrti se, vrti

Med delovanjem programa opazujemo v posebnem oknu stanja na izhodih in jih spreminjamo s klikom na tipko - kvadratek.

K O N E C     R E Š I T E V


Naloge za reševanje in utrjevanje:

1. naloga: Sestavi program, ki omogoči na paralelnem vmesniku port1 MC6803 delovanje tekočih luči. Najprej se vključi lučka na LSB, nato se pomika proti MSB. Za MSB bitom se ponovno vključi LSB in tako luči krožijo. Program naj se izvaja v neskončni zanki in se nahaja na naslovu $4000. Pazi na inicializacijo vmesnika (port1)!

2. naloga: Sestavi program, ki omogoči na paralelnem vmesniku port1 MC6803 izpisovanje binarnih števil, ki se avtomatsko povečujejo za eno v akumulatorju A. Najprej se izpiše 0, nato 1... (inkrement!). Program naj se izvaja v neskončni zanki in se nahaja na naslovu $3000. Pazi na inicializacijo vmesnika (port1)!