inicijalizacija ploterja in krmiljenje preko tipk avtor miha filipič vsebina naloga pristop k problemu shema program naloga izdelati programski del ki bo ob vklopu ploterja postavil pero v začetni poloaj izhodiče izdelati tudi programski del ki bo omogočal krmiljenje ploterja preko tipk ki so del ploterja vsebina pristop k problemu a inicijalizacija ob vklopu je potrebno pero pripeljati v začetni poloaj ki je deločen v horizontalni x koordinati s senzorjem opto zaporo skrajni desni poloaj v vertikanli koordinati y naj ne pride do nobene spremembe uporabnik z vstavitvijo papirja sam nastavi začetni poloaj b tipke preko petih tipk na ploterju je potrebno realizirati krmiljeneje naslednjih funkcij ustavitev risanja off line dvig peresa spust peresa premik peresa v obe smeri levo in desno x os risanja premik papirja v obe smeri gor in dol y os risanja ponovno risanje on line ker je zahteva po realizaciji osmih funkcij tipk pa je le pet sem se odlocil da bo ena tipka sluila tudi kot kontrlolna tipka ki bo drugim tipkam določala funkcijo tako kot tipka shift ctrl in alt na pc tipkovnici vsebina shema kot je iz sheme razvidno se komunikacija odvija preko dpra in dprb dpra msb lsb spodnja desna srednja leva zgornja senzor pero dprb krmiljenje koračnih motorjev vsebina program subrutina vozi inicijalizacija vozi psha klic inicial z labelo vozi pshb pshx ldaa dvigni pero staa dpra ldaa motx lsla smer desno rotiraj levo bcc nasl pazi na c inca nasl staa motx ldab spodnji biti motx so pomembni andb dprb stab dprb anda izpisi le spodnje bite na dprb oraa dprb zgornji biti morajo biti nespremenjeni staa dprb ldaa ff pavz deca pavza za to da motor dohaja bne pavz pulx pulb pula rts program izvede naslednje dvigne pero in začne rotirati koračni motorček x smeri v levo tako da se pero pomika v desno proti opto zapori funkcijo vozi se kliče na začetku glavnega programa in sicer tako dolgo dokler ni opto zapora prekinjena preide pa v visoko logicno stanje main program main inij jsr vozi ldab dpra nalozi dpra andb in ga testiraj ce je opto zapora prekinjena beq inij ce ni vozi dalje naprej glavni program subrutina tipke ploter dobi off line ukaz če pritisnemo srednjo tipko s tem prekinemo izvajane ukazov ki jih ploter sprejema od računalnika sedaj lahko s tipkami t t t in t premikamo papir in glavo pero ploterja s pritiskom na srednjo tipko in nato ne da bi jo spustili e na tipko t ali t pero ploterja spustimo oziroma dvignemo printer gre v on line stanje če pritisnemo srednjo tipko in ne da bi jo spustili e spodnjo tipko srednja tipka tako slui kot pekinitvena tipka in nato kot kontrolna tipka za dodatne funkcije tipk tipke psha pshb pshx ldaa dpra nalozi dpra v akumulator bita testira ce sta pritisnjeni t in t beq pup skoci na pup pen up bita testira ce sta pritisnjeni t in t beq pdn skoci na pdn pen down bita testira ce sta pritisnjeni t in t beq tstart skoci na tstart on line bita testira ce je pritisnjena tipka t beq tspod skoci na tspod premik papirja bita testira ce je pritisnjena tipka t beq tdesno skoci na tdesno premik peresa bita testira ce je pritisnjena tipka t beq tsred skoci na tsred off line bita testira ce je pritisnjena tipka t beq tzgor skoci na tspod premik papirja bita testira ce je pritisnjena tipka t beq tlevo skoci na levo premik peresa clr kbdkey tipka ni bila pritisnjena pulx pulb pula rts pup ldaa dpra nalozi dpra oraa maskiraj zadnji bit postane staa dpra penup dvigni pen ldaa ff tipka je bila pritisnjena staa kbdkey pulx pulb pula rts pdn ldaa dpra nalozi dpra anda maskiraj zadnji bit postane staa dpra pendown ldaa ff tipka je bila pritisnjena staa kbdkey pulx pulb pula rts tsred ldaa ukaz nalozi ukaz staa tukaz shrani ga v tukaz ldaa vrednost stop staa ukaz zapisi v ukaz ldaa ff tipka je bila pritisnjena staa kbdkey pulx pulb pula rts tstart ldaa vrednost staa ukaz zapisi v ukaz brise stop bit ldaa ff tipka je bila pritisnjena staa kbdkey pulx pulb pula rts tlevo bra tlevo podaljanje skoka na tlevo tdesno anda ce opto zapora ni prekinjena beq tdesno skoci naprej na tdesno bra tipkk skoci na konec subrutine tzgor ldaa moty polozaj motorja y lsla rotiranje bcc nextgd tako da se bo inca papir pomikal stran od uporabnika bra nextgd tspod ldaa moty polozaj motorja y lsra rotiranje bcc nextgd tako da se bo papir oraa pomikal k uporabniku nextgd staa moty naslavljanje dprb za motorje ldab zgornji biti moty so pomembni andb dprb stab dprb anda spremeni le zgornje bite na dprb oraa dprb spodnji biti morajo ostati isti staa dprb ldaa ff tipka je bila pritisnjena staa kbdkey bra tipkk skok na konec subrutine tlevo ldaa motx nalozi motx lsra smer levo rotiraj desno bcc nextld oraa pazi na c bra nextld tdesno ldaa motx lsla smer desno rotiraj levo bcc nextld pazi na c inca nextld staa motx naslavljanje dprb za motorje ldab spodnji biti motx so pomembni andb dprb stab dprb anda izpisi le spodnje bite na dprb oraa dprb zgornji biti morajo biti nespremenjeni staa dprb lzap ldaa ff labela lzap ni uporabljena staa kbdkey tipka je bila pritisnjena bra tipkk tipkk pulx konec subrutine pulb pula rts vsebina glavna stran tekst je napisal miha filipič stran je uredil miha krejan marec