+ All Categories
Home > Documents > Introducere in Microprocesoare_Part28

Introducere in Microprocesoare_Part28

Date post: 06-Dec-2015
Category:
Upload: mesuzana-1
View: 225 times
Download: 3 times
Share this document with a friend
Description:
9
6
TONA I"iETALI2ATA TRANSPARENTA $ l"Ef.4BRAiiA Pi: lll FU Eraar RCll I ultrasonor, 1a atingerea ecranului, se pot determina coordonateie ji;, J', Acest tip de ecran permite o vizibilitate bun[, dar o rezolulie nu prea lidicatS.; m[rirea rezolutiei necesitl o comasare puternici a generatoa- relor ;i receptoarelor, ducind implicit la cre;terea prelului si a sensi- bilitllii fa!5. de depunerea firelor de praf. Ecranul sensibil folosind radiali,i in-frarogii s-ar pirea cir este va- rianta optimi, deci cea mai utilizatS. (fiabiiitate ridicat)", vizibiiitate perfectir, rezolulie de pini la 1 mm, pref deSost acceptabil). Modul c1e iea\izare este reprezentat in figura 6.32, a. In fala supr-afeici de stici'a a ecranului se forrneaz5 o relea de fascicule de radialie infraro;ie, la capetele opuse ale unui {ascicul, fie pe linii, fie pe coloane se a{li un LED, respectiv un fototranzistor. Pentru a elimina paralaxa in pozi{io- narea unui punct de la marginea ecranului, care are o suprafafi. curbati, girul LED-irrilor ;i fototranzistoarelor pe coloane ;i pe linii se fixeazi curbat. Scanarea se face activind succesiv LED-uliIe gi testind, pentru tranzistoarele corespunz|loare, starea de conducfie intii pe coloane (se deterrnin5. coordonata r) ;i apoi pe linii (coordonata y). Intreruperea unui fascicul, cu un stilou, duce la starea de neconduclie a fototran- zistorului respectiv. O structuri posibilS. pentru calculul coordonatelor l I I l&i.,3i,?1, I txt I i I ) bl 18i\fgiisfRAFArA GEI.]ERATOR s0r'il c uNoA'os S-IPRAF^ri irtrr Ecir;i cl FiiCEFTCR sciilc Fig' 6'31' ripuri de ""jr""" Tffi?t5r,:::1,.:"tt;:.::;,:ru1;.",i.ti,; D - capacitiv; pent'u progralne de comand6 prin rnenu. Recent [44] s-au rearizat ecrane cu rezotu{ia echivarentd unei-rnatrici ;"^iil;jbbl i"'o."rt"" intreaga suprafaf S este acoperit5 cu strat ryelalic .orrao.iirr*;;'r" ";?r"l*1"-r3 ':"1e1ru""?li:t*]" '' i' p'ii-oii;;i''";;;*iiir;ra de cere patru i* modaritatea dc rearizare sonic.d, existi, de pe dou' raturi per- perrdiculare, gcneratoate pieroerectrice care g.n.i"")i*;il';#;: sollore pe supratala ecranului, figura 6..31 , c, pi""-ato."rea modificirii transmisiei suneturui prin sticii iu a timpur"ia;ii*ie a unui impurs 324 H Fig. 6.32. Ecran sensibil plin atingere realizat cu {ascicule de radiafie infra- rogie : a. - pozi{ionarea releleidefascicu- le in lafa ccranului; b - schemS. bloc pentru ca,lculul coordonatelor x,y atre punctului aiins i2:-q€139 ts+aIs++4 ' I )-i1t+= Llt Pt Exon coi
Transcript
Page 1: Introducere in Microprocesoare_Part28

TONA I"iETALI2ATATRANSPARENTA

$

l"Ef.4BRAiiAPi: lll FUEraar RCll

I

ultrasonor, 1a atingerea ecranului, se pot determina coordonateie ji;, J',Acest tip de ecran permite o vizibilitate bun[, dar o rezolulie nu prealidicatS.; m[rirea rezolutiei necesitl o comasare puternici a generatoa-relor ;i receptoarelor, ducind implicit la cre;terea prelului si a sensi-bilitllii fa!5. de depunerea firelor de praf.

Ecranul sensibil folosind radiali,i in-frarogii s-ar pirea cir este va-rianta optimi, deci cea mai utilizatS. (fiabiiitate ridicat)", vizibiiitateperfectir, rezolulie de pini la 1 mm, pref deSost acceptabil). Modul c1e

iea\izare este reprezentat in figura 6.32, a. In fala supr-afeici de stici'aa ecranului se forrneaz5 o relea de fascicule de radialie infraro;ie, lacapetele opuse ale unui {ascicul, fie pe linii, fie pe coloane se a{li unLED, respectiv un fototranzistor. Pentru a elimina paralaxa in pozi{io-narea unui punct de la marginea ecranului, care are o suprafafi. curbati,girul LED-irrilor ;i fototranzistoarelor pe coloane ;i pe linii se fixeazicurbat.

Scanarea se face activind succesiv LED-uliIe gi testind, pentrutranzistoarele corespunz|loare, starea de conducfie intii pe coloane (sedeterrnin5. coordonata r) ;i apoi pe linii (coordonata y). Intrerupereaunui fascicul, cu un stilou, duce la starea de neconduclie a fototran-zistorului respectiv. O structuri posibilS. pentru calculul coordonatelor

lI

I

l&i.,3i,?1,I txtI

iI

)

bl

18i\fgiisfRAFArA

GEI.]ERATORs0r'il c

uNoA'osS-IPRAF^riirtrr Ecir;i

clFiiCEFTCRsciilc

Fig' 6'31' ripuri de ""jr""" Tffi?t5r,:::1,.:"tt;:.::;,:ru1;.",i.ti,; D - capacitiv;

pent'u progralne de comand6 prin rnenu. Recent [44] s-au rearizat ecranecu rezotu{ia echivarentd unei-rnatrici ;"^iil;jbbl i"'o."rt"" intreagasuprafaf S este acoperit5 cu strat ryelalic .orrao.iirr*;;'r" ";?r"l*1"-r3

':"1e1ru""?li:t*]" '' i' p'ii-oii;;i''";;;*iiir;ra de cere patrui* modaritatea dc rearizare sonic.d, existi, de pe dou' raturi per-perrdiculare, gcneratoate pieroerectrice care g.n.i"")i*;il';#;:sollore pe supratala ecranului, figura 6..31 , c, pi""-ato."rea modificiriitransmisiei suneturui prin sticii iu a timpur"ia;ii*ie a unui impurs

324

H

Fig. 6.32. Ecran sensibil plin atingererealizat cu {ascicule de radiafie infra-rogie : a. - pozi{ionarea releleidefascicu-le in lafa ccranului; b - schemS. blocpentru ca,lculul coordonatelor x,y atre

punctului aiins

i2:-q€139ts+aIs++4' I )-i1t+=

Llt Pt Exon

coi

Page 2: Introducere in Microprocesoare_Part28

I,^l,T putea fi cea din figura 6.32,b. l\,Iicroca-lculatorul, d,e exemplu80414, genereaz5. irnpulsuri de clock numblltorului. Acest numlri"Torepte-, d9 fapt, compus din doul numd.rdtoare, primul pentru coloarrcsr aI dorlea pcntru ]inii ; intii se exploreazd coloanele priri increnrentarcaprtmului numxrltor, apoi liniile prin incrcmentaree-cclui de al doilea.Prin decodificatoare/amplificatoa?e se activeazl" succesiv toate fascr-culele. Pentru fasciculele intrerupte se transmite uc prin intermedi,.rlmultip).exorului bitul, 1, iar pentru cele neintreiuptb niiut o. Microcai-culatorul detcrminS. La fiecare bit I primi1., nilmilul coloanei sau linieiintrerupte care l-a generat. Pentru acea.:,ra se implementcazl- un nu-miritor prin soft care trebuie si. nuirrer.: silcroil cu cel in:llem.enLatextelior prin hr,id. Ireutru ca cele doliii numiiri.toare sL fr]ncl,ionczesincron, de la num5"l5"tor-hard, la inceputul fiecrrei scanl-ii se genereai:Lc5"tre pc un impuls de sincronizarc. Ferifericul posecli un procesor(stipin) pentru celelalte funclii de indeplinit, la care este subordonatg.c pentru calcului coordonatelot x, y de ra ecranul sensibil. Totoclatd.trebuie s5" existe o colnpensare a radiaLiitroi infraro;ii care sint generated"e alte su.rse (lumina zil.ei, iluminatu-i incSperii sau al ecranului).

Distanla dintre doui. coloane sau llnii se alege astfel incit atingereacu un deget si. lntrerupl dou5. fascicuie a].b.turate, prin aceasla rezorrliapoate fi aproape dubl[ deoarece se carcareazd. med"iana dintre fasciculeleintrerupte. De exemp,tru, pentr* ecranul din figura 6.32, c, care are ZIcoloane si 13 linii, rezuit5- o d,i-rizare cu 41 (0-40) pe axa x si cu 25(a-24) pe axa 3,'. DacS- se intrerupe un

'urniLr oar:ecare de fascicule

alLturate (bloc) atit pe axa .r, cii ;i pe y ;i c1ac5" prima cctroanb. intre-rupt5., PCI are numiilul ]{PCI, respectiv prirna linie intreruptd. pI-Iare num5rul NPI-I, ia"r ultirna coloanl- intrerupti. uctr are mrmlrulNUCI, respectiv ultima linie intrerupii'i uI-I are numl-rul IIULI, atuncicoordonatele punctului atins r.'or fi x : NtrCI + IJUCI, y : Npl-tr 1+ NULI.

Se considerS. o atingere validiL daci- se girse;te ccl pulin o l'nie si ocoloanS. intrerupt5. Dac5. se gi"scste un bioc de linii, respectiv un blocde coloane intrerupte se consideri. tot o atingere i'alicr.ii, dai nurnai incazul cind acestea sint singulele pe fiecare ari. E;<istenta mai rnultorblocuri separate prin fasciculele ncintrerr:.Dte nu este iuati. ca o atingerevalid[, ar putea fi aplicarea intregii palme pe ecrarl. o atingei-evalid5. este sesizatS" utilizatorului prin"cr-un semnal ,sonor (un clinchetde tast5" aplsatS") sau luminos. Pentru structura din figura 6.32 o va-riantl de algoritm dupl care microcalculatorul calculeazi coordonatelex, y ale zonei atinse este prezentat in figura 6.33.

326

Fig. 6.33. Schem[ logitriia unui algoritm (Posibil)pentru calculul coordonate-Ior xy ale unui Punct atiirs

,,ELIBERAl "

PITO I]I,Ex,{I'

I).6.1. Datele din perilericul de adresir 40 sir fie inrnullite cu 8, iar apoi transferate

rn p"rir"ri""r a" oir".e as. ii:, ." p-r"ctcze inter{afa pi subrutina corespunzStoare pentru:

I I trun.{", conditionat; 2 - transfer necondifionat'p.6.2. periferi"rt ,r.l :1 emite cer.ere cle intreruoere 1a momeDte de timp aleatoare.

La fiecarc ccrere d.e ,n,.,lril"'*'a.o-a" to peri{erid este stocale in localia urmiloa'c

a listei X. Cincl .o-;,r.t ioiul* t]"pot" in lista X este egal cu 100' peritericul trebuie

a""""""i"t de ta sistem. Si, se proiectezeinterla,ta 9i programul-necesar' ,

P.6.3. Perifericet" ol ?z!i oi"-it cerere'd'e'inireiupere la mlle-nie-de timp alea-

toarc. Dat, l" de la liccare p"rii".ic sint d.epuse,resDecliv ln listele X, y, Z,liecarc listb

a'rir,,L rcpartizare 100 a.j.ioiii' Daci oricire din liste se complet(azd' slocarea in cele-

Ialte se intrerupe. Si se scrie programul necesar'

P.6.4. Un detector;;;1";; !e""'"a'^ impulsuri de amplitudine in gama 0--50'

Si, se '.mcre aceste impulsuri, s5. se sor'1eze drrpi trepteie de-ampliludine (Iixaie

dupi prefcri,ti) orr l:rr lt'sc t.a'sa o histogrami. Sr va utili;a ltbnica 1't'e^ptrilor'p.6._5. Lista ,- "ur1ii,")CO

ioca{ii in caie si'1 clepuse valori ale ten:Lpcraturii. Aceste

valori trebuic trr,ls{eratc c. {rccvcnfa de 10 tlate/sec'uuui periferic (indicator) de adresi

50. S5. se proiecteze ir,i,,,io1u 9i sil se scric prlogramul ioresprnzi'to:' T]'1o-tl"^tt]^,:"

iu""l" ".,oi,,"r,.

pcri{ericului. Dripd, tra.rsferul; 100 cie lccalii intlegul proces se rera'

p.6.6. Se ." .u,,""ffi'.,;;i;";t c" porli.rsI- car-e si. irscrie pe magistrala de date'

la aparilia sernnalului lill-1lq, irstrucfiunea RS-I2'P.6.7. UD sisten: ci' ;;t;p;;;;t;; necesitir un convertor A/N a cirui intrare este

multipiexatS. pe 10 calrale. ii-p"l cie conversie al conveltorului este dc 2c0 ps' sd se

5chifezc intcilafa neceserrS, 9i 'organii;rama programului' Cererea de intrerupere este

ni!ia,tir cltr con-rertor.

327

Page 3: Introducere in Microprocesoare_Part28

CAPITOLUL 7

Eil-ABERAREA S$STEMELORDE MICMCIPROCHS@R,

i:i gi tra blo-curi componente, elemente independente, cum ar fi perife-ricele, sau la plrli componente ale softului.

_. Orice sistem pe bazI de microprocesor trebuie s[ contini um nwclew,adicl o structuri minimai5. compusS. din microprocesor, circuitele cletimp gi amplificatoarele (controlerul) de rnagistrale, precum ;i memoriade pi-ograrne, eventual.;i de date. Toate acestea pot e:iista iniegrate subforma unui rnicrocal.culator pe un singur cip. Lh sistern, fali de attutr,diferS, ca harchvare doar prin cantitatea d.e memorie necesari., interfetele;i perifericele ne_cesare_aptilaliei particulare. Iati deci, ci implernentireaunui sistem pe l-,azi d-" fr,P se reduce la o structurl" standa]-d, de fant,aceastS" idee de standardizare, cu avantajele ce decurg, a constitujtgeneza microprocesorului. La ora actualS" existi pe piald plxci cu circuitimprimat,.-g_ _-:!il_ implementat5 o structuri di sistim c*prinzindprocesor:, ROM, RAS[, interfete serie, paralel5. etc. in diferite combinatiiincit sl acopere aproape intieaga garne de necesitd.li de hard. Acesiesisteme, gata ficute, sint cunoscute sub denumirea abreviatd. StsC(Single Bo.ar{ Cornputqr). Din punct,de vedere al prelului de cost adap-tarea unui sistem stsc este avantajoasS. doar in-cazul unei serii mici(de produse), eventuatr in etapa inilial5" de atrordare a sisternelor pebazh,de microprocesor. Dar, pentru serii mari ;i cu un anurnit poteirtial indomeniul-manufacturirii sisternelor electionice, mai avantajoasi esterealizarca microcalculatoruLu.i, ceea ce reiese si din diagrama din fi-gura 1.1, b.

. . Sistemele pe bazl de microprocesor, aproape stanclard pe partea,de hardware, sint foarte dependente de tiput de apliealie ire farteade software. Dar qi pe partea de software se poate $asl o unifiiare insensul c5. fiecare sistem trebuie s5. aibi un sistem de operare care pentruun sistem de aplic_alie extinsS" este foarte complex, iai pentru on

-siste-

:de aplicalie simpl5 p\oate fi un rud.imentar -monitor.- Frin sistem d.eoperale se infelege, in general, acea parte a unui sistem de calculcompusS. dintr-o colec,tie organizatl. de prograrne (specifice tipurilord-e. elemente componente ale sistemului-resurse) si caie- trebuie sl inde-plinea_sc5.. doud. sarcini importante: prima, gesti'onarea opti,md a resur-selor lirnitate {procesoare, memorie principai5", memorid auxiliard., ca-naLe IlE._ periferice, resurse logice) ;, a doua, risistarea utilizatoaretor (;io-peratorilor) in-asigurarea unei folosiri facile qi convenabile a sistemuhiide calcul. (Fot fi considerate ca resurse logice; diverse tabele, programe,subprograme; accesul Ia acestea ;i metodele de sincroni/arJ intreele etc.).

Un sistem pe bazl, de microprocesor pentru (in) ti,mp real,, TR,se caracterizeazS" prin rearizarea unei valoli prescrise pentru timpul$e r$p.gr-rs.,- adic5. este 9apa.bil s5" urmlreasci ;i id rlspundl in timp utilla soliciti"rile din ext_erior (a1e procesului, in care se includ, in general,sistemele de comandi si conti'ol cu calculatorul). Acest inteival detimp variazS" in funclie de specificur aplicaliei (procesului 6izic), d.:

PE BAZA

- o varia't, posibiif,, in s_uccesiu'ea eraboi-d"rii unui pr-odus pe bazdde mrcroprocesor, ar putea fi cca ""p;";;;;;;;^i;tig"#;rila din fi_gura 7.1 , a. Duo'" etapa inifialr, d" 'd;f;"111 a sistemului (produsutui)p.e ,bazi de micioprocesor, Llrrneazi proiectarca sistemului. prorectareasistemutui cuprinde o_ sintezi..;;it_i;";.pir-tii drh;;J;;e gi de soft_ware, deci sisternur va conline t[r"iu.*ri".d;.;; ;i^il; software.Achizif ionarea componentelor ;* ;;;;""" a""."id'.il#i;"" integrate,

b)

+

COSTURI

INITIAI.E

Fig. 7.L. Elaborarea unui sistem pe bazd, deunea etapelor in eiaborarea sistemutii; all*"#urnum5,ru1 sisr.emelor

microprocesor:pbrfii de hard

328

ALFT!REACO I'IPI] N EiI I ELO R

PROITTTAREA SIREALIZIEN,

INIERFTTTLOR

PROsRAI'1ULUI

OE AP.itATJE

329

Page 4: Introducere in Microprocesoare_Part28

caractedsticile sistemului de caic'r, de func.tiile inplementate si acoperdr-alori de ia cite'a sutimi de secu'al pr"e r" .it"r"" ;;;:""Prima sarcin' indepliniti. <le un .irt"- de ope_rare,este acoperiti,in rrare parte de monit6r. lto,iior"ii este o' nrr.nirrbio-dJ module pro-gtn*: aparlinind sisternuiui de operare, care realizeaz1, de oorcer, urmr_toa*'ic {Lrncrii: Restiunea la nirlci fizic .a.operariilor'de ,rT.".;1i"".1,

::il"::i i'rrcrup.rilor, ^parrajarca timp'rui ,i. t,,.io uilr,riiagri cenrrarerntre programelc ufrarc iir sisiem in difcriie t.r. J" *"."ii"'1fr"n;ri;;;;execu{iei proqramelor),

_alocare" ;";;;i;i;""d;; "ihip.*",rt"ro,periferice ;-incircarea ;i t"t."."u pffiameror; .o-orri.Ji"a i.rtr" pro-grame; silcronizarea- pi-ogramelor.'A Eoua sarcine,

".i.tur"o si comuni_caiea cu urilizatorur, se rearizeazi la doui "*"1", ;;; intermediultrimbaj,lui cL: comancri si contiol-c; ;l";;i.;;;i;",f;#torur solicitFrdiverse resllrse a1e sisiemurui ;i pti'" int".-"Ji"r -""", instrucliu'ispeciale, la erectitia c5-rora sint' aciiilate unera i"-p""""te are siste-mului de operarc.

Daci. sistemur e,ste declicat aplicatiilor in timp real atunci monitoruxtrebuie sd pun:i la dispozitie o s6rie Je serr-icii.;*;;li;'actionarea sidezactiouarea la cercre a ni'elelor de intreropere asociate unei anumiteaplicatii. lrrra'cr acestor iutrer*peii-prin rilrine iaii""i"i ale utiliza_torului, urilizarca ceasuriror a" riap ,eil. p;;;;;.i\i"-"i"'r" timp reaicele doui" sarcini are sistemurr-ri de op"."r" tFi;;;];;; substantiarponderea. Astfet, f'ncfia de asistaie 1 llogramatorului J#;i;ti#inexistenti in exploat_area curenti. " """1 +li;;rriri{, ." "t"* sistemulde operare ('ronitorur) ," ". ;i6;

"'""ruri" d"- i".il;;; optimali aresnrselor, rrroti'pentru care er si va numi ,,r"iirtii-Tiri Funcfia de1t:1"1" a programatorilor are un caracter prepondereni in etapele deprorectare, reahzare ;i implementare, fiincr. fid"'ph;i;ta ;;"" ce intrlsub denuinirea de ,;tn:diti ae p.rogr:itniie pnteractiv)". Executi'ur rn,(are cst'' imolemcntat pe un iirtl-, are un caractcr permanenl . t ncrefi:*::l"rllj: {r-ecvent utitizate 1jri,,,ti'i,}"i;" "i*rii,ului pot figrLsrte sub formr gata ficute.,-A,ces1e-primitir-e rii"t"i""lrtrerrrp"rilor,srncroniziri de componente, trarsfe^iri etc.) pirt ri-girit" sub formaunui soft integrat :yii*irr_ * i*^t."ft{r.""r"'ir, .?ff;;)

oricare ar fi varianta referitoare la elaborarea sistemului pe baz[de microprocesor, cu toati" existenta foitero, g"t" ?i;i"-"iit p" parteade hard, cit si partea de soft, tota"u""n ,apare probrema interfaixriiperifericeior. Realizarea,;i testarea inlerfeletoi p;"i;}i ?1.*a in paralelcu eraborarea softtirui de-.apricafie. i; fi";i, "i;;;;e iriffirea pertiide software in sistemul tizlc reirtzi{ si testere ,r"".uo." liespectir., inurma tcstirilor nerfo'man{eror, daci se i-p"n, * r".

""r,nii!'modificiri.;.Dupi aceastr succintl" a"lcr"iu r ,"r.".i"rti in elaborarea unui sistempe baz':a" de micronrocesor, vor fi reruaie. ao"r "i-etoniJil iool

"tup*mai dificile: scrieiea p.ogrumrrl.,i J" "pii*ii; ;i-i;;;;;i""u l."rtoi" l"partea de har-dr"iare.

7.1. Scrierea programului de aplicafie

Plecind" de la organigrama procesului ce trebuie implernentat pesistemul pe baz6" de microprocesor, utilizind un iimbaj de nivel inferior(de asamblare) sau de nivel superior, se obline programul surs5-. Pro-gramul surs5. trebuie convertit in cod na;inl (program obiect), careapoi prin intermediul unui (circuit) programator este inscris intr-omemorie de programe; aceasta va asigura in continuare controlul sis-.iemului pe bazi de rnicroprocesor.

Prin .f,irmztare, actualmente, se inlel.ege Lln program rezident inmemoria fix5. a sistemului, de;i inilial prin acest a;errnen se intelegcaudoar rnicroprogramele din meinoria de control a u"nci unitI"li centralernicroprogramate. Conversia autonatl a programului sursir in progt:atirobiect necesitS" fie un sistem cle calcul de utilizare general.ir-, fie unulspecializat (sistem de dezvoltare). Fe aceste sisteme conversia se faceautomat prin programe de tip asamblor pentru surs5. scrisi" in tirnbajde asamblare si prin pr:ograrrie de tip interpretor sau compilator pentrusurs5. sclisi in linabaj de nivel superior. Conversia .rnanualS" poate fi osoluiie doar pentru programe scr-ide in limbaj de asambiate ci."" conlinpin5" intr-o sutl de linii.

Un limbaj de asambtrare es'cc elaborat pentru un anurnit tip de rni-,cr:oprocesor, deci r:ln iirnbaj oiientat spre ma;in5.. La irn sistern de calcul,pentru inscrierea in mcmoric a unui progranl sursl fie in iirlbaj infe-rior, fie in limbaj supcrior cste necesar un program editor.

Programwl ed,i,loy estc ccl care intcrf:rtcazA. programatorul cu sis-temul, adici pcrmitc scricrea <jc la tastaturi" a progi-ainului pe <iisplay;i apoi introducerrea a,cestuia in mcrnoric. Editorul, in gcneral, punetra dispozifia progr:amatorului anumite faciiitlli incit scrierea progra-mului s5" fie cit rnai flexibill, de exemplu: eiiminarea unui caracter, aunui ;ir de caractere, a unui rind sau a unui grup de rinduri; introdu-cerea intr-un program f5"rir a {i nevoie de a-1 rescrie complet . a unuicaracter, a unui gir de caractere, a unui rind sau a unui grup de rinduri;inserarea intr-un program scris a unei noi cornpletS"ri; defilarea peecran a intregului program pentru o inspeclie din partea programa-torului; ghidarea, prin indicalii pe ecran, a progralnatorului in scriereacorectS. a program.ului; semnalizarea erorilor etc. La sistemele b"ctualeprogramele editor eliminS" jocul programator-display de forma ,,Daciintroduci o comandl ili spun dac5. este corectl-" prin taste (direct-syn-tax softkeys) care il ghideaz5. pe programator. Apoi, trebuie s5" existeposibilitatea de introducere in memoria RAM, sub forma unui fisier, aprogramului surs5" (un figier fiind o colectie organizatS" de date dispusepe u1t suport). in concluzie, editorul este prograrnul prin care se rea-\izeazva", in cea rnai n'rare mlsurS, un dialog ,,prietenesc" intre progra-mator ;i sistcm.

Q'fn.) Jtl

H

331

Page 5: Introducere in Microprocesoare_Part28

Progt'atnu,r asantbrov e-ristent pe sistemul de carcul (cross_asarnblor)transrateazr unu ra unu o instruc{iune i;;;"t .*i;4il.1;;#;1un asamblor mai genereazi, pe li;g.i pro$ail;;;""1 in cod, ma;ina,si te-rtur sursd af prog.n*uiui ""?lli"i"i'riroqir-";;';.r"je de eroare,dac5. este cazul qi liita"referintelor

pri nsc t, ^ i. I _'i"r";fr

""J;;1T;;;I iITHL# il ;:m, ljfJ;: ji T,.: llilr".riil

sinrbotut cstc clefinif, p*"*.;i i,,u,n"r"i"'fln;ifo. i; ;;;..-;;Realizarea programurui s'rs,. intr-o fonni moduiari este recornan_dati, in accst it-l lczurti modrrrt, indcp"'a",-,i""il ''n"ntou

programuiobiect. .{ccsr,' rnodule obicct ,.r;;;iir" j;;^il.:." ;"ri.r"") trebuie con_catenate gi sd" ri se aroce adrese absoruie, ;;.;'.;; vor fi plasate inriTllii,g:'prog.ame a sislemurr:i pe bazi a" pi..*."". .pentru aceasti.sarcrna srstcmnr de carcui trebrr:c si.poscd.e ;";;;;;;; denumit edelorde legdtttri (linker). Iati deci, ci prin scrie.rea'pro[ramurui sursi-r prinintcrmediul editorjului,. prin

"ii*inirea erorilor a. !ir,i"*i si obtinereamodulelor in co'-r rna;idd pri:r iniermcdiul asamilrr.J"i, prin jonc!io_narea modulero' c* editor'i cle regdturi, ; ;;,;i;;;lr' p.ogrum cdd.ma;ini' care ar putea fi introdus ra un programator de rnemorie. Darrin afara eroritoi de sintaxi oi ,rrri p"ti"'fi-!i'?ii"r"]'ca de exemphr;:ciclarea infirriri, ^:'rorduca

prioi;tefiro, a" l^t*r"p"i-e,. operatiile deintrare/icsirc; acesrea impu' ccci'[-"sin,u*t"r*"J';li;.,, programulr-riobiect inainte .t.!e a fi ,,t,irnrr"-irtr-o rncmori. au'rip RolT. prntruaceastJ. opera-tic, de: punere la punct iJ;ilGg;";i sisHtemul dc calcultrebuie si poseoc Sr un prograrn de .;rn,it"i"l-"", ---.

un pvagva,it de siuturave reaTizeazir- pe structura unui sistem decatrcul functionare:r unui ait calc*rator, crir ";;;;;6 il"ctionare neefec-tuindu-se in timp rear. simuiatoarere- 1" r"J a"^rrt?ie inifiatr pentrua testa si a diagaostica softul unui art."r."intor'Jnrl'..to in laza deproiectare. un .simurator trebuie--.a ot"i" p"srriilt"r*a de a 'rm.lritraseul executiei unui prograrn. Din .acest irotil., o., poogruol cle si_

il?::;.if;:llt" o" n"dt ;;;i;; l-"'.i**i,,";;.i"";ii'nixor ;i o parrese urmr re; t" u "$rffi x,tii"ilXf;l,i,i:* :I# :,: :;:.;:i:: iii;iIexecutate at'nci ;1{ sini pr:i*it", i"a"p'"I"a' .t*eio"."re funcfii:- inscrierca registrelor -i..op.o.e.orului =;*rt"i*."r, a locai iiiorde memorie crr anurrite r-alori.p"iiti."i.j+^s^

Jri!!u-eL !-

- afi;area coniinutului regi'streror sa* ar unor locafii de mernoi:ie ;- lansarea in execulie pentru o durati limitai' sau nelirnitati;Or"" ,UXti?firea

timpului cit a durat simula::ea. mirsurnt d" ln o origine

comenzile cu efect i'tirziat se fac simlite abia i' rromentul t.xe_cufiei programelor, avind urrnetoarete i;;;li, aurlr r* rr

- fixarea nu.nctcior de intrerupere a exccufiei progi-amului (,,br,.rk_point") la in'Jcpli*irea ui)or condi!ili-(cle exernplu, ..fciirea la o arrunritdaDo il

zon5. de memorie-adresi, sau modificarea unor locafii situate intr-oanumil5. zoni);

- afi;area registrelor dup5. execulia fiecS.rei instrucfiuni simulatesau numai dupi un anumit grup de instrucfiuni. Simularea instruc-qiunilor se poate face la cornandi instructiune dupi instrucliune (pascu pas), sau tot la comandl pentru fiecare instrucliune ciclu cu citlu{rna;inl).

Dupii ce progi'prnul simulat s-a oprit (intr-un punct de intreruperesau datoritS" terrninirii) simutratorul nu isi inceteazl activitatea, cipoate trece Ia unn5"toarea comandl a operatorului, de e-remplu, sirealizeze prograrr.ul in aite condilii de funclionare. In timpul eiecufieiprog;ramutrui sirnulat pot sd fie detectate anumite erori, care sint semna-lizate ctre programul simulator:

- adresarea unei localii in afara mernoriei simulate;' - tcntativl de modificare a unei loca]ii din ROXI;

- -.rmplerea" sau golirca stivei etc.tr)e asemenea, c;iist6 mesaje de eroare care se referS" la sinldxa

cornenzilor- utilizate, nu la programul executat.Si chiar in urma simullrii urai pot rd"mine erori in functionarea

programului de apiicalie, erori ce pot fi sesizate doal la integrarea sof-tului in hard.

Limbajele de r:ivel superior, de exemplu FORTRAN, BASIC,PASCAI-, PL/M, AII:\, C etc., sint orientate pe domenii ayind un pro-nuniat e-aracter de genr:ralitate, adici programele aplicative pot firulate pe oricc calculator, dcoalece instrucfiunile coresptrnd structuriiaigoritmuiui, spre deoscbirc tlc c.ele il"le unui limbaj de asamblare caredescriu operalii interne ale rnicroprocesorului. Totugi, unele din acesteIinabaje, cum ar fi PLlfI, C, PASCAL, sint special concepute pentruelaborarea *softuLui tra sistemele cu microprocesoare. De exemplu, infigura 7.2 se prezintl modul de scliere a unui program, pentru depla-srarea a cinci caracte:':c. stocate succesiv in zona de rnemorie incepind dela aclresa ADRS1, in locatiile succesi-"'e incepind cu adresa ADRDI,atit in iirnbaj de asambla,re (pentru pP 8080), cit si in trimbajul Pl-llf.Din acest er:emplu se observii c5" scrierea programului in limbajul PL/}{,spre deosebile ct accla;i prograrn in limbaj de asamblare, nu necesiticunoa$terea stlucturii interne a microprocesorului, in limbaj superioraceeasi {orml de scriere fiintl utilizabili pentru orice tip de rniciopro-cesor. De exemplu, in Xirnbajul F'-ASCAL urmS"toarea operatie se sciieiirtr-o singuri linie de prograrr

-'if::l+(ts*c)crr :r'trtuiiica{iiie :

: : \'aloarea expresiei din dreapta va fi alocatd. iui )I;+,'r' simbolurile pentru suml respectiv plodus.In FORTRAN nrrnS.toarea linie de program

C-A I R

1Dt)

Page 6: Introducere in Microprocesoare_Part28

este echir-alenti, in limbaj cle asamblare cu urlxeioareie instructiuni:

LDA AADD RSTA C

rJn intert'retor este un program destul de complex cale convertestafiecare linie a programului de aplicalie, scris in limbaj de nir.el superior-BASIC, in instrucliunile cod ma;ini corespunzl-toare. Interpretorulparcurge o linie pe care intii o descompune in p5"r!i componente debazh,apoi pentru fiecare din aceste componente sint apelate una sau maimulte subrutine care 1e converte;te in limbaj masinl. Deci, prin par-cuigerea unei linii de program aceasta este conrrertitS. in cod masini.apoi se trece la urmitoalea efectuindu-se conversia cod ma;inl ;i aga'linie cu linie pinir la sfir;itul programului. Din aceast[ descriere sepoate deduce c:l un program interpretor neccsit5. un mare volum dememorie in sistemul pe -are se ruleazl. in menorie trebuie s5. existesimultan interpretorui cu subprogramul de parcurgere ;i de descompu-nere a iiniiior cu toa'r5. colectia de subrutine necesare, prograrnul apli-catirr in limbaj de nivel ridicat ;i programul aplicativ in iinebaj ma;inir-ezultat. Tipic, pentru un interpr-etor BASIC, ce ruLeaziL pe un rnicrgcal-crilator de 8 biti, este ccrinta unui volurx de rnemolie de 12 + 24 kB.in iimbaj BASIC llr:oblLr-.e coinple;.e de matematicir se programeaz;ausor scriind doar citeva iinii. lle cxemplu, subrutine d.c logaritrnar-e,funclii trigonoilctrice, exponenfiale, radicali etc. se apeleazl doar cuo singuiS. instruc'iir-ine; aceea;i impLementare in iirnbaj cie asambiarcai: necesita intre I 000 gi 4 000 instructiuni. Atit interpretoarel.e, citsi asarnbloarelc, in general, cuprinci in structura- Ior ;i progiainui editor,deci r-ealizeazi" atit inscrierea in memolie, -cit

9i coni'ersia in limbajma;ilir, ceea cc irnpiicir plezcnfa lor in Lncmorj:.-,:;istcnuhii tot timpulcit se lucreazl"r asupr-r', pro.gr-r,.rrr'.r1iii aplir:litir'.'['otociati, inter-pietoar-elesi asambloarclc trclruit: sr:r-il;r. l)cr-rtnl a {i lulatc ile un anumit rnicro-caiculator.

Coilr,p'ilatoarclc pcntru plocc:s'.11 c1c con.,-ersie al progratrului deaplicatie scris in limbaj superior lntr-o form5- de litnbaj masini., au ofunctionare sirniiari. cu. ce a real.izatS" de prograr.nul asamtlor: in procesulce asamblare. Coinprl.alc:r, Ia fel ca;i asarnblarca, neccsitS. doul fazc:L - convelsia fieclrci irstructii-rni de nivel superior intr-o secvenfl deinstructiuni de asainbiatc:: Z - convers,;.a fieci.rei instntctiuni de asam-blare in cod ma-sini-, cleci un compilator tr:e.bu.ie .s5. conlini neapiratsi un asambtroi:. Odati, obtinut progi:amril in iimbaj ina;in5., nuilaiacesta se pi-stleazi in mernoria sistemului clc calcul, ccmnilatorutr n'.rrnai este necesar, sprc deosebirc de cazul unui interpretor sau asarnbior,deci consulr mult rnai inic c1e memorie. Dac5. spaliul ocupat in melnc,riede un pro6irarn aplicatir. s,.rb forma limbaj rnasinS" este mult rlili micdecit in cazul folcsirii unui interpretor (care eristS. simultan cu proglar.nulaplicatir'), de ce nu se utilizeazS" doar compilatoare? Rlspunsui rezultirdin faptul c5. un compilatol este un program foarte extins ce nu poatefi rulat pe un microsistem, ci doal pe un minisistem, sau in cazul r.ar-rianteloi mai sofisticate de coinpilatoare acestea necesitl calculatoai'crnari. Dar, 1a aceasti. extindere a compilatoarelor si posibilitS.tile deprocesare care pot fi introduse in programul aplicativ sint mult sporite.

enclnr6nlMi pmrrnuLIMBAJ OE ASAMBLAPE

CCDIFiTARE IN III,,IBAJULDrl r,I Lt 1..

tALL I'lC!'E l5,A0RSl,ADRC 1!,

t

I

( ,0,,-,*ru '\b)

ol

lig, 7.2. Comparafie intre modul Ce scriere ai acelrriagi piogramin limbaj de asanbtare (a) 9i in timbaj ae :lvJ'supcrior (&)

l)ir acestc sumare cxemple rezurtir ci- r,rn limbaj s'perior dispune deinstiucli*iri sintetice ;i es,c in'r1 mai p.-,t.r,.,. J"Jrr-ii"li*1"] d" uru*_blare.

r 1 Dar '' prograln cle -aplicafie scris in limbaj c1c ni'.el superioi, lalci ce $i .rul scris in limbij -de asanrblar.c, lrcbuin convertit in limbaimasin5". Aceasti" conversie se face automat pe sisteme a" *i.,..r,'i"Cir?programe de tip inrr'rpreror san compilaior, de ;.;;1.";;terpretorR.\SIC sarr compilatoL' p.\SCli

";;.' "'

f .) t

REcISTRUL CONTOR

CU VALOAREA 5

CU AORESA OE INCTPUT

SE INCARCA ACUMUTATO RUL

cu uN BYTE Oe r_l sURsl

sE TNTREMENTEAZ,{ r'o REsADrN zoNA suRsA

r $rcRrutttEnzl lonEsl,OIN ZONA DT MSTINATIE

5E OECREI'1EI.iTEAZ,I

RE6ISTRUL TOIlTCR

ESTEC ONT|NUTU'"

CONTII,IUi

335


Recommended