Sunteți pe pagina 1din 8

Proiectarea Microsistemelor Digitale

Microsistem cu microprocesorul 8086

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

Circuitul registru 74LS373


Funcionarea:
/OC
0
0
1

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

Pentru obinerea celorlalte 8 semnale de selecie, am ales urmtoarele adrese de porturi:


A15
0

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

4.Interfaa serial i paralel


Interfaa serial este de tip RS232 i este format din circuitul specializat programabil
8251, circuitul de translatare TTLEIA MAX232 i circuitul contor temporizator 8253.
Interfaa serial, cu circuitul 8251 este plasat n zona 09F4H 09F6H sau 0BF4H
0BF6H, n funcie de poziia microcomutatorului S1.
Interfaa paralel, cu circuitul 8255 este plasat n zona 06C0H 06C6H sau 0EC0H
0EC6H, n funcie de poziia microcomutatorului S2;
Nivelurile de tensiune ale interfeei RS232 sunt EIA:
nivelul 1 logic este cuprins ntre -25V i -3V
6

nivelul 0 logic este cuprins ntre +3V i +25V


Semnalul de selecie al interfeei seriale este /S51 care este o ieire a decodificatorului de
porturi. Interfaa serial are dou porturi, pentru o poziie a comutatorului, adresele acestora
fiind:
09F4H pentru transferul datelor
09F6H pentru scrierea cuvntului de comand i citirea cuvntului de stare,
iar pentru cealalt poziie, adresele sunt:
0BF4H pentru transferul datelor
0BF6H pentru scrierea cuvntului de comand i citirea cuvntului de stare.
Circuitul 8253 genereaz rata de transfer pentru interfaa serial, fiind conectat la
terminalele TxC i RxC ale CSP 8251. Semnalul de selecie al acestui circuit este /S53 care este
de asemenea o ieire a decodificatorului de porturi, avnd adresa 0820H.
CSP contor temporizator 8253 are 4 porturi:
0820H contorul 0
0822H contorul 1
0824H contorul 2
0826H cuvntul de comand
Pentru a genera rata de transfer pentru interfaa serial, circuitul 8253 trebuie programat
n modul 3, cu constanta 16.
Interfaa paralel este format din circuitul specializat 8255 i circuite de amplificare
formate din pori I. Semnalul de selecie al interfeei paralele este /S55 care este o ieire a
decodificatorului de porturi.
Interfaa paralel este format din 3 porturi de date(A,B,C) i un port de comand.
Adresele porturilor pentru prima poziie a comutatorului:
A:
06C0H
B:
06C1H
C:
06C2H
Comand:
06C3H
Adresele porturilor pentru cea de-a doua poziie:
A:
0EC0H
B:
0EC1H
C:
0EC2H
Comand:
0EC3H
5.Minitastatura, afiajul i led-urile
Pentru cele 20 LED-uri am considerat LED-uri de culoare roie. Comanda acestora
realizndu-se pe 0 logic cu niveluri TTL.
Pentru afiajul cu segmente cu 6 ranguri am ales varianta cu anod comun (comanda pe
0 logic), controlul afiajului realizndu-se prin software iar pentru controlul unui modul am ales

varianta nemultiplexat. Aceasta configuraie are avantajul implementrii prin software a


controlului afiajului.
Minitastatura este scanat cu ajutorul a dou porturi: unul de ieire, prin care se activeaz
coloana i unul de intrare prin care se citete linia activ. Portul de ieire este un registru
74LS373. Semnalul de selecie al acestuia este ST1, care este o ieire a decodificatorului de
porturi, avnd adresa 0840H.
Portul de intrare este un circuit cu pori cu 3 stri 74LS244, avnd semnalul de selecie
/ST2, care este o ieire a decodificatorului de porturi, avnd adresa 08C0H.
Cele 6 ranguri ale afiajului cu segmente au fiecare cte un port de ieire. Porturile
afiajului sunt registre 74LS373 ce au semnalele de selecie SA1, SA2, SA3, SA4, SA5, SA6
care sunt ieiri ale decodificatorului de porturi, avnd adresele 0040H, 00C0H, 0440H, 04C0H,
0C40H i 0CC0H.
Cele 20 led-uri sunt dou grupuri de cte 10 led-uri. Fiecare grup are cte un port de
ieire format dintr-un registru 74LS373. Porturile au semnalele de selecie SL1 i SL2, care sunt
ieiri ale decodificatorului de porturi, avnd adresele 0C40H i 0CC0H.

S-ar putea să vă placă și