capitulo iii - interfaz paralela

72
Microcomputadores e Interfaces 1 La interfaz de Entrada/Salida Básica Tiene por finalidad comunicar el computador con el mundo exterior. Generalmente emplea interfaces del tipo digital Las interfaces más típicas son del tipo paralelas y seriales Para programar el ingreso y salida de datos se emplea instrucciones en código ensamblador. El direccionamiento de los dispositivos de Entrada/Salida se hace mediante dos métodos: E/S aislada E/S ubicada en memoria

Upload: jorge-gianotti-hidalgo

Post on 16-Jan-2016

221 views

Category:

Documents


0 download

DESCRIPTION

Describe características de la interfaz paralela PPI

TRANSCRIPT

Page 1: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 1

La interfaz de Entrada/Salida Básica

• Tiene por finalidad comunicar el computador con el mundo exterior.

• Generalmente emplea interfaces del tipo digital

• Las interfaces más típicas son del tipo paralelas y seriales

• Para programar el ingreso y salida de datos se emplea instrucciones en código ensamblador.

• El direccionamiento de los dispositivos de Entrada/Salida se hace mediante dos métodos:

– E/S aislada

– E/S ubicada en memoria

Page 2: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 2

La interfaz de Entrada/Salida Básica

• Instrucciones de E/S– El conjunto de instrucciones contiene un tipo de instrucción que transfiere

información a un dispositivo de E/S (OUT), y otra para leer información desde un dispositivo de E/S (IN)

– También 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 instrucción IN como la instrucción OUT transfieren datos entre un dispositivo de E/S y el acumulador del microprocesador (AL, AX o EAX).

– La dirección de E/S se almacena en el regsitro DX como una dirección de 16 bits de E/S, o en el byte (p8) inmediatamente posterior al código de operación como una dirección de 8 bits de E/S.

– Intel denomina a la forma de 8 bits (p8) como una dirección fija.

– La dirección de E/S de 16 bits en DX es llamada dirección variable, porque se almacena en DX y después se utiliza para direccionar el dispositivo de E/S.

Page 3: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 3

La interfaz de Entrada/Salida Básica

– Al transferir datos con la instrucción IN o OUT, la dirección de E/S también conocida como número de puerto ( o simplemente puerto), aparece en el bus de direcciones.

– La interfaz externa de E/S decodifica el número de puerto de la misma manera en que codifica un adirección de memoria.

– El número 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 están definidas para una instrucción 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 dirección fija, como variable, pero a cualquier dirección de E/S desde 0100h a la FFFFh se accede solamente por la dirección de E/S variable.

Page 4: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 4

La interfaz de Entrada/Salida Básica

InstrucciónAncho datos

Función

IN AL,p8 8 Transfiere un byte del puerto p8 a AL

IN AX,p8 16 Transfiere una palabra del puerto p8 a AX

IN AL,DX 8 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 8 Transfiere un byte de AL al puerto p8

OUT p8,AX 16 Transfiere una palabra de AX al puerto p8

OUT DX,AL 8 Transfiere un byte de AL al puerto direccionado por DX

OUT DX,AX 16 Transfiere una palabra de AX al puerto direccionado por DX

Instrucciones de E/S del 8086/8088

Page 5: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 5

La interfaz de Entrada/Salida Básica

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

– La técnica de transferencia más común de E/S empleada en los sistemas basados en los microprocesadores Intel.

– El término aislada describe cómo las localidades de E/S están aisladas del sistema de memoria en un espacio de dirección 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 instrucción 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.

Page 6: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 6

La interfaz de Entrada/Salida Básica

1M x 8

FFFFF

64K x 8

0000

FFFF

00000 00000

FFFFF

E/S

E/S aislada Espacio de E/S E/S ubicada en memoria

Page 7: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 7

La interfaz de Entrada/Salida Básica

Interfaces básicas de entrada y de salida

• El dispositivo básico de entrada es un conjunto de buffers de tres estados.

• El dispositivo básico de salida es un conjunto de registros transparentes de datos.

• El término IN se refiere al movimiento de datos desde un dispositivo (puerta) de E/S al microprocesador (Acumulador)

• El término OUT se refiere al movimiento de datos desde el microprocesador (Acumulador) al dispositivo (puerta) de E/S

Page 8: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 8

La interfaz de Entrada/Salida Básica• La interfaz básica de entrada

– Los buffers de tres estados son utilizados para construir el puerto de entrada de 8 bits.

– Los datos TTL externos están conectados a las entradas de los buffers

– Las salidas de los buffers están 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 señal de selección SEL’ toma el valor lógico de 0.

– De esta forma, al ejecutar la instrucción IN, el contenido de los interruptores se copia al registro AL.

– Cuando el microprocesador ejecuta una instrucción IN, la dirección del puerto de E/S se decodifica para generar un 0 lógico 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 conexión de salida de datos (Y). Un 1 lógico lleva al dispositivo al modo de tercer estado que desconecta los interruptores del bus de datos.

Page 9: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 9

La interfaz de Entrada/Salida Básica

• Características del Buffer 3-State 74LS244

Page 10: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 10

La interfaz de Entrada/Salida Básica

V cc= 5.0 vo lts

10 K

1A 1

1A 2

1A 3

1A 4

2A 1

2A 2

2A 3

2A 4

1G2G

1Y11Y21Y3

1Y4

2Y1

2Y2

2Y32Y4

74ALS 244

BUSdeD atos

Page 11: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 11

La interfaz de Entrada/Salida Básica

• La interfaz básica de salida– Acepta datos desde el microprocesador y por lo general, debe

mantenerlos para algún dispositivo externo

– Sus registros o biestables, al igual que los buffers del dispositivo de entrada, frecuentemente están integrados en el dispositivo de E/S

– En la figura siguiente se aprecia una conexión de 8 LED’s conectados al microcomputador a través de la interfaz 74ALS374.

– El biestable almacena el número al que da salida el microprocesador por el bus de datos, de manera que los LED’s puedan encenderse con cualquier número binario de 8 bits.

– Los biestables son requeridos para mantener los datos, porque cuando el microprocesador ejecuta una instrucción OUT, los datos están presentes en el bus de datos únicamente por menos de 1.0 useg. Sin un biestable, el observador nunca vería la iluminación de los LED’s

– Al ejecutar la instrucción OUT, los datos de AL o AX se transfieren al registro por medio del bus de datos

– Cada vez que se ejecuta la instrucción OUT, se activa la señal SEL’ al registro

Page 12: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 12

La interfaz de Entrada/Salida Básica

• Características del Latch tipo D 3-State 74LS374

Page 13: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 13

La interfaz de Entrada/Salida BásicaVcc= 5.0 volts

Q0

Q1

Q2

Q3

Q4

Q5

Q6

Q7

D0

D1

D2

D3

D4

D5

D6

D7

74ALS374

U

OC

> CLK

330

Busde

Datos

SEL

Page 14: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 14

La interfaz de Entrada/Salida Básica

• Protocolo con respuesta– Muchos dispositivos de E/S admiten o liberan información a una

velocidad mucho menor que el microprocesador

– Otro método 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 característico es la conexión 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 lógico 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 lógico.

Page 15: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 15

La interfaz de Entrada/Salida Básica

• Protocolo con respuesta– El siguiente es un programa básico de encuesta para determinar si

BUSY esta ocupado o no.

– 0000 IN AL,BUSY

– 0002 TEST AL,BUSY_BIT

– 0004 JNE 0000

– 0006 MOV AL,BL

– 0008 OUT PRINTER,AL

– 000A END

Page 16: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 16

La interfaz de Entrada/Salida Básica

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

Page 17: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 17

La interfaz de Entrada/Salida Básica

• Decodificación de dirección de un puerto de E/S

– La decodificación de un puerto de E/S es muy parecida a la decodificación de dirección de un banco de memoria

– La única diferencia está en que para una memoria de usan las líneas de dirección A19-A0, mientras que en E/S aislada se usa sólo A15-A0

– Generalmente se emplea un Decodificador para habilitar a los distintos puertos mediante la acción de las señales provenientes de las líneas de direcciones

– El decodificador actúa de preferencia sobre los terminales de activación (G1, G2 , SEL’, SEL1’, etc) del circuito que controla el puerto de E/S.

– Las características de los decodificadores varían de acuerdo a la forma en que se desee controlar el puerto.

Page 18: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 18

La interfaz de Entrada/Salida Básica• 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 habilitación, G1, G2A y G2B

Y0

Y1

Y2

Y3

Y4

Y5

Y6

Y7

ABC

G 1

G 2A

74ALS 138

U

G 2B

Page 19: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 19

La interfaz de Entrada/Salida Básica• Características del decodificador Binario 74LS138 de 3 a 8 líneas

Page 20: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 20

La interfaz de Entrada/Salida BásicaDecodificador de 8 bits F0h a F7h

A7 A6 A5 A4 A3 A2 A1 A0 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 DIRECCION

1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 F0

1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 F1

1 1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 F2

1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 F3

1 1 1 1 0 1 0 0 1 1 1 0 1 1 1 1 F4

1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 F5

1 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 F6

1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 F7

Y0

Y1

Y2

Y3

Y4

Y5

Y6

Y7

ABC

G1

G2 A

74ALS138

U

G2 B

A 0

A 1A 2

A 4

A 3

A 5

A 6

A 7

F0 '

F1 'F2 '

F3 'F4 'F5 '

F6 'F7 '

Page 21: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 21

La interfaz de Periférica Programable (PPI)

• La PPI (interfaz periférica 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 operación ( 0, 1 y 2).

• En la PC, un 82C55 o su equivalente es decodificado en la dirección 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 líneas de E/S (byte)

• Polarización Vcc= + 5.0 volts C.C.

Page 22: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 22

La interfaz de Periférica Programable (PPI) 8255

Page 23: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 23

Page 24: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 24

La interfaz de Periférica Programable (PPI)

PA 0

PA 1

PA 2

PA 3

PA 4

PA 5

PA 6

PA 7

PB0

PB1

PB2

PB3

PB4

PB5

PB6

PB7

PC0

PC1

PC2

PC3

PC4

PC5

PC6

PC7

D0

D1

D2

D3

D4

D5

D6

D7

RDW RA 0

CS

82C55

RESET

A 1

PUERTA - A

PUERTA -B

PUERTA -C

BUSDE

DATOS

CONTROL

GRUPO – A

PUERTA A (PA7 – PA0)

Mitad Superior PUERTA C

(PC7 – PC4)

GRUPO – B

PUERTA B (PB7 – PB0)

Mitad Inferior PUERTA C

(PC3 – PC0)

A1 A0 Función

0 0 Puerto A

0 1 Puerto B

1 0 Puerto C

1 1 Registro de Comando

VCCGND

Page 25: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 25

La interfaz de Periférica Programable (PPI)

Descripción de los pines del 82C55

• Vcc

Terminal de polarización positivo de + 5 volts C.C.

• GND

Terminal de tierra del circuito integrado.

• D7 – D0

Bus de datos de líneas bidireccionales con lógica de tres estados

• RESET

Un 1 lógico en esta terminal borra el contenido del registro de control y todas las puertas son puestas a modo 0 y en configuración de entrada.

Page 26: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 26

La interfaz de Periférica Programable (PPI)

Descripción de los pines del 82C55

• CS

Chip Select. Un 0 lógico puesto en este terminal habilita la comunicación entre el 82C55 y el Bus de Datos.

• RD

Terminal de control de Lectura. Una señal de nivel 0 lógico puesto en este terminal permite leer el estado de la PPI o los datos enviados vía el Bus de Datos al acumulador del microprocesador.

• WR

Terminal de control de Escritura. Una señal de nivel 0 lógico puesto en este terminal permite cargar la programación y enviar datos vía el Bus de Datos a la PPI desde el acumulador del microprocesador.

Page 27: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 27

La interfaz de Periférica Programable (PPI)Descripción de los pines del 82C55

• A1 - A0

Terminales de dirección. Estas señales de entrada, en conjunto con las señales de control RD y WR, controlan la selección 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 líneas que se configuran como entradas o salidas.

• PB7 – PB0

Puerta B. Posee 8 líneas que se configuran como entradas o salidas.

• PC7 – PC0

Puerta C. Posee 8 líneas que se configuran como entradas o salidas.

Page 28: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 28

La interfaz de Periférica Programable (PPI)

Operación Básica de Control de la 82C55

A1 A0 RD WR CS OPERACION

0 0 0 1 0 PUERTA A -> DATA BUS

0 1 0 1 0 PUERTA B -> DATA BUS

1 0 0 1 0 PUERTA C -> DATA BUS

0 0 1 0 0 DATA BUS -> PORT A

0 1 1 0 0 DATA BUS -> PORT B

1 0 1 0 0 DATA BUS -> PORT C

1 1 1 0 0 DATA BUS -> CONTROL

X X X X 1 DATA BUS -> 3 STATE

1 1 0 1 0 ERROR

X X 1 1 0 DATA BUS -> 3 STATE

Page 29: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 29

La interfaz de Periférica Programable (PPI)

7 6 5 4 3 2 1 0

1 X X X X X X X

Byte de Comando A

Puerto C (PC3 – PC0)

1 = entrada 0 = salida

Puerto B

1 = entrada 0 = salida

MODO

0 = Modo 0 1 = Modo 1

Puerto C (PC7 – PC4)

1 = entrada 0 = salida

Puerto A

1 = entrada 0 = salida

MODO

00 = Modo 0 01 = Modo 1

1X = Modo 2

GRUPO A

GRUPO B

Activa la opción de Bit Set/Reset

1 = inactivo

0 = activo

Page 30: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 30

La interfaz de Periférica Programable (PPI)

7 6 5 4 3 2 1 0

0 X X X

Byte de Comando B (Bit Set/Reset)

Establecimiento/restauración de bit

1 = establece

0 = restaura

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

Page 31: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 31

La interfaz de Periférica Programable (PPI)

Programación de la PPI

• De acuerdo al Byte de Comando, se programan los Modos y la Configuración de las Puertas

• Ejemplo 01:7 6 5 4 3 2 1 0

1 0 0 0 0 0 0 0

Bit 7 : habilita byte de comandoBit 7 : habilita byte de comando

Bites 6 y 5 : señalan Modo 0 al grupo ABites 6 y 5 : señalan Modo 0 al grupo A

Bit 4 : puerta A en configuración de salidaBit 4 : puerta A en configuración de salida

Bit 3 : mitad superior de puerta C en configuración de salidaBit 3 : mitad superior de puerta C en configuración de salida

Bit 2 : señala Modo 0 al grupo BBit 2 : señala Modo 0 al grupo B

Bit 1 : puerta B en configuración de salidaBit 1 : puerta B en configuración de salida

Bit 0 : mitad inferior de puerta C en configuración de salidaBit 0 : mitad inferior de puerta C en configuración de salida

Page 32: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 32

La interfaz de Periférica Programable (PPI)

Programación de la PPI

• De acuerdo al Byte de Comando, se programan los Modos y la Configuración de las Puertas

• Ejemplo 02:7 6 5 4 3 2 1 0

1 0 0 1 0 0 0 1

Bit 7 : habilita byte de comandoBit 7 : habilita byte de comando

Bites 6 y 5 : señalan Modo 0 al grupo ABites 6 y 5 : señalan Modo 0 al grupo A

Bit 4 : puerta A en configuración de entradaBit 4 : puerta A en configuración de entrada

Bit 3 : mitad superior de puerta C en configuración de salidaBit 3 : mitad superior de puerta C en configuración de salida

Bit 2 : señala Modo 0 al grupo BBit 2 : señala Modo 0 al grupo B

Bit 1 : puerta B en configuración de salidaBit 1 : puerta B en configuración de salida

Bit 0 : mitad inferior de puerta C en configuración de entradaBit 0 : mitad inferior de puerta C en configuración de entrada

Page 33: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 33

La interfaz de Periférica Programable (PPI)

Programación de la PPI

• De acuerdo al Byte de Comando, se programan los Modos y la Configuración de las Puertas

• Ejemplo 03:7 6 5 4 3 2 1 0

1 0 1 0 X 0 0 X

Bit 7 : habilita byte de comandoBit 7 : habilita byte de comando

Bites 6 y 5 : señalan Modo 1 al grupo ABites 6 y 5 : señalan Modo 1 al grupo A

Bit 4 : puerta A en configuración de salidaBit 4 : puerta A en configuración de salida

Bit 3 : mitad superior de puerta C don’t careBit 3 : mitad superior de puerta C don’t care

Bit 2 : señala Modo 0 al grupo BBit 2 : señala Modo 0 al grupo B

Bit 1 : puerta B en configuración de salidaBit 1 : puerta B en configuración de salida

Bit 0 : mitad inferior de puerta C don’t careBit 0 : mitad inferior de puerta C don’t care

Page 34: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 34

La interfaz de Periférica Programable (PPI)

Programación de la PPI

• De acuerdo al Byte de Comando, se programan los Modos y la Configuración de las Puertas

• Ejemplo 04:7 6 5 4 3 2 1 0

1 0 1 1 X 1 0 X

Bit 7 : habilita byte de comandoBit 7 : habilita byte de comando

Bites 6 y 5 : señalan Modo 1 al grupo ABites 6 y 5 : señalan Modo 1 al grupo A

Bit 4 : puerta A en configuración de entradaBit 4 : puerta A en configuración de entrada

Bit 3 : mitad superior de puerta C don’t careBit 3 : mitad superior de puerta C don’t care

Bit 2 : señala Modo 1 al grupo BBit 2 : señala Modo 1 al grupo B

Bit 1 : puerta B en configuración de salidaBit 1 : puerta B en configuración de salida

Bit 0 : mitad inferior de puerta C don’t careBit 0 : mitad inferior de puerta C don’t care

Page 35: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 35

La interfaz de Periférica Programable (PPI)

Programación de la PPI

• De acuerdo al Byte de Comando, se programan los Modos y la Configuración de las Puertas

• Ejemplo 05:7 6 5 4 3 2 1 0

1 1 X X X 1 0 X

Bit 7 : habilita byte de comandoBit 7 : habilita byte de comando

Bites 6 y 5 : señalan Modo 2 al grupo ABites 6 y 5 : señalan Modo 2 al grupo A

Bit 4 : puerta A en configuración de entrada y salidaBit 4 : puerta A en configuración de entrada y salida

Bit 3 : mitad superior de puerta C don’t careBit 3 : mitad superior de puerta C don’t care

Bit 2 : señala Modo 1 al grupo BBit 2 : señala Modo 1 al grupo B

Bit 1 : puerta B en configuración de salidaBit 1 : puerta B en configuración de salida

Bit 0 : mitad inferior de puerta C don’t careBit 0 : mitad inferior de puerta C don’t care

Page 36: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 36

La interfaz de Periférica Programable (PPI)

Programación de la PPI

• De acuerdo al Byte de Comando, se programan los Modos y la Configuración de las Puertas

• Ejemplo 06:7 6 5 4 3 2 1 0

1 1 X X X 1 0 X

Bit 7 : habilita byte de comandoBit 7 : habilita byte de comando

Bites 6 y 5 : señalan Modo 2 al grupo ABites 6 y 5 : señalan Modo 2 al grupo A

Bit 4 : puerta A en configuración de entrada y salidaBit 4 : puerta A en configuración de entrada y salida

Bit 3 : mitad superior de puerta C don’t careBit 3 : mitad superior de puerta C don’t care

Bit 2 : señala Modo 1 al grupo BBit 2 : señala Modo 1 al grupo B

Bit 1 : puerta B en configuración de salidaBit 1 : puerta B en configuración de salida

Bit 0 : mitad inferior de puerta C don’t careBit 0 : mitad inferior de puerta C don’t care

Page 37: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 37

La interfaz de Periférica Programable (PPI)

• 82C55 : Modo de Operación 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 método más típico en la programación.

Page 38: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 38

La interfaz de Periférica Programable (PPI)

LABORATORIO : MICROCOMPUTADORES E INTERFACES

EXPERIENCIA : Transmisión y recepción de datos.

OBJETIVOS :

• Entender la manera como la CPU envía y recibe datos desde otros dispositivos

• Aprender a programar una Interfaz Programable Periférica PPI.

• Detectar un número de pulsos y desplegarlos por visores numéricos

Page 39: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 39

La interfaz de Periférica Programable (PPI)

• Las direcciones empleadas para la PPI del Entrenador MTS-88C son las siguientes:

DIR Función

1 0 Puerto A

1 1 Puerto B

1 2 Puerto C

1 3 Registro de Comando

Page 40: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 40

La interfaz de Periférica Programable (PPI)

Características del transceptor 74LS245

Page 41: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 41

La interfaz de Periférica Programable (PPI)

Transmisión de datos desde acumulador a puerta B

PA 0PA 1

PA 2

PA 3

PA 4PA 5PA 6

PA 7

PB 0PB 1

PB 2

PB 3

PB 4PB 5

PB 6

PB 7

PC 0PC 1

PC 2PC 3

PC 4PC 5

PC 6

PC 7

23

45

678

9

1011

1213

14

15

1617

1819

2021

222324

25

4039

3837

36

35

3433

32

31

302928

27

26

1

IR 7

IR 5

IR 2

IR 6

IR 3IR 4

IR 1

IR 0

C K 1

OU T 2

OU T 1

GA T 2

GA T 1PC L K

VC C

GN D

IN TER FA Z D ELM IC R OP

.L S245

D IR VC C

G GN D

1

2

3

4

5

6

7

8

9

19

20

18

17

16

15

14

13

12

11

10

D ISPL A Y D E L ED ´S D EL D IGIL A B+ 5 v C .C

Page 42: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 42

La interfaz de Periférica Programable (PPI)

Diagrama de FlujoInicio

Programar 82C55

Modo 0 Puerta B de salida

Mueve dato a AL

Escribe AL a puerta B

Fin

Page 43: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 43

La interfaz de Periférica Programable (PPI)

Programa

0000:0400 MOV AL,80 ; carga AL con byte de control

0000:0402 OUT 13,AL ; se selecciona Modo 0 y configura puerta B como salida

0000:0404 MOV AL,FF ; carga AL con FFh

0000:0406 OUT 11,AL ; escribe a la puerta B

0000:0408 HLT ; detenga programa

Page 44: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 44

La interfaz de Periférica Programable (PPI)

PA 0PA 1

PA 2

PA 3

PA 4PA 5

PA 6

PA 7

PB 0PB 1

PB 2

PB 3

PB 4PB 5

PB 6

PB 7

PC 0PC 1

PC 2

PC 3

PC 4PC 5

PC 6

PC 7

23

4

5

6

7

8

9

10

1112

13

1415

16

171819

20

21

222324

25

4039

3837

36

35

34

33

32

31

302928

27

26

1

IR 7

IR 5

IR 2

IR 6

IR 3IR 4

IR 1

IR 0

C K 1

OU T 2

OU T 1

GA T 2

GA T 1PC L K

VC C

GN D

IN TER F AZ D EL

M IC R OP. L S245

D IR VC C

G GN D

1

2

3

4

5

6

7

8

9

19

20

18

17

16

15

14

13

12

11

10

IN TER R U PTOR ES D EL D IGIL A B

+ 5 v C .C0 0

1 1 1 1 1 1 1 1

0 0 0 0 0 0

Recepción de datos en el acumulador desde puerta B

Page 45: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 45

La interfaz de Periférica Programable (PPI)

Inicio

Programar 82C55

Modo 0 Puerta B de entrada

Lee dato desde puerta B

Fin

Diagrama de Flujo

Page 46: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 46

La interfaz de Periférica Programable (PPI)

Programa

0000:0400 MOV AL,82 ; carga AL con byte de control

0000:0402 OUT 13,AL ; se selecciona Modo 0 y configura puerta B como entrada

0000:0404 IN al,11 ; lee puerta B

0000:0406 HLT ; detiene programa

Page 47: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 47

La interfaz de Periférica Programable (PPI)

abcdefg.

Gnd

MAN74A

abcdefg.

Gnd

MAN74A

B1C2LT3RGO4RGI5D6A7NC8 e9

d10c11b12a13g14f15

VCC16

DECODER 7448

+5V

245

DIR1A12A23A34A45A56A67A78A89EN19 GND10

B811B712B613B514B415B316B217B118

VCC20

IR740IR639IR538IR437IR336IR235IR134IR033

CK132OUT231OUT130GAT229GAT128PCLK27VCC26GND1

PC725PC624PC523PC422PC321PC220PC119PC018

PB717PB616PB515PB414PB313PB212PB111PB010

PA79PA68PA57PA46PA35PA24PA13PA02

B1C2LT3RGO4RGI5D6A7NC8 e9

d10c11b12a13g14f15

VCC16

DECODER 7448

4.7K

Detección por pulsos

Page 48: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 48

La interfaz de Periférica Programable (PPI)

Inicio

Programar 82C55

Modo 0 Puerta A de entrada

Puerta B de salida

Escribe AL a puerta B

Borre AX

Lee puerta A

Retardo de tiempo

PA0 = 1

Diagrama de Flujo

Page 49: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 49

La interfaz de Periférica Programable (PPI)

Programa0000:0400 XOR AX,AX ; borra AX

0000:0402 MOV AL,90 ; carga AL con byte de control

0000:0404 OUT 13,AL ; saca byte de control a puerta Control

0000:0406 IN AL,10 ; lee puerta A

0000:0408 TEST AL,01 ; chequea estado del switch

0000:040B JNE 0406 ; si switch está abierto rechequea

0000:040D INC AH ; AH=AH+1

0000:040F MOV AL,AH

0000:0411 OUT 11,AL ; escribe a puerta B

0000:0413 MOV CX,0010 ; pone retardo de tiempo

0000:0416 MOV BX,0500

0000:0419 DEC BX ; BX=BX-1

0000:041A JNE 0419 ; salta a dirección 0419 si BX≠0

0000:041C LOOP 0416 ; ejecuta ciclo si CX≠0

0000:041E JMP 0406 ; salta a dirección 0406

0000:0421 HLT ; detiene programa

Page 50: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 50

La interfaz de Periférica Programable (PPI)

• 82C55 : Modo de Operación 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 también es empleado en el modo de operación 1, no para datos, sino para señales de control o de respuesta que ayudan en la operación 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 señal de reloj STB’.

– El puerto captura los datos durante la transición de 0 a 1 del pulso STB’

– La señal STB’, activa las señales de buffer de entrada lleno IBF y de solicitud de interrupción 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 instrucción IN para leer el puerto (RD’)

– Al leer el puerto, se restituyen a sus estados inactivos tanto IBF e INTR.

Page 51: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 51

La interfaz de Periférica Programable (PPI)

Definiciones de señal para entrada controlada por pulsos en modo 1• STB’

– La entrada pulso (strobe) carga datos al registro del puerto, el cual mantiene la información hasta que es transferida al microprocesador por medio de la instrucción IN.

• IBF– Buffer de entrada lleno es una salida que indica que el registro de entrada

contiene información.• INTR

– Solicitud de interrupción es una salida que solicita una interrupción de hardware al microprocesador. La terminal INTR asume un estado de 1 lógico cuando la entrada STB’ regresa al valor de 1 lógico, y es restituida cuando el dato es transferido desde el puerto al microprocesador.

• INTE– La señal de habilitación de interrupción no es una entrada ni salida; es un

bit interno programado por medio de la posición PC4 (puerto A) o PC2 (puerto B)

• PC7, PC6– Terminales 7 y 6 de E/S, son de propósitos generales y disponibles.

Page 52: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 52

La interfaz de Periférica Programable (PPI)

PC4

PC5

PC3

INTEA

PC6+7

Puerto A

STBA

IBFA

INTRA

E/S

PC2

PC1

PC0

INTEB

Puerto B

STBB

IBFB

INTRB

Puertos A y B (entrada) en Modo 1

RDRD

Byte de Control

D7 D6 D5 D4 D3 D2 D1 D0

1 0 1 1 X X X X

Byte de Control

D7 D6 D5 D4 D3 D2 D1 D0

1 X X X X 1 1 X

Page 53: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 53

Operación de entrada controlada por pulsos (Modo 1)

STB

IBF

INTR

RD

PUERTO

Dato de entrada escrito al puerto Dato leído por microprocesador

Buffer lleno

Interrupción solicitada

Page 54: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 54

La interfaz de Periférica Programable (PPI)

Ejemplo de un procedimiento donde el microprocesador lee un carácter ASCII que ingresa por la puerta A

MOV AL,BC ; pone byte de control

MOV DX,13 ; pone dirección de Control

OUT DX,AL ;

READ_C MOV DX,12 ; obtiene dirección de puerta C

IN AL,DX ; obtiene estado de puerta C

TEST AL,00100000 ; chequea si IBF = 1 (PC5)

JZ READ_C ; si IBF = 0 vuelve a chequear

MOV DX,10 ; obtiene dirección de puerta A

IN AL,DX ; ingresa ASCII de puerta A a AL

MOV [0200],AL ; salva dato en dirección de memoria

HLT

Page 55: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 55

La interfaz de Periférica Programable (PPI)

82C55 : Modo de Operación 1 salida controlada por pulso• Su operación es parecida a la de entrada controlada por pulsos en

modo 0, excepto que se incluyen señales de control para proporcionar respuesta.

• Siempre que se escriben datos a un puerto programado como puerto de salida controlado por pulsos, la señal buffer de salida lleno, OBF’, asume el estado de 0 lógico para indicar la existencia de datos en el registro del puerto.

• Esta señal indica a un dispositivo externo de E/S que hay datos disponibles.

• El dispositivo externo responde al puerto que ha leído los datos del registro del puerto, activando la entrada de reconocimiento, ACK’, del puerto.

• La señal ACK’ restituye la señal OBF’ a 1 lógico, indicando que el buffer está desocupado.

Page 56: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 56

La interfaz de Periférica Programable (PPI)

Definiciones de señal 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 señal es restituída a 1 lógico siempre que el pulso ACK’ es retornado desde un dispositivo externo.

• ACK’– La señal de reconocimiento ocasiona que la terminal OBF’

regrese al nivel lógico de 1. La señal ACK’ indica que el dispositivo externo recibio el dato.

• INTR– La solicitud de interrupción es una señal que freceuntemente

interrumpe al microprocesador cuando el dispositivo externo recibe el dato por medio de la señal ACK’. Esta terminal es calificada por el bit interno de habilitación de interrupción (INTE).

Page 57: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 57

La interfaz de Periférica Programable (PPI)

Definiciones de señal para salida controlada por pulsos en modo 1

• INTE– La señal de habilitación de interrupción 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

propósito general. El comando de establecimiento y restauración puede ser usado para controlar estas terminales.

Page 58: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 58

La interfaz de Periférica Programable (PPI)

PC7

PC6

PC3

INTEA

PC4+5

OBFA

ACKA

INTRA

E/S

PC1

PC2

PC0

INTEB OBFB

ACKB

INTRB

Puertos A y B (salida) en Modo 1

RDRD

Byte de Control

D7 D6 D5 D4 D3 D2 D1 D0

1 0 1 0 X X X X

Byte de Control

D7 D6 D5 D4 D3 D2 D1 D0

1 X X X X 1 0 X

Puerto A Puerto B

Page 59: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 59

Operación de salida controlada por pulsos (Modo 1)

WR

OBF

INTR

ACK

PUERTO

Dato enviado al puerto Dato extraído del puerto

Buffer lleno

Interrupción solicitada

Page 60: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 60

Operación de salida controlada por pulsos (Modo 1)

Ejemplo de un procedimiento donde el microprocesador saca un carácter ASCII que ingresa por la puerta B

MOV AL,0BC ; pone byte de controlMOV DX,13 ; pone dirección de ControlOUT DX,AL ;DEC DX ; DX = DX-1

READ_C IN AL,DX ; obtiene estado de puerta CTEST AL,00000010 ; chequea si OBF = 1 (PC2)JZ READ_C ; si OBF = 0 vuelve a chequearMOV DX,11 ; obtiene dirección de puerta BMOV AL,[0200] ; carga ASCII de memoria a ALOUT DX, AL ; ingresa dato acumulador a puerta BHLT

Page 61: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 61

La interfaz de Periférica 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

Page 62: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 62

La interfaz de Periférica Programable (PPI)

PA7 – PA0

PC4

PC5

PC6 – PC7

PC3

PB7 – PB0

PC1

PC2

PC0

STBA’

IBFA

INTRA

INTRB

OBFB’

ACKB’

I/O

PA7 – PA0

PC7

PC6

PC4 – PC5

PC3

PB7 – PB0

PC2

PC1

PC0

STBB’

IBFB

INTRA

INTRB

OBFA’

ACKA’

I/O

Combinaciones de Modo 1

Page 63: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 63

PAR TID A

C O NFIGUR AR PP IMO D O 0

PO R T B SALID A

FLAG C O NTR O L D EMO TO R

SALID A PO R T B

R ETAR D O D E TIEMPO

GUAR D A AX EN STAC K

LEE TEC LAD O

TEC LA "G" TEC LA "S "

MO D O MO VIMIENTO

PO P AX

FLAG ?

R O R AL,01

MO D O PAR AD A

Y

TEC LAD O

Y

Y

Y

N

N

N

N

Page 64: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 64

A.- CONTROL BASICO DEL MOTOR PASO A PASO0000:0400 MOV AL, 80 ; carga acumulador con programación de PPI en modo 00000:0402 OUT 13 , AL ; escribe byte a puerta de control0000:0404 MOV BL , 02 ; carga Flag en BL0000:0406 MOV AL , 66 ; carga Acumulador con código de rotar.0000:0408 OUT 11 , AL ; escribe byte del Acumulador a puerta B0000:040A CALL 042E ; llama a rutina de retardo de tiempo0000:040D PUSH AX ; guarda contenido de registro AX en Stack0000:040E IN AL , 21 ; lee Registro de Estado del Teclado0000:0410 TEST AL , 0F ; verifica si hay tecla presionada0000:0413 JZ 0423 ; si no hay tecla presionada salta a la dirección 04230000:0415 IN AL , 20 ; lee registro de datos del teclado0000:0417 CMP AL , D0 ; verifica si es tecla = “G”0000:0419 JNZ 041D ; si no es tecla =”G”, salte a 041D0000:041B MOV BL , 01 ; ponga Flag para rotación del motor0000:041D CMP AL , DC ; verifica si es tecla = “S”0000:041F JNZ 0423 ; si no es tecla =”S”, salte a 04230000:0421 MOV BL , 02 ; ponga Flag para detener al motor0000:0423 POP AX ; recupera de Stack, contenido AX 0000:0424 CMP BL , 01 ; verifica Flag de rotación del motor0000:0427 JNZ 0408 ; si no Flag, salta a 04080000:0429 ROR AL , 01 ; rota byte de Al un bit a la derecha0000:042B JMP 0408 ; salta a dirección 04080000:042E MOV CX , 0200 ; rutina de retardo de tiempo0000:0431 NOP0000:0432 LOOP 04310000:0434 RET ; retorno de instrucción CALL

Page 65: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 65

CONTROL BÁSICO DEL MOTOR PASO A PASO

0400 MOV AL, 80 MOV BL, 01

OUT 13 , AL 041D CMP AL, DC

MOV BL , 02 JNZ 0423

MOV AL , 66 MOV BL, 02

0408 OUT 11 , AL 0423 POP AX

CALL 042E CMP BL, 01

PUSH AX JNZ 0408

IN AL , 21 ROR AL, 01

TEST AL , 0F JMP 0408

JZ 0423 042E MOV CX, 0200

IN AL , 20 0431 NOP

CMP AL , D0 LOOP 0431

JNZ 041D RET

Page 66: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 66

0000:0400 MOV AL,80 ; carga acumulador con byte de programación de PPI en modo 00000:0402 OUT 13,AL ; escribe byte a puerta de control0000:0404 MOV BL,01 ; carga Flag en BL0000:0406 MOV AL,66 ; carga Acumulador con código a rotar0000:0408 OUT 11,AL ; escribe byte a puerta B0000:040A PUSH AX ; guarda registro AX en Stack0000:040B IN AL,21 ; lee registro de teclado0000:040D TEST AL,0F ; verifica si hay tecla presionada0000:0410 JE 041C ; no tecla presionada salta a 041C0000:0412 IN AL,20 ; lee registro de datos del teclado0000:0414 CMP AL,DD ; verifica si es tecla = “T”0000:0416 JE 0426 ; si no es tecla =”T”, salte a 04260000:0418 CMP AL,D7 ; verifica si es tecla = “N”0000:041A JE 0420 ; si no es tecla =”N”, salte a 04200000:041C POP AX ; recupera de Stack, contenido AX0000:041D JMP 0408 ;0000:0420 POP AX ; recupera de Stack, contenido AX 0000:0421 ROR AL,01 ; rota Al un bit a la derecha0000:0423 JMP 0408 ;0000:0426 MOV CX,00C8 ; pone contador en CX0000:0429 ROR AL,01 ; rota Al un bit a la derecha0000:042B OUT 11,AL ;0000:042D CALL 0435 ; llama rutina de retardo0000:0430 LOOP 0429 ;0000:0432 JMP 0408 ;0000:0435 PUSH CX ; guarda registro CX en stack0000:0436 MOV CX,0200 ; pone contador en CX0000:0439 NOP ;0000:043A LOOP 0439 ;0000:043C POP CX ; recupera de Stack, contenido CX0000:043D RET ; retorno de instrucción CALL

Control de la rotación y movimiento paso del motor

Page 67: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 67

CONTROL BÁSICO DEL MOTOR PASO A PASO

0400 MOV AL, 80 0420 POP AX

OUT 13 , AL ROR AL, 01

MOV BL , 01 JMP 0408

MOV AL , 66 0426 MOV CX, 00C8

0408 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 0408

IN AL , 20 0435 PUSH CX

CMP AL , DD MOV CX, 0200

JZ 0426 0439 NOP

CMP AL, D7 LOOP 0439

JZ 0420 POP CX

041C POP AX RET

JMP 0408 HLT

Page 68: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 68

La interfaz de Periférica Programable (PPI)

82C55 : Operación bidireccional en modo 2

• En el modo 2, permitido solamente con el grupo A, el puerto A se convierte en bidireccional, permitiendo la transmisión y recepción de datos a través de los mismos ocho conductores.

• Los buses bidireccionales de datos son útiles para interconectar a dos computadoras

Page 69: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 69

La interfaz de Periférica Programable (PPI)

Definiciones de señal para el modo 2 bidireccional

• INTR– Solicitud de interrupción es una salida utilizada para interrumpir al

microprocesador para ambas condiciones de entrada y de salida.

• OBF’– Buffer de salida lleno es una salida que indica que el buffer de salida

contiene un dato para el bus bidireccional.

• ACK’– 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 lógico, los buffers de salida del puerto A están 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.

Page 70: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 70

La interfaz de Periférica Programable (PPI)

Definiciones de señal 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– Habilitación de interrupción 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 propósito general en el modo 2

controlados por los comandos de establecimiento y restauración de bits.

Page 71: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 71

La interfaz de Periférica Programable (PPI)

PC6

PC7

PC5

PC4

I N TE

I N TE

1

2

I NTR

OBF

STB

AC K

I BF

E/ S

PUERTO A

PC3

PC2 - PC0

Page 72: Capitulo III - Interfaz Paralela

Microcomputadores e Interfaces 72

La interfaz de Periférica Programable (PPI)

W R

OBF

I NTR

ACK

STB

I BF

PORT A

RD

Dato alm acenado en el puerto A

Dato de salida (OUT) al puerto A Dato leído del puerto A

Dato de entrada ( I N) desde el puerto A

Diagrama de tiempos en modo 2