Documente Academic
Documente Profesional
Documente Cultură
Tema proiectului
S se proiecteze un microsistem cu urmtoarea structur:
- unitate central cu microprocesorul 8086;
- 128 KB memorie EPROM, utiliznd circuite 27C512;
- 256 KB memorie SRAM, utiliznd circuite 621024;
- interfa serial, cu circuitul 8251, plasat n zona 09F4H 09F6H sau 0BF4H 0BF6H, n
funcie de poziia microcomutatorului S1;
- interfa paralel, cu circuitul 8255, plasat n zona 06C0H 06C6H sau 0EC0H 0EC6H, n
funcie de poziia microcomutatorului S2;
- o minitastatur cu 16 contacte;
- 20 led-uri;
- un modul de afiare cu segmente, cu 6 ranguri.
Toate programele n limbaj de asamblare vor fi concepute sub form de subrutine. Programele
necesare sunt:
- rutinele de programare ale circuitelor 8251 i 8255;
- rutinele de emisie/ recepie caracter pe interfaa serial;
- rutina de emisie caracter pe interfa paralel;
- rutina de scanare a minitastaturii;
- rutina de aprindere/ stingere a unui led;
- rutina de afiare a unui caracter hexa pe un rang cu segmente.
Structura rutinelor (intrri, secvene, ieiri) va fi stabilit de fiecare student.
Descriere hardware
Schema hardware a microsistemului cu microprocesorul 8086 este compus din:
1. Unitate central cu microprocesor 8086
2. Memorie
3. Decodificator de porturi
4. Interfa serial i paralel
5. Minitastatura, afiajul i led-urile.
1.Unitatea central
Unitatea central a microsistemului cu microprocesor 8086 este format din:
1. Microprocesor
2. Generator de tact
3. Circuite pentru amplificarea i demultiplexarea magistralelor de adrese i date
Microprocesorul 8086 are 16 linii multiplexate de adrese i date i nc patru linii de
adrese care nu fac parte din cele multiplexate. Astfel, avnd 20 de linii de adrese microprocesorul
poate adresa direct 1 Megaoctet de memorie.
Microprocesorul poate lucra n dou moduri: minim i maxim. n modul minim, folosit
pentru aplicaii simple, semnalele necesare pentru transferul cu memoria i porturile sunt
generate direct de microprocesor. n modul maxim, folosit pentru aplicaii mai complexe, aceste
semnale sunt generate de controlerul de magistral 8288. n aceast aplicaie, microprocesorul
este utilizat n modul minim.
Acesta poate opera cu numere cu/fr semn pe 16 i 8 bii. Operaiile se fac la nivel de
bit, octet sau cuvnt.
Circuitul 8284A genereaz tactul CLK ctre microprocesor i PCLK ctre circuitul
specializat al interfeei seriale. 8284A mai are rolul de a genera READY i RESET ctre
microprocesor, sincronizndu-le cu tactul.
Pentru a genera tactul cu frecvena de 5 MHz la care lucreaz microprocesorul, se
conecteaz la circuitul 8284A un cuar de 15 MHz.
Semnalul RESET este obinut prin sincronizarea cu tactul a semnalului /RES, care este
activ n momentul conectrii microsistemului la sursa de tensiune (prin ncrcarea
condensatorului) i n momentul apsrii butonului Reset de ctre utilizator.
Circuitele pentru amplificarea i demultiplexarea magistralelor sunt trei registre 74LS373
i dou amplificatoare/separatoare bidirecionale 74LS245.
Registrele memoreaz adresa i ieirile lor formeaz magistrala de adrese. ncrcarea
acestor registre se realizeaz cnd microprocesorul activeaz semnalul ALE (Address Latch
Enable).
Magistrala de date este format din terminalele B1-B8 ale celor dou
amplificatoare/separatoare bidirecionale. Acestea permit transferul datelor cnd microprocesorul
activeaz semnalul /DEN (Data Enable), iar direcia este dat de semnalul DT//R.
Circuitul amplificator/ separator 74LS245
Funcionarea:
/
DI A8-A1
G
0
0
1
R
0
1
X
B8-B1
B8 - B1
Intrari
Intrari
A8 -A1
A 3 a 3stare A 3 a
stare
G
0
1
X
8Q 1Q
Vechiul continut
8D 1D
A 3 a stare
2.Memoriile
Memoria EPROM de 128 KB este format din dou circuite 27C512 de capacitate 64
KB, iar memoria SRAM, de 256 KB, este format din dou circuite 621024 de capacitate 128
KB.
Decodificatorul 74LS138 realizeaz o decodificare incomplet, deoarece linia A16 nu
intr n decodificator. Harta memoriei este urmtoarea:
SRAM:
00000H 0FFFFH sau
10000H 1FFFFH
EPROM:
E0000H EFFFFH sau
F0000H FFFFFH
Decodificarea memoriilor
Am ales cele 2 zone de amplasare ale memoriilor ca fiind:
10000h 1FFFFH pentru SRAM
20000h 2FFFFH pentru EPROM
Decodificarea complet a memoriei:
A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0
astfel:
4
SSRAM= /A19*/A18*/A17*A16=/Y0*A16
SEPROM= /A19*/A18*A17*/A16=/Y1*/A16
unde /Y0 si /Y1 sunt ieiri ale circuitului decodificator 74x138 activate pentru combinaiile 000
respectiv 001;
Circuitul are 3 intrri de date: A2, A1, A0 ; 3 intrri de validare: /E 1, /E2, E3 ; i 8 ieiri: /Y0,
/Y7. Atunci cnd /E1=0, /E2=0 i E3=1, circuitul activeaz cte o ieire care are indicele
zecimal corespunztor codificrii binare de la intrrile A2, A1, A0. Dac aceste valori nu sunt
respectate, toate ieirile vor fi inactive (pe 1 logic) indiferent de valorile de la intrare.
In schem mai apar 2 pori SAU cu intrrile /BHE, /WR, A0 care controleaz scrierea unui
octet la o adresa par sau impar de memorie (D 15-D8 pentru secvena 001 sau D 7-D0 pentru
secvena 100).
3.Decodificatorul de porturi
Decodificatorul de porturi este format din: 5 pori SAU, 2 pori I, 8 pori NU i dou
decodificatoare 74LS138. Ieirile decodificatoarelor 74LS138 constituie semnalele de selecie
pentru porturi. La unele dintre porturi semnalul de selecie este negata ieirii decodificatorului.
Semnalele de selecie ale porturilor sunt:
SA1 SA6: cele 6 ranguri ale modulului de afiare cu segmente;
ST1 i ST2: minitastatura;
SL1 i SL2: dou grupuri de cte 10 led-uri;
S51: interfaa serial;
S55: interfaa paralel.
Interfaa serial i paralel au dou spaii de adrese, spaiul cu care se lucreaz fiind ales
prin intermediul comutatoarelor.
Harta porturilor este urmtoarea:
SA1: 0040H;
SA2: 00C0H;
SA3: 0440H;
SA4: 04C0H;
SA5: 0C40H;
SA6: 0CC0H;
ST1: 0840H;
ST2: 08C0H;
SL1: 0C40H;
SL2: 0CC0H;
S51: 09F4H sau 0BF4H n funcie de poziia comutatorului;
S55: 06C0H sau 0EC0H n funcie de poziia comutatorului.
Decodificarea porturilor
A15
0
A14
0
A13
0
A12
0
A11
0
A10
0
A9
1
A8
1
A7
0
A6
0
A5
0
A4
1
09F4H-/Y1
06C0H-/Y3
0BF4H-/Y5
0EC0H-/Y7
A14
0
A13
0
A12
0
A11
0
A10
0
A9
0
A8
x
A7
0
A6
1
A5
x
A4
x
0040H-SA1
00C0H-SA2
0440H-SA3
04C0H-SA4
0C40H-SA5
0CC0H-SA6
0840H-ST1
08C0H-/ST2
0C40H-SL1
0CC0H-SL2