46 Informatica št. 1 letnik 1977 pninner preprostega mikroračunalnika z mikroprocesorjem motorola BBDO d. kodek UDK 681.3-181.4 Fakulteta za elektrotehniko, Ljubljana Večina proizvajalcev mikroprocesorskih vezij podaja skupaj z opisom lastnosti vezij tudi tako imenovane minimalne sistemske konfiguracije. Te konfiguracije so običajno sestavljene iz 2 do 5 LSI vezij in postanejo uporabne šele, ko jih opremimo z ustreznim programom. V članku Je opisan primer take konfiguracije na osnovi mikroprocesorja MOTOROLA 6800 in kontrolni program, ki omogoča njeno uporabo za različne namene. AN EXAMPLE OF SIMPLE MICROCOMPUTER BASED ON MOTOROLA 6800: Most manufacturers of microprocessor čircuits include so called minimum system configurations in their product description sheets. These configurations usually consist of 2 to 5 LSI čircuits and are usable only if we support them with some kind of a program. The paper gives an example of such configuration based on MOTOROLA 6800 microprocessor and control program, vhich allows its use for different purposes. 1. UVOD Danes je že povsem jasno, da predstavljajo mikropro­ cesorji veliko prelomnico v razvoju in uporabi digital­ nih sistemov raznih vrst. Upoštevajoč vse prednosti programsko vodenega delovanja in današnje cene mikro­ procesorskih elementov, je pravzaprav že težko najti primere, v katerih z mikroprocesorji tako ali drugačne vrste ne bi mogli zamenjati fiksno ožičene logike. To še posebej velja za počasnejše digitalne naprave, ki jih je mogoče zelo uspešno in hitro realizirati z uporabo MOS mikroprocesorjev. Kljub veliki aparaturni preprostosti z mikroprocesorji narejenih naprav in kljub dejstvu, da lahko isto napravo s preprosto zamenjavo programa uporabimo za povsem različne namene,pa so uporabniki kmalu spoznali, da uvajanje mikroprocesorjev nI vedno preprosto. Pro­ blemi, ki se pojavljajo, so predvsem posledica pomanj­ kanja Izkušenj pri delu s programsko vodenimi sistemi in razmeroma skromne opreme, ki jo ima na voljo ve­ čina uporabnikov. Kot pomoč pri reševanju teh proble­ mov je v tem članku opisan preprost mikroračunalnik s kontrolnim programom, ki omogoča prikaz in študij lastnosti mikroprocesorja MOTOROLA 6800 in ki je Isto­ časno uporaben tudi pri realizaciji in preizkušanju raz­ ličnih kontrolnih naprav. 2. KONFIGURACIJA Pri izbiri mikroračunalniške konfiguracije so bili naj­ pomembnejši kriteriji njena preprostost, cenenost in možnost za hitro realizacijo. Vse to ob zahtevi, da je omogočeno preprosto programiranje In da je po potrebi možno dodati še dodatne elemente za posebne namene. Tem zahtevam je najlaže zadostiti z izpeljanko ene od minimalnih sistemskih konfigiracij, ki jih podaja pro­ izvajalec / 1 /. Značilno za te konfiguracije je, da za­ htevajo zelo malo vmesnih TTL vezij In so zato zelo pri­ merne za naš namen. Uporabljena konfiguracija je prikazana na sliki 1. Namesto težko dosegljivega in razmeroma dragega EPUOM pom­ nilnika 36 8 34, ki bi po proizvajelčevih napotkih sodil v to konfiguracijo, je bil uporabljen starejši in cenejši Intelov 1702 EPROM pomnilnik. Čeprav je kapaciteta t,ega pom­ nilnika samo 256 x 8 bitov, je to za naše namene dovolj. Tudi programatorji za te elemente pri nas niso več red­ kost in zato njihova uporaba ni problematičneu Kot je razvidno iz slike 1 vsebuje mikroračunalnik poleg pomožnih TTL vezij samo 4 LSI vezja. Pri današnjih cenah elementov znaša vrednost sestavnih delov nekaj več kot 1000 dinarjev, pri čemer odpade več kot 80% na LSI vezja. Uporabnik ima na voljo 128 8-bltnih besed v RAM pomnil­ niku (adrese O do 7F), 256 8-bitnih besed v EPROM pom­ nilniku (adrese FFOO do FFFF), 8 stikal kot vhodno enoto, 8 svetlečih diod kot izhodno enoto, 5 komandnih tipk (RE- SET, INTERRUPT, LOAD, DISPLAV in GO) in 1 svetlečo diodo kot kontrolni Indikator. Potrebujemo napajalni na­ petosti 5V in -9V 5 pri tem je napetost -9V potrebna sa­ mo za EPROM pomnilnik. Zizjemo tipk RESET in INTERRUPT, ki delujeta neposredno na vhode mikroprocesorja, so vse ostale tipke, stikala In svetleče diode priključene preko perifernega adapterja PLA (adrese 2004 do 2007). Način njihovega delovanja In s tem njihova funkcija, je zato povsem p)od programsko kontrolo in jo lahko z zamenjavo programa spremenimo. Zaradi preprostosti tudi ni bilo realizirano popolno deko- 47 Slika 1: Konfiguracija dlranje adres in so ostali adresni biti A10, Ali, A12 in AlSneuporabljehi. Pri razširjanju konfiguracije je zato potrebno upoštevati to zoženost adresnega prostora. 3. KONTROLNI PROGRAM Omenili smo, da je z izjemo tipk RESET in INTERRUPT, d elovanje vseh ostalih tipk in vseh sUkal in svetleči h diod, pod programsko kontrolo. Brez ustreznega progra­ ma se bo mikroračunalnik s slike 1 odzval vedno samo na tipko RESET, na tipko INTERRUPT pa samo v primeru, ko maskirni bit I v mikroprocesorju ni postavljen. Ker je poleg brisanja registrov v mikroprocesorju edina po­ sledica RESET signala ta, da se programski števec v^mi­ kroprocesorju napolni z. vsebino adres FFFF in FFFE, je naš mikroračunalnik brez kontrolnega programa povsem neuporaben. V našem primeru mora kontrolni program omogočati, da lahko uporabnik preko tipk, stikal in svetlečih diod vpisuje in izvaja poljubne programe. Razumljivo je, da bo pri tako skromni konfiguraciji uporabnik moral pro­ gramirati v.strojnem jeziku. Nujno je tudi, da se kon­ trolni program, ki to programiranje in izvajanje omogo­ ča, nahaja v EPROM pomnilniku, saj bi se sicer ob iz­ klopu napetosti izgubil. Uporabnik ima torej za svoje programe na voljo 128 8-bitnih besed v RAM pomnilniku, kar zadošča za spoznavanje mikroprocesorja, obenem pa omogoča realizacijo in preizkušanje raznih manjših kontrolnih naprav. Princip delovanja kontrolnega programa je prikazan na sliki 2. Program poženemo s priUskom na tipkd RESET in se prične z inicializacijo registrov v perifernem adap- terju PIA. Periferne priključke PAO do PA7 konfigurira- mo kot vhode (ničle v data direction registru A),,pri­ ključke PBO do PB7 pa kot izhode (enice v data direction registru B). Kontrolne priključke CAl, CBl in CB2 kon- flguriramo kot vhode, ki reagirajo ra zadnjo fronto, (bit CRAl = CRBl = O, CRA4 = CRB4 = O, CRB5 = 0), med­ tem ko je priključek CA2 konfiguiiran kot izhod (bit CRA5 = 1). Izhoda IRQA in IRQB onemogočimo ( CRAO = GRBO = O, CRA3 = CRB3 = 0), ker želimo imeti detekcijo aktiviranja tipk brez programskih prekinitev. Po inicializaciji vpišemo v spremenljivko N vrednost 1 in pričnemo z otipavanjem stanja tipk. Ker so tipke LOAD, DISPLAV in GO priključene neposredno na vhode CBl, CB2 in CAl, je s posebno subrutino potrebno preprečiti, da se odskakovanje kontaktov v tipkah ne detektira kot več­ kratno aktiviranje tipke. Ker pride do odskakovanja tako takrat, ko pritisnemo na tipko, kot takrat, ko jo izpusti­ mo, vsebuje subrutina po detekciji zadnje fronte (ob pri­ tisku na tipko) najprej zakasnitev, ki izloči fronte zaradi odskakovanja, nato pa čaka na pozitivno fronto (ob izpu­ stitvi tipke) in se šele po njeni detekciji in ponovni zaka­ snitvi zaradi odskakovanja, vrne v glavni program. Aktivnosti, ki se sprožijo ob aktiviranju posameznih tipk so razvidne iz diagrama na sliki 2. S prvim in drugim aktiviranjem tipke LOAD vpišemo^preko stikal 16-bitno adreso v spremenljivke STADR, LDADR" in DISADR. Ob nadaljnih aktiviranjih tipke LOAD se vsebina stikal pri­ čne vpisovati na adreso, ki se nahaja v spremenljivki LDADR In ki se po vsakem vpisu poveča za 1. Ob aktiviranju tipke DISPLAV se na svetlečih diodah prir kaže vsebina, ki se nahaja na adresi shranjeni v spre- f RESET ) 48 INIclMaACJJA NE NE sThvje sriKAt NA IN DI5AM SrAMJr STIMAl «A «rAM V AJ(UWV^«mA vsesiNA A>tcsf srAM^4 v AXU»«/IAT/I« A N —N*1 iveneiA oijiM .60" urftiM J nnvfMco iUrVV NAKKUNtO, (Ml m k NI V MI/ NE nitiNA Min VMM /N DliAOtH v mt^U viititJA kome v iNOCjr KECitrtv M imm mm UtriTlA M> ftlUil Mtt. IV WMt*'l vje&;WA MiUMULATOHJAK f/A METLlU IH0oe ± VJC»MA MKBS LDAik m LPADUti V IMMH uaisru I yrA«je SHKAI NAADS?*« W5?)A~R5nf!F 5 *A v«»/NA iNDfK onurtA iSJOiSt*. Ui I MrfiNMMtrirtrsiirii NA ANtfl UAH « (»AMtl DA inrulA tiifiA'*