Upload
hangoc
View
227
Download
2
Embed Size (px)
Citation preview
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
1
CUPRINS
Introducere .................................................................... 2 CAP I. Clasificarea sistemelor cu microprocessor .... 2
1. Avantajele folosirii microprocesoarelor în
sistemele de măsură şi control ................................... 2 2.Definiţii şi terminologie ........................................... 2
CAP II Structura internă simplificată a
microprocesorului 8085 ................................................ 3 1.Tamponul de adrese şi date. ................................... 4 2.Registrul instrucţiunii . ........................................... 4 3.Decodificatorul instrucţiunii. ................................. 4 4.Unitatea logică şi aritmetică. .................................. 4 5.Registrele generale: ................................................. 4 6.Registrele speciale. ................................................... 4 7.Indicatorul vârfului stivei (SP ). ............................ 5 8.Blocul de secvenţiere şi comandă. .......................... 6 9.Blocul de comandă întreruperi şi I/E serială. ...... 6
CAP III Microsistemele cu microprocesor 8085
Universal Trainer .......................................................... 6 1.Operarea de la distanţă ........................................... 6 2.Lucrul folosind interfaţa NoICE85 ....................... 9 3.Etapele realizării şi rulării unui program ............ 9
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
2
Autor: Student Anuşca Bogdănel Fac. Automatică şi Calculatoare Iaşi 2011
Introducere
Aparatele şi sistemele controlate cu microprocesor au apărut şi s-au perfecţionat odată cu apariţia pe piaţă a miroproesoarelor (1970 -1980) după care (în special după 1985) s-au răspândit foarte rapid, înlocuind aproape complet aparatele şi sistemele de măsură şi control numerice clasice (cu logică cablată), atît în tehnica de laborator cît şi în instrumentaţia industrială, mai ales în controlul automat.
CAP I. Clasificarea sistemelor cu microprocessor
În funcţie de complexitatea sistemului din care face parte vom avea: - aparate de măsură cu microprocesor – utilizate ca instrumente de laborator sau de
teren; - sisteme de măsură cu microprocesor – folosite în complexe de măsură şi control în
industrie.
1. Avantajele folosirii microprocesoarelor în sistemele de măsură şi control
Includerea unui microprocesor într-un sistem de măsură şi control dă posibilitatea ca manevrele de operator să fie preluate (parţial sau total) de către microprocesor şi în plus să se obţină cîteva avantaje importante:
1. Preluarea comenzilor de operator cum ar fi reglaje de zero şi de cap de scară, selectarea gamelor asigurând un plus de precizie şi siguranţă în exploatare.
2. Autocalibrarea şi compensarea automată a influenţei factorilor de climă. De asemenea se calculează abaterile şi se corectează rezultatul final al măsurării.
3. Îmbunătăţirea preciziei prin eliminarea erorilor sistematice (prin autocalibrare, autocorecţie).
4. Micşorarea numărului de componente ale sistemului prin eliminarea componentelor destinate implementării logicii cablate.
5. Creşterea versatilităţii aparatului prin obţinerea unor posibilităţi suplimentare de măsură pe baza programelor interne.
6. Creşterea vitezei de lucru prin automatizarea operaţiilor de măsurare. 7. Posibilitatea determinării prin calcul a altor parametrii de semnal (valoare de vârf,
valoare medie, valoare efectivă, calculul distorsiunilor, a spectrului de amplitudini, determinarea fazei, defazajului).
8. Posibilitatea autotestării prin programe speciale executate de microprocesorul încorporat, la comanda operatorului sau în cazul apariţiei unei anomalii in funcţionare. În acest caz se poate declanşa o procedură de testare şi semnalizare a eventualelor defecte.
Toate aceste avantaje arată clar că sistemele de măsură şi control moderne nu pot exista fără a fi controlate de către microprocesoare.
2.Definiţii şi terminologie
Sistemul de calcul este un echipament care transformă datele de intare în rezultate de ieşire pe baza unui algoritm materializat într-un program. Această definiţie reprezintă sensul clasic al noţiunii de calculator .
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
3
Sistemele inteligente sunt acele sisteme care pot prelucra informaţii incomplete definite sau aproape complet definite. Astfel de sisteme sunt sistemele fuzzy sau reţelele neuronale.
În cazul în care informaţiile de prelucrat sunt complet definite atunci avem de-a face cu algoritmi secvenţiali. Acest tip de algoritmi a stat la baza construcţiei maşinilor secvenţiale (Von Newman). Dacă operaţiile elementare independente se pot executa paralel (pe mai multe unităţi de calcul), avem de-a face cu algoritmi paraleli.
Începând cu anii 1970 au apărut tendinţe de automatizare a proceselor de producţie bazate iniţial pe automate numerice cablate (logică cablată) şi apoi pe sisteme cu microprocesoare (logică programată). De dată recentă sunt sistemele bazate pe arhitecturi paralele (sisteme multiprocesor , sisteme distribuite).
CAP II Structura internă simplificată a microprocesorului 8085
Principalele blocuri interne ale microprocesorului 8085 sunt prezentate în fig.1 şi îndeplinesc
următoarele funcţii:
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
4
1.Tamponul de adrese şi date asigură transferul acestuor informaţii între magistrala
internă a microprocesorului şi magistralele externe, sub controlul blocului de secvenţiere şi
comandă.
2.Registrul instrucţiunii primeşte opcodul instrucţiunii curente şi îl menţine pe
întrega durată de execuţie a instrucţiunii.
3.Decodificatorul instrucţiunii decodifică opcodul şi planifică operaţiile care
urmează a fi efectuate pentru execuţia instrucţiunii şi ordinea în care acestea vor avea loc.
4.Unitatea logică şi aritmetică execută operaţii logice şi aritmetice cu maxim doi
operanzi întregi fără semn pe 8 biţi. Unul dintre operanzi trebuie să se afle obligatoriu în
registrul A, iar celălat operand, dacă există, este adus dintr-un registru intern sau din exterior
(din memorie) la momentul execuţiei operaţiei, într-un registru temporar. Rezultatul operaţiei
este reţinut tot de registrul A, motiv pentru care poartă numele de acumulator.
Modul de desfăşurare a operaţiei şi caracteristicile rezultatului sunt memorate într-un
set de bistabile denumiţi indicatori de condiţii (flags):
Z – zero (rezultat zero al operaţiei aritmetice sau logice);
S – sign (semnul rezultatului, egal cu msb al acumulatorului);
P – parity (rezultatul are un număr par/impar de biţi 1);
CY – carry;
AC - auxiliary carry (transport/împrumut de la / spre bitul 7, respectiv bitul 3 al rezultatului
ultimei operaţii aritmetice).
Acumulatorul, împreună cu flagurile formează cuvântul de stare al
procesorului (PSW – processor status word):
PSW = A7 A6 A5 A4 A3 A2 A1 A0
5.Registrele generale de lucru de 8 biţi sunt în număr de 6, simbolizate prin B, C, D,
E, H şi L. Ele pot fi folosite pentru a memora date şi rezultate intermediare ale programului.
Sunt accesibile programului prin instrucţiuni adecvate, atât ca registre simple de 8 biţi, cât şi
în perechi, ca registre de 16 biţi:
- B şi C = registrul pereche B;
- D şi E = registrul pereche D;
- H şi L = registrul pereche H.
6.Registrele speciale sunt de 16 biţi şi îndeplinesc anumite funcţii ale
microprocesorului. Astfel, numărătorul de instrucţiuni (PC – Program Counter) conţine în
fiecare moment adresa instrucţiunii ce urmează a fi executată. Ele este iniţializat cu 0 la
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
5
resetarea microprocesorului şi este implicit incrementat pentru secvenţe liniare de instrucţiuni,
respectiv este modificat direct de către instrucţiunile de ramificare (fig.2).
7.Indicatorul vârfului stivei (SP - Stack Pointer) este utilizat pentru accesul într-o
zonă de memorie RAM organizată ca stivă hardware. La 8085, stiva este o zonă de memorie
cu acces de tip LIFO (last in, first out).
Accesul are loc pe la un singur capăt al stivei, iar SP conţine în orice moment adresa
acestei locaţii (ultima ocupată din stivă). Stiva creşte în sensul descrescător al adreselor de
memorie şi pe stivă informaţiile se depun şi se extrag pe 16 biţi (2 octeţi). Spre exemplu, în
fig.3 se arată evoluţia stivei după iniţializare şi depunerea pe stivă a 3 valori pe 16 biti
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
6
8.Blocul de secvenţiere şi comandă primeşte semnale de iniţializare şi de tact şi
generează secvenţele necesare ale semnalelor de control atât pentru structurile interne
implicate în execuţie, cât şi pentru sincronizarea transferului pe magistrala de date externă.
9.Blocul de comandă întreruperi şi I/E serială gestionează tratarea evenimentelor
externe şi transferul datelor la nivel de bit.
CAP III Microsistemele cu microprocesor 8085 Universal Trainer
Microsistemele cu microprocesor 8085 Universal Trainer sunt special concepute pentru a fi
utilizate în scop educaţional. Ele permit accesul la mecanismele intime de funcţionare ale
microprocesorului 8085 prin intermediul magistralelor de adrese, de date şi de control,
precum şi la memoria şi porturile microsistemului.
Monitorul rezident în memoria ROM care permite operarea locală, de la tastatura şi
butoanele microsistemului, a fost extins, având acum şi posibilitatea de conectare la un PC pe
care rulează un program specializat de încărcare a programului utilizatorului pe microsistem
şi de depanare a acestuia de la distanţă. Mai mult, operarea locală şi cea de la distanţă pot
avea loc simultan, asupra aceluiaşi program al utilizatorului sau asupra unor programe diferite
ale acestuia. Astfel, două programe diferite pot fi testate în paralel pe acelaşi microsistem, sau
acelaşi program poate fi executat din două puncte de lucru, putându-se afla în diferite stadii de
execuţie şi oferind informaţii specifice interfeţei de depanare utilizate.
1.Operarea de la distanţă
Aceasta se realizează cu ajutorul programului NoICE85,
Acesta permite încărcarea şi depanarea simbolică a aplicaţiilor la distanţă, la nivel de
cod sursă, direct pe sistemul cu microprocesor. NoICE85 furnizează utilizatorului o interfaţă
mult mai prietenoasă, facilitând o depanare uşoară a programelor, fără utilizarea unui
instrument sofisticat şi scump de tip ICE – In-Circuit Emulator. Pentru a putea stabili
legătura cu monitorul rezident al microsistemului, NoICE85 trebuie configurat (din meniul
principal Options| Target Communications) astfel:
-Interface – NoICE Serial Protocol
-Port – COM1 sau COM2, în funcţie de portul serial al Pcului conectat la EMAC Universal
Trainer;
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
7
-Baud Rate – 19200;
Spre exemplu, în cazul în care se utilizează COM1, fereastra de dialog
trebuie completată ca in fig. 5
În cazul în care legătura a fost stabilită, pe ecran apare o fereastră
similară cu cea din fig.6.
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
8
Dacă nu s-a reuşit stabilirea legăturiidintre PC şi EMAC Universal Trainer, pe ecran apare
mesajul din figura alăturată.
În acest caz se verifică parametrii comunicaţiei şi cablul de
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
9
legătură. Comenzile transmise de NoICE85 pe legătura serială, care sunt primite şi executate
de monitor sunt comenzi simple, de forma:
-citire şi înscriere locaţii de memorie;
-citire şi înscriere registre ale utilizatorului;
-citire şi înscriere porturi de I/E;
-lansare în execuţie a programului de aplicaţie.
Cu ajutorul acestor comenzi, transparente pentru utilizator, sunt implementate facilităţile
interfeţei grafice a depanatorului NoICE51:
-încarcă în memoria microsistemului codul executabil al programului de aplicaţie (File-
Play|Load);
-editează, copiază şi caută informaţii în fişierul asociat ferestrei curente (Edit);
-vizualizează în fereastra principală a aplicaţiei codul programului în
format dezasamblat, sursă sau mixt (View);
-vizualizeză/editează conţinutul memoriei (Memory-Dump|Edit);
-asambleaza instrucţiuni direct în memorie (Memory-Assemble)
-urmăreşte evoluţia variabilelor programului (Memory-Add watch);
-defineşte, şterge şi afişează simbolurile specifice programului de aplicaţie (Symbols);
-inserează, afişează şi şterge punctele de oprire a execuţiei programului (Breakpoint);
-execută programul în regim pas cu pas sau automat, cu breakpoint (Run);
-vizualizează şi modifică conţinutul registrelor şi al porturilor de I/E (Processor);
Cele mai frecvent folosite comenzi pot fi lansate cu un singur click de
mouse dat pe butoanele de pe bara de control, situată imediat sub meniul
principal.
2.Lucrul folosind interfaţa NoICE85
După alimentarea şi iniţializarea microsistemului, acesta aşteaptă comenzi. Aceste
comenzi pot veni nu numai de la operatorul local, prin tastatura şi butoanele amplasate pe
placă, ci şi de la portul serial COM1 al microsistemului, care se conectează la un PC pe care
se execută depanatorul NoICE85.
3.Etapele realizării şi rulării unui program:
1. Crearea cu ajutorul unui editor de text (Ex: Notepad) a fişierului sursă.
Fişierul sursă va avea extesia .ASM şi va conţine programul scris în limbaj de asamblare.
2. Asamblarea. Asamblarea este realizată cu ajutorul unui asamblor.
Asamblorul folosit în cadrul şedinţelor de laborator este ASM85.EXE.
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
10
Asamblarea poate fi realizată în două moduri:
a. prin apelarea asamblorului în linia de comandă ASM.EXE nume_fisier.ASM
b. prin apelarea automată a asamblorului prin efectuarea operaţiei de tip “drag and drop” a
fişierului sursă peste iconiţa corespunzătoare asamblorului.
În urma operaţiei de asamblare vor fi generate două fişiere:
nume_fisier.LST şi nume_fisier.HEX. Fişierul cu extensia .LST conţine erorile apărute pe
parcursul asamblării şi liniile unde au apărut aceste erori. Fişierul cu extensia .HEX reprezintă
fişierul ce va fi încărcat în memorie cu programul NoIce.
3. Dacă nu au apărut erori pe parcursul operaţiei de asamblare, se lansează NoICE85.
După stabilirea legăturii cu microsistemul se încarcă în memoria micro-sistemului programul
executabil în format Intel HEX cu comanda File – Load ... – TEST.HEX. Se verifică
încărcarea lui în memorie cu comanda View – Disassemble at ... – 8000h. Cu comanda
View – Mixed source /disassembly se comută între două moduri de vizualizare a
programului în fereastra principală: la liniile de cod sursă din fişierul sursă, se pot adăuga sau
nu instrucţiunile dezasamblate din memoria microsistemului. Se observă că acestea coincid,
ceea ce înseamnă că programul a fost corect asamblat şi încărcat.
4. Se încarcă registrul PC cu adresa la care a fost încărcat programul.
5. Se lansează programul în execuţie prin comanda Run – Go (F5).
De aici încolo depanarea programului are loc beneficiind nu numai de codul dezasamblat, ci şi
de toate facilităţile unei depanări simbolice: afişarea liniilor de cod sursă, urmărirea evoluţiei
variabilelor programului, modificarea acestora, inserarea de puncte de oprire a execuţiei la
adrese simbolice (etichetele instrucţiunilor) etc.