Sie sind auf Seite 1von 14

Agenda

Sistemul I/O
Interfatarea cu circuitele de Intrare/Iesire
Circuite suport programabile

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

Modaliti de acces la spaiul I/O

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

Exemple simple de porturi I/O

Port de iesire pe 8 biti cu 74ALS374

Port de intrare pe 8 biti cu 74ALS244

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

Aplicatie

Sistem supervizor de control cu 64 switches si 64 LEDs.


Magistrala sistem include 8 linii de date, 16 linii de adrese, linii de control
pentru citire si scriere. Fiecare 8-bit input port (switch) si perechea
corespunzatoare 8-bit output port (LED) au aceeasi adresa.
Spatiul I/O este de la CBF0H-CBF7H.
Decodificatoare, latch-uri, buffere sau porti logice sunt utilizate dupa cum
este nevoie.
Subrutinele citesc switches si seteaza LED-urile corespunzatoare.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

Aplicatie
Arhitectura sistemului de control
Input
Read
Data Bus (D0-D7)

Address
Bus
(A0-A15)

DCD
Logic

16

64

64 Switches

8 8-bit
buffers

CS

Output
64

64 LEDs

8 8-bit
buffers

Write

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

Aplicatie
Logica decodificatoare DCD: decodifica liniile de adresa sa genereze
semnalele de selectie.
Fiecare linie a tabelului este adresa binara de la CBF0 la CBF7
A15

A14

A13

A12

A11

A10

A9

A8

A7

A6

A5

A4

A3

A2

A1

A0

Constant

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

Variable

Implementarea logicii decodificatoare

CS1
CS2
CS3
CS4
CS5
CS6
CS7
CS8

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

Implementarea sistemului

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

Aplicatie

Secventa de instructiuni de operare a sistemului


MOV DX,CBF4H ; incarca adresa portului.
IN AL,DX ; citeste valoare switch-uri.
OUT DX,AL ; actualizeaza starea LED-urilor

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

8255A Interfata paralela programabila


Diagrama generala
PPI
Data
Control register

Read
Write

Buffer data in

Reset

Buffer data out

IR
READY

I/O device
Data in ready

Status register

Adr

Data in ack

Data in
Data out

Data out ready


Data out ack

DCD
der

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

10

8255A Interfata paralela programabila


Interfatarea la magistrala sistemului
8255A
Data (D0-D7)
Port A
Reset
Port C

Write

Read

PA

0;7

PC

7;4

PC

0;3

PB

0;7

Port B
READY

A1
0
0
1
1

Group A

Group B

A0
0
1
0
1

Selected Port
Port A
Port B
Port C
Control register

Control reg.
Adr

CS

DCD
der

A1
A0

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

11

8255A Interfata paralela programabila


Exemplu: Interfatarea 8255A la magistrala sistemului. Magistrala sistemului
are 16 linii de date (D0-D15), IORC\ si IOWC\ comenzi pentru operatiile de
citire, respectiv de scriere. Porturile I/O pentru 8255A sunt: Port A: 00C0H,
Port B: 00C2H, Port C: 00C4 and Control Register: 00C6.
Procedura de proiectare: se decodifica adresele rezervate pentru 8255A
astfel incat sa se obtina semnalul SEL\ pentru pinul de intrare CS\.
Adresele in forma binara sunt:
A15

A14

A13

A12

A11

A10

0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0
0
0
0
0
Constant

A9

A8

A7

A6

A5

A4

A3

A2

A1

A0

0
0
0
0

1
1
1
1

1
1
1
1

0
0
0
0

0
0
0
0

0
0
0
0

0
0
1
1
A1

0
1
0
1
A0

0
0
0
0
C

8255A

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

12

8255A Interfata paralela programabila


Implementarea selectiei si interfatarea

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

13

8255A Interfata paralela programabila


Programarea
Octetul de control
7

6 5

4 3 2

1 0

D7 D6 D5 D4 D3 D2 D1 D0
Group B
Port C (PC3 PC0)
1 inputs
0 outputs
Port B
1 input
0 output
Mode
0 mode 0
1 mode 1
Group A
Mode set flag
1 - active

Port C (PC7 PC4)


1 inputs
0 outputs
Port A
1 input
0 output
Mode
00 mode 0
01 mode 1
1X mode 2

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

14

8255A Interfata paralela programabila


Programarea
8255A Set/Reset Port C
7
0

5 4 3 2

X X

1 0

X D3 D2 D1 D0
Bit set/reset
1 set
0 reset
Bit select

Exemplu: Scrierea 00001101 in control register al


8255A selecteaza bitul 6 si-l seteaza pe 1.Astfel,
output PC6 a Portului C este modificata pe nivelul 1
logic.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

15

8255A Interfata paralela programabila


Modurile de operare: Mod 0, Mod 1 si Mod 2
Modul 0. Selecteaza operarea simpla ca I/O. Bitii cuvantului de
control sunt asociati fiecarui grup. Grupul A de 12 biti consta din port
A (8 biti) si 4 biti din port C 7:4 . Similar grup B de 12 biti consta din f
port B (8 biti) si 4 biti din port C 3:0.

D4 port A

D3 port C 7:4

D1 port B

D0 port C 3:0

In modul 0 fiecare grup poate fi initializat ca output sau input.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

16

8255A Interfata paralela programabila


Modurile de operare: Mod 0, Mod 1 si Mod 2
Modul 0. Exemplu: Initializare in modul 0 Group A and Group B
outputs; control register address is COMMAND.
MOV AL, 10000000B ; set command byte
MOV DX, COMMAND ; load control register address
OUT DX, AL
Aplicatii: 8255A opereaza in Modul 0 atunci cand Portul A si Portul B
sunt conectate la un set de 8 LED-uri 7-segmente.
8255 opereaza in Modul 0 sa ofere semnale prin Port A pentru rotirea
armaturii unui motor pas cu pas.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

17

8255A Interfata paralela programabila

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

18

8255A Interfata paralela programabila

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

19

Alte circuite suport


8279 - Programmable keyboard/display interface
Permite scanarea unei tastaturii de 64 de taste avnd un buffer intern
de 8 taste
Permite controlul unui afiaj cu 16 caractere avnd o memorie intern
RAM de 16 x 8

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

20

10

Alte circuite suport


8279 - Programmable keyboard/display interface
Pini
A0 selecteaz modul de date sau de control
/BD - terge display-ul
/CS chip select
DB7-DB0 pini de date bidirecionali
IRQ Interrupt request indic apsarea unei taste
CN/ST, SHIFT Control, Shift conectate la butoanele echivalente ale
tastaturii
RL7-RL0 Return Line - linii de citire a tastaturii
SL3-SL0 Scan Line linii de scanare a tastaturii i display-ului
OUTA,B0-OUTA,B3 linii de comand pentru display

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

21

Alte circuite suport


8279 - Programmable keyboard/display interface Interfatarea cu
tastatura

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

22

11

Alte circuite suport


8279 - Programmable keyboard/display interface Interfatarea cu
displayul

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

23

Alte circuite suport


8254 Real-time clock

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

24

12

Alte circuite suport


8254 Real-time clock - Cuvantul de comanda

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

25

Alte circuite suport


8254 Real-time clock Moduri de functionare

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

26

13

Alte circuite suport


8254 Real-time clock Moduri de functionare (2)
Mod 0 dup iniializare OUT devine 0 pn cnd registrul intern de
numrare devine 0, pinul G poate dezactiva numrtoarea
Mod 1 idem, dar cu activare pe pinul G
Mod 2 generator de frecven / divizor, pinul G poate dezactiva
numrtoarea
Mod 3 generator de semnal dreptunghiular , pinul G poate dezactiva
numrtoarea
Mod 4 declanator, pinul G poate dezactiva numrtoarea
Mod 5 declanator cu activate pe pinul G

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

27

Alte circuite suport


8254 Real-time clock Exemplu de utilizare

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

28

14

Das könnte Ihnen auch gefallen