Documente Academic
Documente Profesional
Documente Cultură
ntreruperi
I/O seriale
Acumulator
A (8 bii)
Registru
temporar
(8 bii)
Bistabile
condiii
(5 bii)
Registru
instruciune
(8 bii)
UAL
Decodificator
instruciune
B(8)
C(8)
D(8)
E(8)
H(8)
L(8)
SP(16)
PC(16)
Latch i increm/
decrem adres
Corecie
zecimal
Sincronizare
Iniializare
Control
Buffer adrese/date
Adrese/date
162
163
Magistralele externe
Magistrala sistemului (MS) este magistrala la care se conecteaz toate celelalte componente
pentru a schimba informaii ntre ele. Aceasta este format din:
Magistrala de adrese (MA) grupul de linii unidirecionale, prin care coordonatorul
sistemului indic locaia de memorie sau portul de intrare/ieire la care dorete s aib
acces;
Magistrala de date (MD) grupul de linii bidirecionale, pe care circul informaia
(instruciuni i date) ntre componentele sistemului;
Magistrala de control (MC) liniile uni sau bidirecionale cu rolul de a:
Stabili tipul de acces pe magistala sistemului:
o Selecia spaiului de adresare (memorie sau porturi I/E);
o Controlul sensului de transfer pe magistrala de date (citire sau scriere);
Sincroniza microprocesorul cu dispozitivele externe mai lente (wait);
Realiza dialogul dintre microprocesor i dispozitivul I/E care solicit ntreruperi;
Realiza dialogul dintre microprocesor i un alt controller care dorete accesul la
magistrala sistemului (DMA Direct Memory Access).
Magistrala sistemului este controlat n mod inplicit de ctre microprocesor, care depune adresa
pe magistrala de adrese i activeaz liniile de control ale magistralei de control, n funcie de
operaia pe care o execut la un moment dat.
164
165
24
18 16 17 19
25
26
14
10
8
12
15
31
32
27
9
28
11
29
13
13
33
30
34
20 21 22 23
35
37
36
Muf
alimentare
Comutator
bipoziional
Microprocesorul
- 80C85;
Memoria ROM
166
Memoria RAM
Circuitul
programabil
timp (Timer)
Interfaa paralel
Controlerul pentru
portul paralel
(8)
- cu 3 porturi de 8 bii:
(9)
A - comand un set de 8 led-uri de stare (D56D63) (40H); (10)
B - conectat la 8 comutatoare DIP (S2),
(11)
Starea comutatoarelor este afiat i pe leduri (D48D55)
(41H);
(10)
(12)
Circuitele
de - pentru dou canale de comunicaie serial RS232: COM1 i
COM2 (COM1 este folosit de monitorul rezident);
(13)
interfa serial
Controlerul
ntreruperi
Controler pentru
afiaj i tastatur
Butoane
de RST
iniializare
TRP
INT7.5
INT0
(15)
- reseteaz microsistemul, astfel nct, indiferent
n de starea sa, monitorul rezident repornete,
similar cazului de conectare a alimentrii;
- determin apariia unei ntreruperi nemascabile
(care
este
acceptat
necondiionat
de
microprocesor), nsmennd ncetarea activitii
curente a microsistemului i reintrarea n bucla de
ateptare de comenzi;
- aceast comand este util pentru a ntrerupe n
orice moment execuia unui program al
utilizatorului, pentru a examina starea
registrelelor sau pentru a vedea unde s-a blocat;
- permit generarea manual a altor tipuri de
ntreruperi i rolul lor va fi examinat n detaliu
ntr-o lucrare ulterioar.
(16)
(17)
(18)
(19)
167
Led-uri
D48D63
Difuzor
Display
numeric
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
alfa(31)
Tastatura
hexazec
PC
RUN
ENT
DEC
0, 1,..., 9, A,...,F
Program Counter
- lanseaz n execuie
- incrementeaz adresa
- decrementeaz adresa
(32)
(33)
(34)
(35)
(36)
(37)
168
169
Instruciunea de iniializare
r
ddd
B
000
C
001
D
010
E
011
H
100
L
101
110
A
111
Cel de-al doilea octet al instruciunii este reprezentat de o valoare numeric pe 8 bii care este
ncrcat n registrul specificat de opcod.
n limbajul de asamblare ASM85, un astfel de operand poate fi exprimat printr-o constant
numeric, o constant simbolic a crei valoare a fost definit n cadrul fiierului surs sau printro expresie aritmetic sau logic cu constante numerice i/sau simbolice.
9.2.
n cazul microprocesorului 8085, adresarea porturilor (I/O) se face pe 8 bii, deci adresa
unui port poate s fie cuprins ntre 00h i FFh. Transferul I/O se realizeaz prin intermediul
registrului A astfel: starea unui port de intrare (I) poate fi ncrcat numai n A, iar comanda unui
port de ieire (O) se poate face numai cu octetul din A. Vorbim n acest caz de adresarea implicit.
Formatul general al instruciunilor de intrare-ieire este prezentat n cele ce urmeaz:
Input from port ()
= 00
OUT port Output to port ()
= 00
IN port
170
Instruciuni de salt
+ 3
n cazul n care condiia precizat condition este adevrat, se execut un salt la adresa precizat
n instruciune , prin ncrcarea ei n registrul PC. n cazul n care condiia este fals, se continu
cu instruciunea urmtoare.
Corespondenele dintre condiie i codul acesteia sunt ilustrate n cele ce urmeaz:
Condiia Descriere
rezultatul
este
diferit
de
0;
000
NZ
=0
Zero rezultatul este egal cu 0;
001
Z
=1
Not Carry operaia nu a produs transport/mprumut;
010
NC
= 0
Carry operaia a produs transport/mprumut.
011
C
= 1
Cu ajutorul acestor instruciuni pot fi scrise structuri de program de tip ramificare simpl (if...else)
sau multipl (switch...case), dar i structuri de program repetitive/ bucle cu numr de pai cunoscut
(for), cu test iniial (while) sau cu test final (do...while).
Simbolul predefinit $ poate fi folosit n orice instruciune pentru a ne referi la adresa acelei
instruciuni. De aceea utilizarea ei ntr-o instruciune de salt face ca microprocesorul s execue
continuu aceeai instruciune de salt la infinit.
171
DB 41
2F
D3 40
76
IN 41
CMA
OUT 40
HLT
PC
A000:
A001:
A002:
A003:
A004:
A005:
DB
41
2F
D3
40
76
10.2. S se scrie n memorie un program care rotete la dreapta un led i ilustreaz procesul
pe portul de ieire.
Indicaie
172
10.3. S se completeze codul de la problema 10.2. prin introducerea unui delay n program
astfel nct rotirea ledului s poat fi observat fr a utiliza execuia pas cu pas.
Indicaie
173