Documente Academic
Documente Profesional
Documente Cultură
AUTOMATIC IV
PROIECT
LA
SISTEME CU MICROPROCESOARE
Olteanu Ciprian
Gabriel
-2002 -
TEMA PROIECT:
Noiuni introductive
Domeniul microprocesoarelor este unul dintre cele mai dinamice din industria
calculatoarelor. Aprut n anii 1970, microprocesorul este un circuit capabil s efectueze
funciile aritmetice i de control ale unui calculator. Pe atunci un microprocesor era un circuit
integrat pe scar larg (LSI), coninnd cteva mii de tranzistoare, pe o suprafa de
aproximativ 5 mm2. Dezvoltarea microprocesoarelor a urmat dezvoltrii circuitelor integrate,
complexitatea acestora dublndu-se practic n fiecare an. n prezent s-a ajuns la cteva
milioane de tranzistoare (6-9 milioane: Pentium II, AMD K6-2, Cyrix MII) pe o suprafa de
civa milimetri ptrai.
Z80 este un procesor care nu se mai folosete n nici un calculator actual, iar viteza lui
este foarte mic (5 MHz), comparativ cu frecvenele procesoarelor actuale (sute de Mhz).
Totui, mai este folosit i acum, n concuren cu microcontrolerele, la realizarea unor sisteme
de automatizare simple i fr necesiti prea mari de vitez. Z80 este un microprocesor pe 8
bii, cu 16 linii de adres.
In interiorul calculatoarelor toate informaiile sunt reprezentate sub forma unor
numere binare, sau sub forma unor grupe de bii.
Sistemul cel mai potrivit s-a dovedit a fi cel hexazecimal, cel care admite aisprezece
cifre distincte (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).
Registrul
de
instruciuni;
UCC Unitatea de comand i control.)
REGITRII SPECIALI
Flagul S (sign= semn) care apare pe poziia cea mai semnificativ a registrului F (bit
7), memoreaz bitul cel mai semnificativ al unui numr rezultat pe baza unei operaii
aritmetice sau logice, n acumulator.
Flagul Z (zero) apare pe poziia bitului 6 a registrului F. El este nscris (valoarea 1),
dac rezultatul unei operaii aritmetice/ logice este 0. Dac rezultatul operaiei difer de 0,
atunci coninutul indicatorului Z va fi 0.
Flagul H (Half carry) reprezint transportul care apare n cursul unei operaii
aritmetice de la bit 3 spre bit 4 al acumulatorului. El ocup poziia bit 4 n registrul
indicatorilor de condiie F .Flagul H nu poate fi testat prin instruciuni de salt condiionat. El
este folosit de ctre unitatea aritmetic i logic a microprocesorului la execuia instruciunii
de corecie zecimal, pentru corecia numerelor zecimale codificate n binar: BCD.
Flagul P/V (Parity/ Overflow) este un indicator de condiie multifuncional. El ocup
poziia bit 2 n registrul F. Aa cum rezult din numele acestui indicator, el poate indica
paritatea numrului din acumulator sau depire de domeniu.
Flagul N este un indicator care memoreaz tipul ultimei operaii aritmetice efectuate:
adunare sau scdere. n registrul F el ocup poziia bit 1.
N=1 dac ultima operaie aritmetic a fost adunare;
N=0 dac ultima operaie aritmetic a fost scdere.
Flagul F este folosit mpreun cu indicatorul de transport H i cu indicatorul de transport Cy.
Flagul Cy (Carry - transport) este indicatorul cel mai popular, afectat att de
operaiile aritmetice/ logice ct i de clasa operaiilor de rotire/ deplasare octet. El ocup
poziia cea mai puin semnificativ (bit 0) n registrul indicatorilor de condiie F.
Registrul de remprosptare a memoriilor dinamice - R (Refresh) este un registru cu
lungimea de 7 bii, menit s asigure printr-o numrare ciclic de la 127 (0000000 - 1111111)
remprosptarea memoriilor RAM dinamice, din componenta unui microcalculator, atunci
cnd ele exist.
Prezena registrului R este un ctig semnificativ n favoarea microprocesorului Z80,
ea scutindu-l pe proiectantul microcalculatorului de un efort coniderabil, cel de a realiza o
memorie cu 2 ci de acces ( din partea procesorului i din partea unui circuit de
remprosptare extern) i de a rezolva conflictele ce apar ntre cele dou componente.
Registrul vectorului de ntreruperi - I (Interrupt register) este ultimul n irul
regitrilor speciali ai microprocesorului Z80. El este un registru cu lungimea de 8 bii i
servete n modul de ntreruperi 2 la dirijarea sursei de cerere a ntreruperilor.
Prin ntrerupere ntelegem fenomenul la apariia cruia microprocesorul abandoneaz
la cererea unui eveniment extern programul n curs de rulare, deservete executnd un
REGITRII GENERALI
Regitrii de uz general au menirea s pstreze n imediata apropiere a focarului
microprocesorului date, care s poat fi accesate rapid, evitndu-se pe ct se poate accesele la
memorie i astfel reduc viteza de lucru a microprocesorului.
ntr-o grupare semnificativ a figurii 1 distingem alturi de regitrii deja prezentai
(PC, SP, R, I) alte casue simbolizate cu B, C, D, E, H, L.
Regitrii B i C: sunt regitrii generali de 8 bii. Exist o multitudine de instruciuni(de
transfer, aritmetice, logice, de rotire, etc.) care trateaz coninutul acestor regitrii. Ei nu au
fost figurai ntmpltor pe aceeai linie: n anumite condiii ei se pot ataa, formnd un
registru pereche BC, avnd lungimea de 16 bii. n aceast situaie B este octetul cel mai
semnificativ, iar C octetul cel mai puin semnificativ. Exist instruciuni care trateaz
perechea BC ca un registru de 16 bii(instruciuni de transfer, instruciuni aritmetice).
Regitrii D i E: se caracterizeaz prin aceleai trsturi ca i regitrii B i C. Atunci
cnd perechea DE formeaz un registru dublu de 16 bii, D ocup octetul superior iar E
octetul inferior.
Regitrii H i L: difer de cei anteriori B, C, D, E doar prin faptul c sunt implicai
ntr-un numr mai mare de instruciuni, avnd astfel un grad de funcionalitate sporit fa de
BC i respectiv DE. Atunci cnd ei formeaz o pereche HL, registrul H ocup octetul superior,
iar L cel inferior. Perechea HL devine principalul instrument de adresare indirect a unor
operanzi locazai n memorie la adrese cunoscute.
Regitrii index IX i IY: sunt regitrii de 16 bii. Ei sunt dedicai eminamente pentru
stocarea unor adrese de memorie. i vom trata ca regitrii de 16 bii. Aceti regitrii au fost
gndii s fie utilizai atunci cnd trebuiesc efectuate operaii aritmetice/logice asupra unor
cmpuri de date ce sunt aezate la adrese succesive de memorie, formnd astfel un tabel.
Regitrii index nu vor conine adresa celulei care se dorete a fi tratat.
Clasa 1.
LOAD-8
Mnemonici incluse: LD
Totalul intruciunilor din clasa: 111
Numrul de grupe: 11
Clasa 2.
LOAD-16
Clasa 3.
LOAD-IDR
Clasa 4.
AR/LOG-8
Mnemonici incluse: ADD, ADC, SUB, SBC, AND, XOR, OR, CP, INC, DEC, CPL, NEG,
DAA, RLCA, RRCA, RLA, RRA
Totalul instruciunilor din clasa: 115
Numrul de grupe: 26
Clasa 5.
ARIT-16
Clasa 6.
LOG-IDR
Clasa 7.
BITSR
Clasa 8.
Instruciuni de salt
JUMP
CALL/RET
Clasa 10.
ROT/HIFT
Mnemonici incluse: RLC, RRC,RL, RR, SLA, SRA, SRL, RLD, RRD
Totalul instruciunilor din clasa: 72
Numrul de grupe: 9
Clasa 11.
IN/OUT
Mnemonici incluse: IN, IND, INDR, INI, INIR, OTDR, OTIR, AUT,
Totalul instruciunilor din clasa: 24
Numrul de grupe: 8
Clasa 12.
Instruciuni de comand
SYS
OUTD
Opcodul
310014
DB0C
57
47
0.00E+00
0C
79
D30C
CD0011
10FF
CD0012
42
78
D30C
CD0013
10F8
C9
Et3
LD HL, 43D0H
DEC HL
LD A, H
OR L
JPNZ Et3
RET
21D043
2B
7C
B5
C20311
C9
Comentarii
Et4
Et5
Et6
LD C, 04
LD HL, FFFF
DEC HL
LD A, H
OR L
JPNZ Et5
DEC C
JPNZ Et4
LD HL, C4B7H
DEC HL
LD A, H
OR L
JPNZ
RET
OEO4
21FFFF
2B
7C
B5
C20512
0D
C20212
21B7C4
2B
7C
B5
C21212
C9
Et7
LD HL, 32DCH
DEC HL
LD A, H
OR L
JPNZ Et7
RET
21DC32
2B
7C
B5
C20313
C9
BIBLIOGRAFIE:
1. D. Crstoiu Sisteme cu microprocesoare, Note de curs
2. M. Patrubany Totul despre microprocesorul Z80, Ed. Tehnic 1989
3. epelea, Lupu Microprocesoare aplicaii
4. I. Spnulescu, S. Spnulescu Circuite integrate digitale i sisteme cu
microprocesoare, Ed. Victor 1996
5. G. Musc Programare n limbaj de asamblare, Ed. Teora,1998
Gh. Toace Introducere n microprocesoare, Ed. t. i Enc.1985
6. Patrubany M. Ed. Tehnic 1989