Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Capitulo III - Interfaz Paralela

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 72

La interfaz de Entrada/Salida Bsica

Tiene por finalidad comunicar el computador con el mundo exterior.

Generalmente emplea interfaces del tipo digital

Las interfaces ms tpicas son del tipo paralelas y seriales

Para programar el ingreso y salida de datos se emplea instrucciones


en cdigo ensamblador.

El direccionamiento de los dispositivos de Entrada/Salida se hace


mediante dos mtodos:
E/S aislada
E/S ubicada en memoria
Microcomputadores e Interfaces

La interfaz de Entrada/Salida Bsica

Instrucciones de E/S
El conjunto de instrucciones contiene un tipo de instruccin que transfiere
informacin a un dispositivo de E/S (OUT), y otra para leer informacin
desde un dispositivo de E/S (IN)
Tambin se proporcionan instrucciones (INS y OUTS) encontradas en
todas las versiones excepto en los 8086/8088 para transferir cadenas de
datos entre memoria y un dispositivo de E/S.
Tanto instruccin IN como la instruccin OUT transfieren datos entre un
dispositivo de E/S y el acumulador del microprocesador (AL, AX o EAX).
La direccin de E/S se almacena en el regsitro DX como una direccin de
16 bits de E/S, o en el byte (p8) inmediatamente posterior al cdigo de
operacin como una direccin de 8 bits de E/S.
Intel denomina a la forma de 8 bits (p8) como una direccin fija.
La direccin de E/S de 16 bits en DX es llamada direccin variable,
porque se almacena en DX y despus se utiliza para direccionar el
dispositivo de E/S.

Microcomputadores e Interfaces

La interfaz de Entrada/Salida Bsica

Al transferir datos con la instruccin IN o OUT, la direccin de E/S


tambin conocida como nmero de puerto ( o simplemente puerto),
aparece en el bus de direcciones.

La interfaz externa de E/S decodifica el nmero de puerto de la misma


manera en que codifica un adireccin de memoria.

El nmero de puerto fijo de 8 bits (p8) aparece en las conexiones A/ - A0


del bus de direcciones, con los bits A15 A8 igual a 000000002.

Las direcciones por arriba de A15 no estn definidas para una


instruccin de E/S.

Esto significa que a las primeras 256 direcciones de puerto de E/S (00h
a FFh) se accede por las instrucciones de E/S de direccin fija, como
variable, pero a cualquier direccin de E/S desde 0100h a la FFFFh se
accede solamente por la direccin de E/S variable.
Microcomputadores e Interfaces

La interfaz de Entrada/Salida Bsica


Instrucciones de E/S del 8086/8088
Instruccin

Ancho
datos

IN AL,p8

Transfiere un byte del puerto p8 a AL

IN AX,p8

16

Transfiere una palabra del puerto p8 a AX

IN AL,DX

Transfiere un byte del puerto direccionado por DX a AL

IN AX,DX

16

Transfiere una palabra del puerto direccionado por DX a AX

OUT p8,AL

Transfiere un byte de AL al puerto p8

OUT p8,AX

16

Transfiere una palabra de AX al puerto p8

OUT DX,AL

Transfiere un byte de AL al puerto direccionado por DX

OUT DX,AX

16

Transfiere una palabra de AX al puerto direccionado por DX

Funcin

Microcomputadores e Interfaces

La interfaz de Entrada/Salida Bsica


E/S aislada y ubicada en memoria (memory-mapped)

E/S Aislada.

La tcnica de transferencia ms comn de E/S empleada en los


sistemas basados en los microprocesadores Intel.
El trmino aislada describe cmo las localidades de E/S estn aisladas
del sistema de memoria en un espacio de direccin de E/S separado.

E/S ubicada en memoria.

la E/S ubicada en memoria no utiliza las instrucciones de IN y OUT. En


su lugar, usa cualquier instruccin que transfiera datos entre el
microprocesador y la memoria.
Un dispositivo de E/S ubicado en memora es manejado como una
localidad de memoria y por consiguiente admite las instrucciones de
transferencia de datos entre la memoria y el procesador.

Microcomputadores e Interfaces

La interfaz de Entrada/Salida Bsica

FFFFF

FFFFF

E/S

1M x 8

FFFF

64K x 8
00000

00000

0000

E/S aislada

Espacio de E/S
Microcomputadores e Interfaces

E/S ubicada en
memoria
6

La interfaz de Entrada/Salida Bsica


Interfaces bsicas de entrada y de salida

El dispositivo bsico de entrada es un conjunto de buffers de tres


estados.

El dispositivo bsico de salida es un conjunto de registros


transparentes de datos.

El trmino IN se refiere al movimiento de datos desde un dispositivo


(puerta) de E/S al microprocesador (Acumulador)

El trmino OUT se refiere al movimiento de datos desde el


microprocesador (Acumulador) al dispositivo (puerta) de E/S

Microcomputadores e Interfaces

La interfaz de Entrada/Salida Bsica


La interfaz bsica de entrada
Los buffers de tres estados son utilizados para construir el puerto de entrada
de 8 bits.
Los datos TTL externos estn conectados a las entradas de los buffers
Las salidas de los buffers estn conectadas al bus de datos
Las conexiones del bus dependen del microprocesador ( 8, 16, 32 o 64 bits)
En la siguiente figura se aprecia un circuito que ingresa datos (8 bits) que
provienen de interruptores al acumulador del microprocesador, cuando la
seal de seleccin SEL toma el valor lgico de 0.
De esta forma, al ejecutar la instruccin IN, el contenido de los interruptores
se copia al registro AL.
Cuando el microprocesador ejecuta una instruccin IN, la direccin del
puerto de E/S se decodifica para generar un 0 lgico en SEL.
La presencia de un 0 en las entradas de control de salida (1G y 2G) del
buffer 74ALS244 ocasiona que las conexiones de entrada de datos (A) sean
conectadas a la conexin de salida de datos (Y). Un 1 lgico lleva al
dispositivo al modo de tercer estado que desconecta los interruptores del
bus de datos.
Microcomputadores e Interfaces

La interfaz de Entrada/Salida Bsica


Caractersticas del Buffer 3-State 74LS244

Microcomputadores e Interfaces

La interfaz de Entrada/Salida Bsica


V c c = 5 . 0 v o lt s

10 K

BUS
de
D ato s

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

1A
1A
1A
1A
2A
2A
2A
2A

1
2
3
4
1
2
3
4

1G
2G

74ALS244

Microcomputadores e Interfaces

10

La interfaz de Entrada/Salida Bsica

La interfaz bsica de salida

Acepta datos desde el microprocesador y por lo general, debe


mantenerlos para algn dispositivo externo
Sus registros o biestables, al igual que los buffers del dispositivo de
entrada, frecuentemente estn integrados en el dispositivo de E/S
En la figura siguiente se aprecia una conexin de 8 LEDs conectados al
microcomputador a travs de la interfaz 74ALS374.
El biestable almacena el nmero al que da salida el microprocesador por
el bus de datos, de manera que los LEDs puedan encenderse con
cualquier nmero binario de 8 bits.
Los biestables son requeridos para mantener los datos, porque cuando
el microprocesador ejecuta una instruccin OUT, los datos estn
presentes en el bus de datos nicamente por menos de 1.0 useg. Sin un
biestable, el observador nunca vera la iluminacin de los LEDs
Al ejecutar la instruccin OUT, los datos de AL o AX se transfieren al
registro por medio del bus de datos
Cada vez que se ejecuta la instruccin OUT, se activa la seal SEL al
registro
Microcomputadores e Interfaces

11

La interfaz de Entrada/Salida Bsica


Caractersticas del Latch tipo D 3-State 74LS374

Microcomputadores e Interfaces

12

La interfaz de Entrada/Salida Bsica


V c c = 5 . 0 v o lt s

330

U
D
D
D
D
D
D
D
D

Bus
de
D a to s

Q
Q
Q
Q
Q
Q
Q
Q

0
1
2
3
4
5
6
7

0
1
2
3
4
5
6
7

OC
CLK

>

74ALS374

SEL

Microcomputadores e Interfaces

13

La interfaz de Entrada/Salida Bsica

Protocolo con respuesta

Muchos dispositivos de E/S admiten o liberan informacin a una


velocidad mucho menor que el microprocesador
Otro mtodo para el control de E/S, es llamado protocolo de respuesta
(handshaking) o encuesta (polling), sincroniza al dispositivo de E/S con
el microprocesador
Un caso caracterstico es la conexin entre un microcomputador y una
impresora. Aqu los datos son transferidos por medio de las conexiones
de datos (D7-D0), BUSY indica que la impresora est ocupada y
STB(strobe) es un pulso de reloj empleado para enviar los datos que
imprima la impresora.
Tan pronto la impresora recibe un pulso STB genera un 1 lgico en la
terminal BUSY, lo que indica que la impresora est ocupada imprimiendo
un dato
El software de la impresora hace una encuesta tratando de verificar en
que instante la terminal BUSY cambia al estado 0 lgico.

Microcomputadores e Interfaces

14

La interfaz de Entrada/Salida Bsica

Protocolo con respuesta

El siguiente es un programa bsico de encuesta para determinar si


BUSY esta ocupado o no.

0000
0002
0004
0006
0008
000A

IN AL,BUSY
TEST AL,BUSY_BIT
JNE 0000
MOV AL,BL
OUT PRINTER,AL
END

Microcomputadores e Interfaces

15

La interfaz de Entrada/Salida Bsica


El conector DB25 encontrado en las computadoras y el conector
Centronics de 36 terminales encontrado en impresoras para el
establecimiento de la interfaz Centronics para impresoras paraleas se
muestra en la sgte. figura:

DB25

CENT36

Microcomputadores e Interfaces

16

La interfaz de Entrada/Salida Bsica

Decodificacin de direccin de un puerto de E/S

La decodificacin de un puerto de E/S es muy parecida a la


decodificacin de direccin de un banco de memoria

La nica diferencia est en que para una memoria de usan las lneas de
direccin A19-A0, mientras que en E/S aislada se usa slo A15-A0

Generalmente se emplea un Decodificador para habilitar a los distintos


puertos mediante la accin de las seales provenientes de las lneas de
direcciones

El decodificador acta de preferencia sobre los terminales de activacin


(G1, G2 , SEL, SEL1, etc) del circuito que controla el puerto de E/S.

Las caractersticas de los decodificadores varan de acuerdo a la forma


en que se desee controlar el puerto.
Microcomputadores e Interfaces

17

La interfaz de Entrada/Salida Bsica

El siguiente es el dibujo de un circuito decodificador 74LS138, que


permite decodificar puertos de 8 bits desde F0h hasta F7h.

Sus terminales de entrada son A, B y C y los de salida en


complemento Y0 a Y7

Posee tres terminales de habilitacin, G1, G2A y G2B


U
A
B
C

G
G
G

1
2A
2B

Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7

74ALS138

Microcomputadores e Interfaces

18

La interfaz de Entrada/Salida Bsica

Caractersticas del decodificador Binario 74LS138 de 3 a 8 lneas

Microcomputadores e Interfaces

19

La interfaz de Entrada/Salida Bsica


Decodificador de 8 bits F0h a F7h
A7

A6

A5

A4

A3

A2

A1

A0

Y7

Y6

Y5

Y4

Y3

Y2

Y1

Y0

DIRECCION

F0

F1

F2

F3

F4

F5

F6

F7

U
A0
A1
A2

A4
A3

A
B
C

G
G
G

1
2A
2B

Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7

F0'
F1'
F2'
F3'
F4'
F5'
F6'
F7'

74ALS138
A5
A6
A7

Microcomputadores e Interfaces

20

La interfaz de Perifrica Programable (PPI)

La PPI (interfaz perifrica programable) tipo 82C55, es un


componente popular y de bajo costo, que puede ser utilizado como
interfaz del microprocesador con cualquier dispositivo de E/S
compatible a TTL.

Se emplea como interfaz de teclado y puertas de impresora paralela


en computadoras (frecuentemente integradas en un chipset).

Requiere la insercion de estados de espera cuando se usa con


microprocesadores que usan frecuencias de reloj mayores de 8 MHz.

PPI tiene 24 pines para E/S que son programables en grupos de 12


pines y tiene 3 distintos modos de operacin ( 0, 1 y 2).

En la PC, un 82C55 o su equivalente es decodificado en la direccin


de puertas de E/S 60H-63H.

Posee tres puertos de salida, el puerto A, el B y el C.

Cada puerto consta de 8 lneas de E/S (byte)

Polarizacin Vcc= + 5.0


volts C.C. e Interfaces
Microcomputadores

21

La interfaz de Perifrica Programable (PPI) 8255

Microcomputadores e Interfaces

22

Microcomputadores e Interfaces

23

La interfaz de Perifrica Programable (PPI)


GRUPO A
BUS
DE
DATOS

CONTROL

D0
D1
D2
D3
D4
D5
D6
D7

PA
PA
PA
PA
PA
PA
PA
PA

RD
W R
A0
A1

PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7

P U E R T A -B

PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7

P U E R T A -C

CS
RESET

82C55

VCC

GND

PUERTA A (PA7 PA0)

1
2
3
4

PUERTA - A

Mitad Superior PUERTA C

(PC7 PC4)

GRUPO B
PUERTA B (PB7 PB0)
Mitad Inferior PUERTA C
(PC3 PC0)
A1

A0

Funcin

Puerto A

Puerto B

Puerto C

Registro de Comando

Microcomputadores e Interfaces

24

La interfaz de Perifrica Programable (PPI)


Descripcin de los pines del 82C55

Vcc
Terminal de polarizacin positivo de + 5 volts C.C.

GND
Terminal de tierra del circuito integrado.

D7 D0
Bus de datos de lneas bidireccionales con lgica de tres estados

RESET
Un 1 lgico en esta terminal borra el contenido del registro de
control y todas las puertas son puestas a modo 0 y en
configuracin de entrada.

Microcomputadores e Interfaces

25

La interfaz de Perifrica Programable (PPI)


Descripcin de los pines del 82C55

CS
Chip Select. Un 0 lgico puesto en este terminal habilita la
comunicacin entre el 82C55 y el Bus de Datos.

RD
Terminal de control de Lectura. Una seal de nivel 0 lgico
puesto en este terminal permite leer el estado de la PPI o los
datos enviados va el Bus de Datos al acumulador del
microprocesador.

WR
Terminal de control de Escritura. Una seal de nivel 0 lgico
puesto en este terminal permite cargar la programacin y enviar
datos va el Bus de Datos a la PPI desde el acumulador del
microprocesador.
Microcomputadores e Interfaces

26

La interfaz de Perifrica Programable (PPI)


Descripcin de los pines del 82C55

A1 - A0
Terminales de direccin. Estas seales de entrada, en conjunto
con las seales de control RD y WR, controlan la seleccin de
una de las tres puertas o del registro de control de la PPI. A1 y
A0, son a menudo conectados a los bits menos significativos del
Bus de Direcciones del Microprocesador.

PA7 PA0
Puerta A. Posee 8 lneas que se configuran como entradas o
salidas.

PB7 PB0
Puerta B. Posee 8 lneas que se configuran como entradas o
salidas.

PC7 PC0
Puerta C. Posee 8 lneas que se configuran como entradas o
salidas.
Microcomputadores e Interfaces

27

La interfaz de Perifrica Programable (PPI)


Operacin Bsica de Control de la 82C55
A1

A0

RD

WR

CS

OPERACION

PUERTA A -> DATA BUS

PUERTA B -> DATA BUS

PUERTA C -> DATA BUS

DATA BUS -> PORT A

DATA BUS -> PORT B

DATA BUS -> PORT C

DATA BUS -> CONTROL

DATA BUS -> 3 STATE

ERROR

DATA BUS -> 3 STATE

Microcomputadores e Interfaces

28

La interfaz de Perifrica Programable (PPI)


Byte de Comando A
7

GRUPO B
Puerto C (PC3 PC0)
1 = entrada

0 = salida

Puerto B
Activa la
opcin de Bit
Set/Reset

1 = entrada

0 = salida

MODO
0 = Modo 0

1 = inactivo

1 = Modo 1

GRUPO A

0 = activo

Puerto C (PC7 PC4)


1 = entrada

0 = salida

Puerto A
1 = entrada

0 = salida

MODO
00 = Modo 0

01 = Modo 1

1X = Modo 2
Microcomputadores e Interfaces

29

La interfaz de Perifrica Programable (PPI)


Byte de Comando B (Bit Set/Reset)
7

0
Establecimiento/restauracin de
bit
1 = establece
0 = restaura

Microcomputadores e Interfaces

1
30

La interfaz de Perifrica Programable (PPI)


Programacin de la PPI

De acuerdo al Byte de Comando, se programan los Modos y la


Configuracin de las Puertas
Ejemplo 01:

Bit 7 : habilita byte de comando


Bites 6 y 5 : sealan Modo 0 al grupo A
Bit 4 : puerta A en configuracin de salida
Bit 3 : mitad superior de puerta C en configuracin de salida
Bit 2 : seala Modo 0 al grupo B
Bit 1 : puerta B en configuracin de salida
Bit 0 : mitad inferior de puerta C en configuracin de salida
Microcomputadores e Interfaces

31

La interfaz de Perifrica Programable (PPI)


Programacin de la PPI

De acuerdo al Byte de Comando, se programan los Modos y la


Configuracin de las Puertas
Ejemplo 02:

Bit 7 : habilita byte de comando


Bites 6 y 5 : sealan Modo 0 al grupo A
Bit 4 : puerta A en configuracin de entrada
Bit 3 : mitad superior de puerta C en configuracin de salida
Bit 2 : seala Modo 0 al grupo B
Bit 1 : puerta B en configuracin de salida
Bit 0 : mitad inferior de puerta C en configuracin de entrada
Microcomputadores e Interfaces

32

La interfaz de Perifrica Programable (PPI)


Programacin de la PPI

De acuerdo al Byte de Comando, se programan los Modos y la


Configuracin de las Puertas
Ejemplo 03:

Bit 7 : habilita byte de comando


Bites 6 y 5 : sealan Modo 1 al grupo A
Bit 4 : puerta A en configuracin de salida
Bit 3 : mitad superior de puerta C dont care
Bit 2 : seala Modo 0 al grupo B
Bit 1 : puerta B en configuracin de salida
Bit 0 : mitad inferior de puerta C dont care
Microcomputadores e Interfaces

33

La interfaz de Perifrica Programable (PPI)


Programacin de la PPI

De acuerdo al Byte de Comando, se programan los Modos y la


Configuracin de las Puertas
Ejemplo 04:

Bit 7 : habilita byte de comando


Bites 6 y 5 : sealan Modo 1 al grupo A
Bit 4 : puerta A en configuracin de entrada
Bit 3 : mitad superior de puerta C dont care
Bit 2 : seala Modo 1 al grupo B
Bit 1 : puerta B en configuracin de salida
Bit 0 : mitad inferior de puerta C dont care
Microcomputadores e Interfaces

34

La interfaz de Perifrica Programable (PPI)


Programacin de la PPI

De acuerdo al Byte de Comando, se programan los Modos y la


Configuracin de las Puertas
Ejemplo 05:

Bit 7 : habilita byte de comando


Bites 6 y 5 : sealan Modo 2 al grupo A
Bit 4 : puerta A en configuracin de entrada y salida
Bit 3 : mitad superior de puerta C dont care
Bit 2 : seala Modo 1 al grupo B
Bit 1 : puerta B en configuracin de salida
Bit 0 : mitad inferior de puerta C dont care
Microcomputadores e Interfaces

35

La interfaz de Perifrica Programable (PPI)


Programacin de la PPI

De acuerdo al Byte de Comando, se programan los Modos y la


Configuracin de las Puertas
Ejemplo 06:

Bit 7 : habilita byte de comando


Bites 6 y 5 : sealan Modo 2 al grupo A
Bit 4 : puerta A en configuracin de entrada y salida
Bit 3 : mitad superior de puerta C dont care
Bit 2 : seala Modo 1 al grupo B
Bit 1 : puerta B en configuracin de salida
Bit 0 : mitad inferior de puerta C dont care
Microcomputadores e Interfaces

36

La interfaz de Perifrica Programable (PPI)

82C55 : Modo de Operacin 0

Obliga al 82C55 a funcionar como un dispositivo de entrada buffer o


como un dispositivo de salida latch (biestables).

Todas las puertas pueden ser configuradas en forma independiente, esto


significa que cualquiera de ellas puede ser de entrada o salida.

Es el mtodo ms tpico en la programacin.

Microcomputadores e Interfaces

37

La interfaz de Perifrica Programable (PPI)


LABORATORIO : MICROCOMPUTADORES E INTERFACES
EXPERIENCIA : Transmisin y recepcin de datos.
OBJETIVOS :

Entender la manera como la CPU enva y recibe datos desde otros


dispositivos

Aprender a programar una Interfaz Programable Perifrica PPI.

Detectar un nmero de pulsos y desplegarlos por visores numricos

Microcomputadores e Interfaces

38

La interfaz de Perifrica Programable (PPI)

Las direcciones empleadas para la PPI del Entrenador MTS-88C son


las siguientes:

Funcin

DIR

Puerto A

Puerto B

Puerto C

Registro de Comando

Microcomputadores e Interfaces

39

La interfaz de Perifrica Programable (PPI)


Caractersticas del transceptor 74LS245

Microcomputadores e Interfaces

40

La interfaz de Perifrica Programable (PPI)


Transmisin de datos desde acumulador a puerta B
+ 5 v C .C

40
39
38
37
36
35
34
33

IR
IR
IR
IR
IR
IR
IR
IR

7
6
5
4
3
2
1
0
IN T E R F
A Z D EL
M IC R O P
.

32
31
30
29
28
27
26
1

CK 1
OU T 1
OU T 2
GA T 2
GA T 1
PC LK
VC C
GN D

P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P

A
A
A
A
A
A
A
A
B
B
B
B
B
B
B
B
C
C
C
C
C
C
C
C

0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

1
2

D IR

VC C

20
18

17

16

15
LS245

14

13

12

11

19

D IS P L A Y D E L E D S D E L D IG IL A B

GN D

10

22
23
24
25

Microcomputadores e Interfaces

41

La interfaz de Perifrica Programable (PPI)


Diagrama de Flujo
Inicio

Programar 82C55
Modo 0

Puerta B de salida

Mueve dato a AL

Escribe AL a puerta B

Fin
Microcomputadores e Interfaces

42

La interfaz de Perifrica Programable (PPI)


Programa
0000:0400 MOV AL,80
0000:0402 OUT 13,AL
0000:0404 MOV AL,FF
0000:0406 OUT 11,AL
0000:0408 HLT

; carga AL con byte de control


; se selecciona Modo 0 y configura puerta
B como salida
; carga AL con FFh
; escribe a la puerta B
; detenga programa

Microcomputadores e Interfaces

43

La interfaz de Perifrica Programable (PPI)


Recepcin de datos en el acumulador desde puerta B
IN T E R R U P T O R E S

+ 5 v C .C

40
39
38
37
36
35
34
33

IR
IR
IR
IR
IR
IR
IR
IR

7
6
5
4
3
2
1
0
IN T E R F A
Z D EL
M IC R O P .

32
31
30
29
28
27
26
1

C K 1
OU T 1
OU T 2
GA T 2
GA T 1
PC LK
VC C
GN D

P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P

A
A
A
A
A
A
A
A
B
B
B
B
B
B
B
B
C
C
C
C
C
C
C
C

0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

1
2

D IR

VC C

16

15

13

12

11
G

14

19

18
17

LS245

20

D E L D IG IL A B

10
GN D

22
23
24
25

Microcomputadores e Interfaces

44

La interfaz de Perifrica Programable (PPI)


Diagrama de Flujo
Inicio

Programar 82C55
Modo 0

Puerta B de entrada

Lee dato desde puerta B

Fin
Microcomputadores e Interfaces

45

La interfaz de Perifrica Programable (PPI)


Programa
0000:0400 MOV AL,82
0000:0402 OUT 13,AL
0000:0404 IN al,11
0000:0406 HLT

; carga AL con byte de control


; se selecciona Modo 0 y configura puerta
B como entrada
; lee puerta B
; detiene programa

Microcomputadores e Interfaces

46

La interfaz de Perifrica Programable (PPI)


Deteccin por pulsos
+5V
4.7K
40 IR7
39 IR6
38 IR5
37 IR4
36 IR3
35 IR2
34 IR1
33 IR0

PA0 2
PA1 3
PA2 4
PA3 5
PA4 6
PA5 7
PA6 89
PA7

PB0 10
PB1 11
PB2 12
PB3 13
PB4 14
PB5 15
PB6 16
32 CK1 PB7 17
31 OUT2
30 OUT1 PC0 18
29 GAT2 PC1 19
28 GAT1 PC2 20
27 PCLK PC3 21
26 VCC PC4 22
1 GND PC5 23
PC6 24
PC7 25

DECODER 7448
1 DIR VCC 20
2 A1
B1 18
3 A2
B2 17
4 A3
B3 16
5 A4 245 B4 15
6 A5
B5 14
7 A6
B6 13
8 A7
B7 12
9 A8
B8 11
19 EN GND 10

MAN74A

MAN74A

Gnd

Gnd

abcdefg.

abcdefg.

1B
VCC 16
2C
f 15
3 LT
g 14
4 RGO
a 13
5 RGI
b 12
6D
c 11
7A
d 10
8 NC
e9
DECODER 7448
1B
VCC 16
2C
f 15
3 LT
g 14
4 RGO
a 13
5 RGI
b 12
6D
c 11
7A
d 10
8 NC
e9

Microcomputadores e Interfaces

47

La interfaz de Perifrica Programable (PPI)


Inicio

Diagrama de Flujo

Borre AX
Programar 82C55
Modo 0

Puerta A de entrada

Puerta B de salida

Lee puerta A

PA0 = 1

Escribe AL a puerta B
Retardo de tiempo
Microcomputadores e Interfaces

48

La interfaz de Perifrica Programable (PPI)


Programa
0000:0400
0000:0402
0000:0404
0000:0406
0000:0408
0000:040B
0000:040D
0000:040F
0000:0411
0000:0413
0000:0416
0000:0419
0000:041A
0000:041C
0000:041E
0000:0421

XOR AX,AX
MOV AL,90
OUT 13,AL
IN AL,10
TEST AL,01
JNE 0406
INC AH
MOV AL,AH
OUT 11,AL
MOV CX,0010
MOV BX,0500
DEC BX
JNE 0419
LOOP 0416
JMP 0406
HLT

; borra AX
; carga AL con byte de control
; saca byte de control a puerta Control
; lee puerta A
; chequea estado del switch
; si switch est abierto rechequea
; AH=AH+1
; escribe a puerta B
; pone retardo de tiempo
; BX=BX-1
; salta a direccin 0419 si BX0
; ejecuta ciclo si CX0
; salta a direccin 0406
; detiene programa
Microcomputadores e Interfaces

49

La interfaz de Perifrica Programable (PPI)

82C55 : Modo de Operacin 1 entrada controlada por pulso

Obliga a que los puertos A y/o B del 82C55 funcionen como dispositivos
de entrada con registro. Esto permite almacenamiento de datos externos
en el puerto hasta que el microprocesador est listo para recuperarlos.
El puerto C tambin es empleado en el modo de operacin 1, no para
datos, sino para seales de control o de respuesta que ayudan en la
operacin de los puertos ya sea A o B, o ambos como puertos de
entrada controlados por pulsos.
El puerto de entrada controlado por pulsos captura datos de las
terminales del puerto cuando se activa la seal de reloj STB.
El puerto captura los datos durante la transicin de 0 a 1 del pulso STB
La seal STB, activa las seales de buffer de entrada lleno IBF y de
solicitud de interrupcin INTR
Una vez que el microprocesador reconoce, por medio de software (IBF)
o de hardware (INTR) que un dato est almacenado en el puerto, ejecuta
una instruccin IN para leer el puerto (RD)
Al leer el puerto, se restituyen a sus estados inactivos tanto IBF e INTR.
Microcomputadores e Interfaces

50

La interfaz de Perifrica Programable (PPI)


Definiciones de seal para entrada controlada por pulsos en modo 1
STB
La entrada pulso (strobe) carga datos al registro del puerto, el cual
mantiene la informacin hasta que es transferida al microprocesador por
medio de la instruccin IN.
IBF
Buffer de entrada lleno es una salida que indica que el registro de entrada
contiene informacin.
INTR
Solicitud de interrupcin es una salida que solicita una interrupcin de
hardware al microprocesador. La terminal INTR asume un estado de 1
lgico cuando la entrada STB regresa al valor de 1 lgico, y es restituida
cuando el dato es transferido desde el puerto al microprocesador.
INTE
La seal de habilitacin de interrupcin no es una entrada ni salida; es un
bit interno programado por medio de la posicin PC4 (puerto A) o PC2
(puerto B)

PC7, PC6
Terminales 7 y 6 de E/S, son de propsitos generales y disponibles.
Microcomputadores e Interfaces

51

La interfaz de Perifrica Programable (PPI)


Puertos A y B (entrada) en Modo 1

Puerto A
INTE
A

RD

PC4

STBA

PC5

PC3

Puerto B
INTE
B

PC2

STBB

IBFA

PC1

IBFB

INTRA RD

PC0

INTRB

E/S

PC6+7

Byte de Control

Byte de Control

D7

D6 D5 D4 D3 D2 D1 D0

D7

D6 D5 D4 D3 D2 D1 D0

Microcomputadores e Interfaces

X
52

Operacin de entrada controlada por pulsos (Modo 1)


STB

Buffer lleno

IBF
INTR

Interrupcin
solicitada

RD

PUERTO

Dato de entrada escrito al puerto

Dato ledo por microprocesador

Microcomputadores e Interfaces

53

La interfaz de Perifrica Programable (PPI)


Ejemplo de un procedimiento donde el microprocesador lee un carcter
ASCII que ingresa por la puerta A
MOV
MOV
OUT
READ_C MOV
IN
TEST
JZ
MOV
IN
MOV
HLT

AL,BC
DX,13
DX,AL
DX,12
AL,DX
AL,00100000
READ_C
DX,10
AL,DX
[0200],AL

; pone byte de control


; pone direccin de Control
;
; obtiene direccin de puerta C
; obtiene estado de puerta C
; chequea si IBF = 1 (PC5)
; si IBF = 0 vuelve a chequear
; obtiene direccin de puerta A
; ingresa ASCII de puerta A a AL
; salva dato en direccin de memoria

Microcomputadores e Interfaces

54

La interfaz de Perifrica Programable (PPI)


82C55 : Modo de Operacin 1 salida controlada por pulso
Su operacin es parecida a la de entrada controlada por pulsos en
modo 0, excepto que se incluyen seales de control para proporcionar
respuesta.
Siempre que se escriben datos a un puerto programado como puerto
de salida controlado por pulsos, la seal buffer de salida lleno, OBF,
asume el estado de 0 lgico para indicar la existencia de datos en el
registro del puerto.
Esta seal indica a un dispositivo externo de E/S que hay datos
disponibles.
El dispositivo externo responde al puerto que ha ledo los datos del
registro del puerto, activando la entrada de reconocimiento, ACK, del
puerto.
La seal ACK restituye la seal OBF a 1 lgico, indicando que el
buffer est desocupado.
Microcomputadores e Interfaces

55

La interfaz de Perifrica Programable (PPI)


Definiciones de seal para salida controlada por pulsos en modo 1

OBF
Es una salida que asume el estado bajo siempre que los datos
sean escritos (OUT) al registro de los puertos A o B. Esta seal
es restituda a 1 lgico siempre que el pulso ACK es retornado
desde un dispositivo externo.
ACK
La seal de reconocimiento ocasiona que la terminal OBF
regrese al nivel lgico de 1. La seal ACK indica que el
dispositivo externo recibio el dato.
INTR
La solicitud de interrupcin es una seal que freceuntemente
interrumpe al microprocesador cuando el dispositivo externo
recibe el dato por medio de la seal ACK. Esta terminal es
calificada por el bit interno de habilitacin de interrupcin (INTE).
Microcomputadores e Interfaces

56

La interfaz de Perifrica Programable (PPI)


Definiciones de seal para salida controlada por pulsos en modo 1

INTE
La seal de habilitacin de interrupcin no es una entrada ni
salida; es un bit interno programado para habilitar o deshabilitar
la terminal INTR. El bit INTE A es programado como PC6 e INTE
B es programado como PC2.

PC5 PC4
Las terminales 4 y 5 del puerto C son terminales de E/S de
propsito general. El comando de establecimiento y restauracin
puede ser usado para controlar estas terminales.

Microcomputadores e Interfaces

57

La interfaz de Perifrica Programable (PPI)


Puertos A y B (salida) en Modo 1

Puerto B

Puerto A
INTE
A

RD

PC7

OBFA

PC6

PC3

INTE
B

PC1

OBFB

ACKA

PC2

ACKB

INTRA RD

PC0

INTRB

E/S

PC4+5

Byte de Control

Byte de Control

D7

D6 D5 D4 D3 D2 D1 D0

D7

D6 D5 D4 D3 D2 D1 D0

Microcomputadores e Interfaces

X
58

Operacin de salida controlada por pulsos (Modo 1)


WR
OBF
Buffer lleno
INTR
Interrupcin solicitada

ACK

PUERTO

Dato enviado al puerto

Dato extrado del puerto

Microcomputadores e Interfaces

59

Operacin de salida controlada por pulsos (Modo 1)


Ejemplo de un procedimiento donde el microprocesador saca un
carcter ASCII que ingresa por la puerta B
MOV
MOV
OUT
DEC
READ_C IN
TEST
JZ
MOV
MOV
OUT
HLT

AL,0BC
DX,13
DX,AL
DX
AL,DX
AL,00000010
READ_C
DX,11
AL,[0200]
DX, AL

; pone byte de control


; pone direccin de Control
;
; DX = DX-1
; obtiene estado de puerta C
; chequea si OBF = 1 (PC2)
; si OBF = 0 vuelve a chequear
; obtiene direccin de puerta B
; carga ASCII de memoria a AL
; ingresa dato acumulador a puerta B

Microcomputadores e Interfaces

60

La interfaz de Perifrica Programable (PPI)


Combinaciones de Modo 1
PUERTA C

ENTRADA

SALIDA

PC0

INTRB

INTRB

PC1

IBFB

OBFB

PC2

STBB

ACKB

PC3

INTRA

INTRA

PC4

STBA

I/O

PC5

IBFA

I/O

PC6

I/O

ACKA

PC7

I/O

OBFA

Microcomputadores e Interfaces

61

La interfaz de Perifrica Programable (PPI)


Combinaciones de Modo 1
PA7 PA0

PA7 PA0

PC4

STBA

PC7

OBFA

PC5

IBFA

PC6

ACKA

PC3

INTRA

PC3

INTRA

PC6 PC7

I/O

PC4 PC5

PB7 PB0

I/O

PB7 PB0

PC1

OBFB

PC2

STBB

PC2

ACKB

PC1

IBFB

PC0

INTRB

PC0

INTRB

Microcomputadores e Interfaces

62

P A R T ID A
C O N F IG U R A R P P I
M O D O 0
P O R T B S A L ID A
FLAG C O NTR O L D E
M O TO R

S A L ID A P O R T B
R E T A R D O D E T IE M P O

G UAR D A AX E N S TAC K

LE E TE C LAD O
N

TE C LAD O
Y
T E C L A "G "

T E C L A "S "
Y

Y
M O D O M O V IM IE N T O

M O D O P AR AD A

P O P AX

N
FLAG ?
Y

Microcomputadores e Interfaces

R O R A L ,0 1

63

0000:0400
MOV AL, 80
;
carga acumulador con
programacin de PPI en modo 0
0000:0402
OUT 13 , AL
;
escribe byte a puerta de control
0000:0404
MOV BL , 02
;
carga Flag en BL
0000:0406
MOV AL , 66
;
carga Acumulador con cdigo de
rotar.
0000:0408
OUT 11 , AL
;
escribe byte del Acumulador a
puerta B
0000:040A
CALL 042E
;
llama a rutina de retardo de tiempo
0000:040D PUSH
AX ;
guarda contenido de registro AX en Stack
0000:040E
IN
AL , 21
;
lee Registro de Estado del Teclado
0000:0410
TEST AL , 0F
;
verifica si hay tecla presionada
0000:0413
JZ
0423
;
si no hay tecla presionada salta a la
direccin 0423
0000:0415
IN
AL , 20
;
lee registro de datos del teclado
0000:0417
CMP AL , D0
;
verifica si es tecla = G
0000:0419
JNZ
041D
;
si no es tecla =G, salte a 041D
0000:041B
MOV BL , 01
;
ponga Flag para rotacin del motor
0000:041D CMP
AL , DC
;
verifica si es tecla = S
0000:041F
JNZ
0423
;
si no es tecla =S, salte a 0423
0000:0421
MOV BL , 02
;
ponga Flag para detener al motor
0000:0423
POP AX ;
recupera de Stack, contenido AX
0000:0424
CMP BL , 01
;
verifica Flag de rotacin del motor
0000:0427
JNZ
0408
;
si no Flag, salta a 0408
0000:0429
ROR AL , 01
;
rota byte de Al un bit a la derecha
0000:042B
JMP
0408
;
salta a direccin 0408
e rutina
Interfaces
64
0000:042E
MOV CX , Microcomputadores
0200 ;
de retardo de tiempo
0000:0431
NOP

CONTROL BSICO DEL MOTOR PASO A PASO

0400 MOV

AL, 80

MOV

BL, 01

041D CMP

AL, DC

OUT

13 , AL

MOV

BL , 02

JNZ

0423

MOV

AL , 66

MOV

BL, 02

0408 OUT

11 , AL

CALL

AX

CMP

BL, 01

PUSH AX

JNZ

0408

IN

AL , 21

ROR

AL, 01

TEST

AL , 0F

JMP

JZ

0423

042E MOV

IN

AL , 20

0431 NOP

CMP

AL , D0

JNZ

042E

0423 POP

041D

LOOP

0408
CX, 0200
0431

RET

Microcomputadores e Interfaces

65

Control de la rotacin y movimiento paso del motor


0000:0400 MOV
modo 0
0000:0402 OUT
0000:0404 MOV
0000:0406 MOV
0000:0408 OUT
0000:040APUSH
0000:040BIN
0000:040D
0000:0410 JE
0000:0412 IN
0000:0414 CMP
0000:0416 JE
0000:0418 CMP
0000:041AJE
0000:041CPOP
0000:041D
0000:0420 POP
0000:0421 ROR
0000:0423 JMP
0000:0426 MOV
0000:0429 ROR
0000:042BOUT
0000:042D
0000:0430 LOOP
0000:0432 JMP
0000:0435 PUSH
0000:0436 MOV
0000:0439 NOP
0000:043ALOOP
0000:043CPOP
0000:043D

AL,80

13,AL
BL,01
AL,66
11,AL
AX
AL,21
TEST
041C
AL,20
AL,DD
0426
AL,D7
0420
AX
JMP
AX
AL,01
0408
CX,00C8
AL,01
11,AL
CALL
0429
0408
CX
CX,0200

;
escribe byte a puerta de control
;
carga Flag en BL
;
carga Acumulador con cdigo a rotar
;
escribe byte a puerta B
;
guarda registro AX en Stack
;
lee registro de teclado
AL,0F
;
verifica si hay tecla presionada
;
no tecla presionada salta a 041C
;
lee registro de datos del teclado
;
verifica si es tecla = T
;
si no es tecla =T, salte a 0426
;
verifica si es tecla = N
;
si no es tecla =N, salte a 0420
;
recupera de Stack, contenido AX
0408
;
;
recupera de Stack, contenido AX
;
rota Al un bit a la derecha
;
;
pone contador en CX
;
rota Al un bit a la derecha
;
0435
;
llama rutina de retardo
;
;
;
guarda registro CX en stack
;
pone contador en CX
;
;
; Microcomputadores
recupera e
deInterfaces
Stack, contenido CX
;
retorno de instruccin CALL

0439
CX
RET

carga acumulador con byte de programacin de PPI en

66

CONTROL BSICO DEL MOTOR PASO A PASO


0400

0408

MOV

AL, 80

OUT

POP

AX

13 , AL

ROR

AL, 01

MOV

BL , 01

JMP

0408

MOV

AL , 66

0426

MOV

CX, 00C8

OUT

11 , AL

0429

ROR

AL, 01

PUSH

AX

OUT

11, AL

IN

AL , 21

CALL

0435

TEST

AL , 0F

LOOP

0429

JZ

041C

JMP

IN

AL , 20

CMP

AL , DD

JZ
CMP
JZ
041C POP
JMP

0420

0426
AL, D7

0435
0439

0408

PUSH

CX

MOV

CX, 0200

NOP
LOOP

0439

0420

POP

CX

AX

RET

0408

HLT

Microcomputadores e Interfaces

67

La interfaz de Perifrica Programable (PPI)


82C55 : Operacin bidireccional en modo 2

En el modo 2, permitido solamente con el grupo A, el puerto A se


convierte en bidireccional, permitiendo la transmisin y recepcin de
datos a travs de los mismos ocho conductores.

Los buses bidireccionales de datos son tiles para interconectar a dos


computadoras

Microcomputadores e Interfaces

68

La interfaz de Perifrica Programable (PPI)


Definiciones de seal para el modo 2 bidireccional

INTR

OBF

Buffer de salida lleno es una salida que indica que el buffer de salida
contiene un dato para el bus bidireccional.

ACK

Solicitud de interrupcin es una salida utilizada para interrumpir al


microprocesador para ambas condiciones de entrada y de salida.

Reconocimiento es una entrada que habilita los buffers de 3 estados de


forma que pueda aparecer un dato en el puerto A.
Si ACK es un 1 lgico, los buffers de salida del puerto A estn en su
estado de alta impedancia.

STB

La entrada pulso de datos carga el registro de entrada del puerto A con


dato externo desde el bus bidireccional del puerto A.
Microcomputadores e Interfaces

69

La interfaz de Perifrica Programable (PPI)


Definiciones de seal para el modo 2 bidireccional

IBF
Buffer de entrada lleno es una salida utilizada para indicar que el
buffer de entrada contiene un dato para el bus bidireccional
externo.
INTE
Habilitacin de interrupcin son bist internos (INTE1 e INTE2)
que habilitan la terminal INTR. El estado de la terminal INTR es
controlado por medio de los bits PC6 (INTE1) y PC4 (INTE2) del
puerto C.
PC2, PC1 Y PC0

Estas son terminales de E/S de propsito general en el modo 2


controlados por los comandos de establecimiento y restauracin de bits.

Microcomputadores e Interfaces

70

La interfaz de Perifrica Programable (PPI)

PC 3

INTR
PUERTO A

PC7

OBF

IN T E
1

PC6

ACK

IN T E
2

PC4

STB

PC5

IB F

PC2 - PC0

E/S

Microcomputadores e Interfaces

71

La interfaz de Perifrica Programable (PPI)


Diagrama de tiempos en modo 2
W R
OBF
IN T R
ACK
STB

IB F
PORT A
RD
D a t o a lm a c e n a d o e n e l p u e rt o A
D a t o d e s a lid a ( O U T ) a l p u e rt o A

D a t o le d o d e l p u e rt o A
D a to d e e n tra d a (IN ) d e s d e e l p u e rto A

Microcomputadores e Interfaces

72

También podría gustarte