Sunteți pe pagina 1din 15

UNIVERSITATEA POLITEHNICA TIMISOARA

Facultatea de Autmatica si Calculatoare


Sepcializarea Informatica

PROIECTAREA MICROSITEMELOR DIGITALE


MICROSITEM CU MICROPROCESOR 8086

Student: Don Calin-Ilie


Anul universitar: 2007-2008

Tema Proiectului

S se proiecteze un microsistem cu urmtoarea structur:

unitate central cu microprocesorul 8086;

64 Ko memorie EPROM, utiliznd circuite 27C256;

64 Ko memorie SRAM, utiliznd circuite 62256;

interfa serial, cu circuitul 8251, plasat n zona 0330H 0332H sau 0730H 0732H, n
funcie de poziia microcomutatorului S1;

interfa paralel, cu circuitul 8255, plasat n zona 0310H 0316H sau 0710H 0716H, n
funcie de poziia microcomutatorului S2;

o minitastatur cu 16 contacte;

16 led-uri;

un modul de afiare cu segmente, cu 4 ranguri

Descrierea hardware-ului
Microsistemul este conceput in jurul microprocesorului 8086 produs de firma Intel. Sistemul
contine 64Ko de memorie EPROM si 64Ko de memorie SRAM, posibilitate de conectare cu
periferice seriale si paralele, interfata cu utilizatorul prin minitastatura cu 16 contacte si afisaje cu
LED-uri si segmente.

Unitatea centrala (Anexa 1)


Microprocesorul 8086

Produs de firma Intel

Capacitate de adresare directa a memoriei pana la 1 Mo

Operatii cu numere cu/fara semn pe 16 si 8 biti

Operatii la nivel de bit, octet sau cuvant


Generator/divizor de tact 8284A

Produs de firma Intel

Foloseste ca si intrare o sursa de semnal TTL sau un cristal de cuart


Registru 74ALS373

Produse de firma Philips

Latch transparent pe 8 biti cu trei stari


Amplificator/separator bidirectional 74ALS245

Produs de firma Fairchild

Este folosit pentru amplificarea/separarea magistralei de date a microprocesorului

Memoria (Anexa 2)
Memorie EPROM 27256 (256Kb = 32Kb x 8 biti = 32Ko)

Produs de General Semiconductor

Timp de acces de maxim 150ns

Poate fi stersa prin expunere la UV

Memorie SRAM KM62256CL-L (256Kb = 32Kb x 8biti = 32Ko)

Produs de Samsung

Timp de acces de 55ns

Decodificator/demultiplexor 74ALS138

Produs de Philips

E foloit pentru decodificare si selectia cipului de memorie

Interfata seriala si paralela (Anexa 3 si 4)


Interfata seriala 8251A

Produsa de Intel

Intrarile si iesirile sunt compatible TTL

Conversia TTL EIA e realizata de cip-ul MAX232

Transmisie full-duplex cu buffer dublu

Capaila operatii sincrone si asincrone

Convertor TTL-EIA MAX232

Conversia se bazeaza pe surse de tensiune capacitive

Decodificatorul de porturi foloseste aceleasi ciruite de decodificare/demultiplexare ca si cele


pentru memorie (74ALS138).

Intefata paralela 8255A

Produsa de Intel

Compatibil TTL

24 de pini IO programabili

Se poate programa in 3 moduri de functionare

Compatibila cu familia de microprocesoare Intel

Interfata cu utilizatorul (Anexa 5)


Pentru cele 16 LED-uri am considerat LED-uri de culoare rosie. Comanda acestora
realizandu-se pe 0 logic cu niveluri TTL.
Pentru afisajul cu segmente cu 4 ranguri am ales varianta cu catod comun (comanda pe 1
logic), controlul afisajului realizandu-se prin software iar pentu controlul unui modul am ales
varianta nemultiplexata.
Aceasta configuratie are avantajul implementarii prin software a controlului afisajului.
Pentru operatii ce necesita interventia utilizatorului am intodus o tastatura mecanica cu 16
contacte, control-ul acesteia realizand-ul prin soft, prin scanare (polling).

SERIALC equ 0332h


SERIALD equ 0330h
PARARCC equ 0316h
PARAA equ 0310h
PARAB equ 0312h
PARAC equ 0314h
CHAR_0
CHAR_1
CHAR_2
CHAR_3
CHAR_4
CHAR_5
CHAR_6
CHAR_7
CHAR_8
CHAR_9
CHAR_A
CHAR_B
CHAR_C
CHAR_D
CHAR_E
CHAR_F

equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ

0C0h
0F9h
0A2h
0B0h
099h
092h
082h
0F8h
080h
090h
088h
08Ch
0C9h
0AEh
089h
081h

;int 20h
;rutina de programare a interfetei seriale 8251
; 8 biti, fara paritate, factor x16, rata 9600bps
; /RTS = 1, comanda receptie, comanda transmisie, /DTR = 1
INT_20:
mov DX,
mov AL,
out DX,
mov DX,
mov AL,
out DX,
mov DX,
mov AL,
out DX,
mov AL,
out DX,
IRET

01002h
014h
AL
01000h
41h
AL
SERIALC
0CEh
AL
015h
AL

;int 21h
;rutina de transmitere a caracterului din CL
INT_21:
MOV DX, SERIALC
IN
AL,DX ; citire si testare rang TxRDY din cuvantul de stare
RCR
AL,1
JNC
INT_21
MOV
AL,CL ; se preia data din registrul CL
MOV
DX, SERIALD
OUT
DX,AL
IRET
;int 22h
;rutina de receptie a caracterului in CL
INT_22:
MOV DX, SERIALC
IN
AL,DX ; citire si testare rang RxRDY din cuvntul de stare
RCR
AL,2
JNC
INT_22
MOV
DX,SERIALD
IN
AL,DX ; se preia data de la 8251
MOV
CL,AL ; se depune data in registrul CL
IRET
;int 23h
;rutina de programare a interfetei paralele 8255
; grup A - mod 0
; port A - iesire
; port C superior - iesire
; grup B - mod 0
; port B - iesire
; port C inferior - intrare
INT_23:
MOV DX, PARARCC
MOV
AL,81H
OUT
DX,AL

IRET
;int 24h
;rutina de emisie a unui caracter din CL
INT_24:
MOV DX,PARAC
IN
AL,DX ; citire si testare BUSY
RCR
AL,1
JNC
INT_24
MOV
AL,CL
; se preia caracterul din registrul CL
MOV
DX,PARAA
; si e pun pe portul A care este cu memorare
OUT
DX,AL
MOV
AL,01H
; se trimite un semnal de strobe pe portul B
MOV
DX,PARAB
OUT
DX,AL ; /STB = 1
AND
AL,00H
OUT
DX,AL ; /STB = 0
OR
AL,01H
OUT
DX,AL ; /STB = 1
IRET
;int 25h
;rutina de scanare a tastaturii
;tasta apasata se stocheaza in CL
; 0 1 2 3
; 4 5 6 7
; 8 9 A B
; C D E F
INT_25:
;se
MOV
MOV
OUT
;se
MOV
IN

pune 0 pe prima coloana si se verifica tastele 0 4 8 C


AL, 0FEh
DX,840H
DX,AL
verifica pe rand tastele
08C0H, DX
AL, DX
;citeste prima coloana

MOV CL, 00h


AND AL, 80H
JNZ INT_25_END

;seteaza ca si activa tasta 0


;verifica daca tasta activa e 0
;daca e se iese din intrerupere, daca nu
;scaneaza tastele urmatoare
MOV CL, 04h
;seteaza ca si activa tasta 4
AND AL, 40H
;verifica daca tasta activa e 4
JNZ INT_25_END
;daca e se iese din intrerupere, daca nu
;scaneaza tastele urmatoare
MOV CL, 08h
;seteaza ca si activa tasta 8
AND AL, 20H
;verifica daca tasta activa e 8
JNZ INT_25_END
;daca e se iese din intrerupere, daca nu
;scaneaza tastele urmatoare
MOV CL, 0Ch
;seteaza ca si activa tasta C
AND AL, 10H
;verifica daca tasta activa e C
JNZ INT_25_END
;daca e se iese din intrerupere, daca nu
;scaneaza tastele urmatoare
;se pune 0 pe coloana a doua si se verifica tastele 1 5 9
MOV AL, 0FDh
MOV DX,840H
OUT DX,AL
;se verifica pe rand tastele
MOV DX, 08C0H
IN AL, DX
;citeste a doua coloana
;TASTA 1
MOV CL, 05h
AND AL, 80H
JNZ INT_25_END
;TASTA 5
MOV CL, 05h
AND AL, 40H
JNZ INT_25_END
;TASTA 9
MOV CL, 09h
AND AL, 20H
JNZ INT_25_END
;TASTA D
MOV CL, 0Dh
AND AL, 10H
JNZ INT_25_END
;se
MOV
MOV
OUT
;se

se

se

se

se
D

pune 0 pe coloana a treia si se verifica tastele 2 6 A E


AL, 0FBh
DX,840H
DX,AL
verifica pe rand tastele

MOV DX, 08C0H


IN AL, DX
;citeste a doua coloana
;TASTA 2
MOV CL, 02h
AND AL, 80H
JNZ INT_25_END
;TASTA 6
MOV CL, 06h
AND AL, 40H
JNZ INT_25_END
;TASTA A
MOV CL, 0Ah
AND AL, 20H
JNZ INT_25_END
;TASTA E
MOV CL, 0Eh
AND AL, 10H
JNZ INT_25_END
;se pune 0 pe coloana a patra si se verifica tastele 3 7 B F
MOV AL, 0F8h
MOV DX,840H
OUT DX,AL
;se verifica pe rand tastele
MOV DX, 08C0H
IN AL, DX
;citeste a doua coloana
;TASTA 3
MOV CL, 03h
AND AL, 80H
JNZ INT_25_END
;TASTA 7
MOV CL, 07h
AND AL, 40H
JNZ INT_25_END
;TASTA B
MOV CL, 0Bh
AND AL, 20H
JNZ INT_25_END
;TASTA F
MOV CL, 0Fh
AND AL, 10H
JNZ INT_25_END
JMP INT_25
INT_25_END: IRET
;int 26h
;rutina de aprindere a unui led
;in CL va fi pus numarul led-ului
INT_26:
MOV AX,01h;
SHL AX,CL
MOV DX,0CC0H
OUT DX, AL
MOV DX,0C40H
MOV AL, AH
OUT DX, AL
IRET
;int 27h
;rutina de afisare a unui carater hexa pe un anumit rang
;CL caracterul ce va fi afisat
;CH rangul
INT_27:
CMP CL,00h
JE PRINT_0
CMP CL,01h
JE PRINT_1
CMP CL,02h
JE PRINT_2
CMP CL,03h
JE PRINT_3
CMP CL,04h
JE PRINT_4
CMP CL,05h
JE PRINT_5
CMP CL,06h
JE PRINT_6
CMP CL,07h
JE PRINT_7
CMP CL,08h
JE PRINT_8

CMP CL,09h
JE PRINT_9
CMP CL,0Ah
JE PRINT_A
CMP CL,0Bh
JE PRINT_B
CMP CL,0Ch
JE PRINT_C
CMP CL,0Dh
JE PRINT_D
CMP CL,0Eh
JE PRINT_E
CMP CL,0Fh
JE PRINT_F
PRINT_0: MOV
JMP PRINT
PRINT_1: MOV
JMP PRINT
PRINT_2: MOV
JMP PRINT
PRINT_3: MOV
JMP PRINT
PRINT_4: MOV
JMP PRINT
PRINT_5: MOV
JMP PRINT
PRINT_6: MOV
JMP PRINT
PRINT_7: MOV
JMP PRINT
PRINT_8: MOV
JMP PRINT
PRINT_9: MOV
JMP PRINT
PRINT_A: MOV
JMP PRINT
PRINT_B: MOV
JMP PRINT
PRINT_C: MOV
JMP PRINT
PRINT_D: MOV
JMP PRINT
PRINT_E: MOV
JMP PRINT
PRINT_F: MOV
JMP PRINT

AL, CHAR_0
AL, CHAR_1
AL, CHAR_2
AL, CHAR_3
AL, CHAR_4
AL, CHAR_5
AL, CHAR_6
AL, CHAR_7
AL, CHAR_8
AL, CHAR_9
AL, CHAR_A
AL, CHAR_B
AL, CHAR_C
AL, CHAR_D
AL, CHAR_E
AL, CHAR_F

PRINT:
CMP CH,00h
JE PRINT_r0
CMP CH,01h
JE PRINT_r1
CMP CH,02h
JE PRINT_r2
CMP CH,03h
JE PRINT_r3
PRINT_r0:
MOV DX,04C0H
OUT DX,AL
JMP INT_27_END
PRINT_r1:
MOV DX,0440H
OUT DX,AL
JMP INT_27_END
PRINT_r2:
MOV DX,00C0H
OUT DX,AL
JMP INT_27_END
PRINT_r3:
MOV DX,0040H
OUT DX,AL
JMP INT_27_END
INT_27_END: IRET

A0
A1
A2
A3
A4
A5
A6
A7

15 MHz

3
4
7
8
13
14
17
18

D0
D1
D2
D3
D4
D5
D6
D7

1
11

OC
G

U2
17
16

+5 V

10 K
C

X1

33

MN

5
8
10

22
19
21

READY
CLK
RESET

PCLK

18

INTR

OSC

12

READY
CLK
RESET

X2

4
6
3
7
14
1
15
13

RDY1
RDY2
AEN1
AEN2
EFI
CSYNC
ASYNC
F/C

11

RES

SWITCH

8284A
47 uF

30
31
17
23

HLDA
HOLD
NMI
TEST

AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
AD8
AD9
AD10
AD11
AD12
AD13
AD14
AD15
A16/S3
A17/S4
A18/S5
A19/S6

16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
39
38
37
36
35

BHE/S7

34

DEN
DT/R
M/IO

26
27
28

RD
WR
ALE
INTA

32
29
25
24

Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7

2
5
6
9
12
15
16
19

Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7

2
5
6
9
12
15
16
19

74LS373
A8
A9
A10
A11
A12
A13
A14
A15

3
4
7
8
13
14
17
18

D0
D1
D2
D3
D4
D5
D6
D7

1
11

OC
G

74LS373
A16
A17
A18
A19

3
4
7
8
13
14
17
18

D0
D1
D2
D3
D4
D5
D6
D7

1
11

OC
G

Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7

2
5
6
9
12
15
16
19

ADDRESS BUS

DATA BUS

74LS373

8086MIN
D0
D1
D2
D3
D4
D5
D6
D7

2
3
4
5
6
7
8
9

A1
A2
A3
A4
A5
A6
A7
A8

19
1

G
DIR

B1
B2
B3
B4
B5
B6
B7
B8

18
17
16
15
14
13
12
11

B1
B2
B3
B4
B5
B6
B7
B8

18
17
16
15
14
13
12
11

74LS245
D8
D9
D10
D11
D12
D13
D14
D15

Title

UNITATEA CENTRALA
Size
A
Date:

Document Number
1
Tuesday, January 08, 2008
5

Rev
Sheet

of
4

2
3
4
5
6
7
8
9

A1
A2
A3
A4
A5
A6
A7
A8

19
1

G
DIR
74LS245

A15-A1
D

D15-D0

U11

D15-D8

U1

10
9
8
7
6
5
4
3
25
24
21
23
2
26
27

A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14

20
22
1

CE
OE
VPP

O0
O1
O2
O3
O4
O5
O6
O7

11
12
13
15
16
17
18
19

27256

10
9
8
7
6
5
4
3
25
24
21
23
2
26
27

A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14

20
22
1

CE
OE
VPP

D15-D8

11
12
13
15
16
17
18
19

O0
O1
O2
O3
O4
O5
O6
O7

17
16
15
14
13
12
11
10
4
3
28
2
9
5
8

A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14

6
1

27256

27

I/O1
I/O2
I/O3
I/O4
I/O5
I/O6
I/O7

18
19
20
22
23
24
25

I/O8

26

D7-D0
17
16
15
14
13
12
11
10
4
3
28
2
9
5
8

A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14

WE

WE

OE

OE

CS

27

CS

62256

/RD
/BHE

U19

D7-D0

U2

I/O1
I/O2
I/O3
I/O4
I/O5
I/O6
I/O7

18
19
20
22
23
24
25

I/O8

26

62256

U21A
1
3
2
SN74S32

/WR

U22A
1

A0
B

3
2

U20
SN74S32

A17
A18
A19

M//IO

1
2
3

A0
A1
A2

4
5
6

E1
E2
E3

O0
O1
O2
O3
O4
O5
O6
O7

15
14
13
12
11
10
9
7

74AC138

Title

CONECTAREA MEMORIILOR
Size
Document Number
Custom2
Wednesday, January 09, 2008

Date:
5

Rev
Sheet

1
1

of

M//IO

1
2
3

A0
A1
A2

4
5
6

E1
E2
E3

Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7

15
14
13
12
11
10
9
7

SA1

SA2

SA3

SA4

ST1

/ST2

74AC138

SL1

SL2

A4
A5
C

A10
A11
A12

A13

3
1
3

A14

A15

A6

2
3

1
3
3

A7

1
2
3

A0
A1
A2

4
5
6

E1
E2
E3

2
1
3

A8

A9

2
3

Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7

15
14
13
12
11
10
9
7

S2

/S55

S1

/S51

74AC138

Title

DECODIFICATORUL DE PORTURI
Size
A
Date:
5

Document Number
<Doc>
Tuesday, January 08, 2008
2

Rev
<RevCode>
Sheet

of
1

D7-D0

VCC

U4
10 uF

U1
27
28
1
2
5
6
7
8
21
20
12
13
10
11

PCLK
C

/S51

D0
D1
D2
D3
D4
D5
D6
D7
RESET
CLK
C/D
RD
WR
CS

TXRDY
TXE
TXC

15
18
9

TXD
RXD

19
3

RXRDY
RXC
SY/BR

14
25
16

DSR
DTR

22
24

CTS
RTS

17
23

10 uF

MAX232

10 uF

10 uF

/S55

34
33
32
31
30
29
28
27

D0
D1
D2
D3
D4
D5
D6
D7

PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7

4
3
2
1
40
39
38
37

5
36
9
8
35
6

RD
WR
A0
A1
RESET
CS

PB0

18

PC0

14

8255

8251

/RD
/WR
A1
A2
RESET
U6
B

VCC

M/IO
A

74ALS04
2

74ALS00
1
3

A12

19
20

A0
A1

11
14
16

G0
G1
G2

9
15
18

CLK0
CLK1
CLK2

22
23
21

RD
WR
CS

OUT0
OUT1
OUT2
D0
D1
D2
D3
D4
D5
D6
D7

10
13
17
8
7
6
5
4
3
2
1

D0-D7

8253

Title

INTERFATA SERIALA SI PARALELA


Size
A
Date:
5

Document Number
<Doc>
Thursday, January 10, 2008
2

Rev
<RevCode>
Sheet

of
1

CC

CC
D3A

1
A

CC
D3A

1
A

DP

CC
D3A

1
A

DP

D3A

1
A

DP

DP

10 9
8
5
4
2
3
7
330 330 330 330 330 330 330 330

10

U1

SA1

D0
D1
D2
D3
D4
D5
D6
D7

11
1

G
OC

10

330 330 330 330 330 330 330 330

330 330 330 330 330 330 330 330

U2
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7

10

LDS-C32R
LDS-C32R

3
4
7
8
13
14
17
18

2
5
6
9
12
15
16
19
SA2

74ABT373A

U3

3
4
7
8
13
14
17
18

D0
D1
D2
D3
D4
D5
D6
D7

11
1

G
OC

Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7

2
5
6
9
12
15
16
19
SA3

74ABT373A

3
4
7
8
13
14
17
18

D0
D1
D2
D3
D4
D5
D6
D7

11
1

G
OC

330 330 330 330 330 330 330 330

LDS-C32R

LDS-C32R

U4
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7

2
5
6
9
12
15
16
19
SA4

74ABT373A

3
4
7
8
13
14
17
18

D0
D1
D2
D3
D4
D5
D6
D7

11
1

G
OC

Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7

2
5
6
9
12
15
16
19

74ABT373A

VCC
D7-D0

VCC

U6

SL1

3
4
7
8
13
14
17
18

D0
D1
D2
D3
D4
D5
D6
D7

11
1

G
OC

U7
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7

2
5
6
9
12
15
16
19
SL2

74ABT373A

3
4
7
8
13
14
17
18

D0
D1
D2
D3
D4
D5
D6
D7

11
1

G
OC

Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7

2
5
6
9
12
15
16
19

74ABT373A

U5

ST1

3
4
7
8
13
14
17
18

D0
D1
D2
D3
D4
D5
D6
D7

11
1

G
OC

Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7

U8

2
5
6
9
12
15
16
19

2
4
6
8
11
13
15
17

74ABT373A

1
19

1A1
1A2
1A3
1A4
2A1
2A2
2A3
2A4

1Y1
1Y2
1Y3
1Y4
2Y1
2Y2
2Y3
2Y4

18
16
14
12
9
7
5
3

D7
D6
D5
D4

1G
2G
74ABT244

/ST2

Title

INTERFATA CU UTILIZATORUL
Size
Document Number
Custom<Doc>
Date:
5

Tuesday, January 08, 2008

Rev
<RevCode>
Sheet

1
1

of

00000H

SRAM
0FFFFH

F0000H

EPROM
FFFFFH

HARTA MEMORIEI

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