Professional Documents
Culture Documents
OBJETIVO: Nuestro primer objetivo es el de poder ver el funcionamiento del TRAINER conjuntamente con el PPI y debemos de aadir un circuito para ver dicho funcionamiento que ser una matriz de leds de 1x8 juntamente con los TTL 74245 En este laboratorio realizaremos un programa que rote el encendido de los leds de izquierda a derecha dependiendo del estado de un interruptor. MATERIALES: Los materiales que utilizaremos sern los siguientes: MARCO TEORICO: CARACTERISTICAS DEL MICROPROCESADOR 8088 UN PROTOBOART 8 LEDS UN INTERRUPTOR 2 TTL 74245 UNA FUENTE SIMETRICA CABLES
Este microprocesador est encapsulado en el formato DIP (Dual Inline Package) de 40 patas (veinte de cada lado). La distancia entre las patas es de 0,1 pulgadas (2,54 milmetros), mientras que la distancia entre patas enfrentadas es de 0,6 pulgadas (15,32 milmetros). Ntese en el grfico el semicrculo que identifica la posicin de la pata 1. Esto sirve para no insertar el chip al revs en el circuito impreso. El 8086/8088 puede conectarse al circuito de dos formas distintas: el modo mximo y el modo mnimo. El modo queda determinado al poner un determinado terminal (llamado MN/MX) a tierra o a la tensin de alimentacin. El 8086/8088 debe estar en modo mximo si se desea trabajar en colaboracin con el Procesador de Datos Numrico 8087 y/o el Procesador de Entrada/Salida 8089 (de aqu se desprende que en la IBM PC el 8088 est en modo mximo). En este modo el 8086/8088 depende de otros chips adicionales como el Controlador de Bus 8288 para generar el conjunto completo de seales del bus de control. El modo mnimo permite al 8086/8088 trabajar de una forma ms autnoma (para circuitos ms sencillos) en una manera casi idntica al microprocesador 8085. Los 40 pines del 8088 en modo mnimo tienen las siguientes funciones: 1. GND (Masa) 2. A14 (Bus de direcciones) 3. A13 (Bus de direcciones) 4. A12 (Bus de direcciones) 5. A11 (Bus de direcciones) 6. A10 (Bus de direcciones) 7. A9 (Bus de direcciones) 8. A8 (Bus de direcciones) 9. AD7 (Bus de direcciones y datos) 10. AD6 (Bus de direcciones y datos) 11. AD5 (Bus de direcciones y datos) 12. AD4 (Bus de direcciones y datos) 13. AD3 (Bus de direcciones y datos) 14. AD2 (Bus de direcciones y datos)
AD1 (Bus de direcciones y datos) AD0 (Bus de direcciones y datos) NMI (Entrada de interrupcin no enmascarable) INTR (Entrada de interrupcin enmascarable) CLK (Entrada de reloj generada por el 8284) GND (Masa) RESET (Para inicializar el 8088) READY (Para sincronizar perifricos y memorias lentas) /TEST /INTA (El 8088 indica que reconoci la interrupcin) ALE (Cuando est uno indica que salen direcciones por AD, en caso contrario, es el bus de datos) /DEN (Data enable: cuando vale cero debe habilitar los transceptores 8286 y 8287 (se conecta al pin de "output enable"), esto sirve para que no se mezclen los datos y las direcciones). 27. DT/R (Data transmit/receive: se conecta al pin de direccin de los chips recin indicados). 28. IO/M (Si vale 1: operaciones con ports, si vale 0: operaciones con la memoria) 29. /WR (Cuando vale cero hay una escritura) 30. HLDA (Hold Acknowledge: el 8088 reconoce el HOLD) 31. HOLD (Indica que otro integrado quiere aduearse del control de los buses, generalmente se usa para DMA o acceso directo a memoria). 32. /RD (Cuando vale cero hay una lectura) 33. MN/MX (Cuando esta entrada est en estado alto, el 8088 est en modo mnimo, en caso contrario est en modo mximo) 34. /SSO (Junto con IO/M y DT/R esta salida sirve para determinar estados del 8088) 35. A19/S6 (Bus de direcciones/bit de estado) 36. A18/S5 (Bus de direcciones/bit de estado) 37. A17/S4 (Bus de direcciones/bit de estado) 38. A16/S3 (Bus de direcciones/bit de estado) 39. A15 (Bus de direcciones) 40. Vcc (+5V) En modo mximo (cuando se aplica +5V al pin 33) hay algunos pines que cambian de significado: 24.- QS1: Estado de la cola de instrucciones (bit 1). 25.- QS0: Estado de la cola de instrucciones (bit 0). 26.- S0: Bit de estado 0. 27.- S1: Bit de estado 1. 28.- S2: Bit de estado 2. 29.- /LOCK: Cuando vale cero indica a otros controladores del bus (otros microprocesadores o un dispositivo de DMA) que no deben ganar el control del bus. Se activa ponindose a cero cuando una instruccin tiene el prefijo LOCK. 30.- RQ/GT1: Es bidireccional y tiene la misma funcin que HOLD/HLDA en modo mnimo. 31.- RQ/GT0: Como RQ/GT1 pero tiene mayor prioridad. 34.- Esta salida siempre est a uno. Por ser este microprocesador mucho ms complejo que el 8085, tiene ms bits de estado que el recin mencionado. A ttulo informativo se detallan los bits de estado: DT/R /SSO S2 IO/M Significado S1 S0 1 0 0 0 Acceso a cdigo (instrucciones) 1 0 0 1 Lectura de memoria 1 0 1 0 Escritura a memoria 1 0 1 1 Bus pasivo (no hace nada) 0 1 0 0 Reconocimiento de interrupcin 0 1 0 1 Lectura de puerto de entrada/salida 0 1 1 0 Escritura a puerto de E/S 0 1 1 1 Estado de parada (Halt) QS1 0 0 1 1 0 1 0 1 QS0 No hay operacin Primer byte del cdigo de operacin Se vaca la cola de instrucciones Siguiente byte de la instruccin Significado
15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
Para acceder a datos en la memoria se puede utilizar cualquiera de los cuatro registros de segmento, pero uno de ellos provoca que la instruccin ocupe un byte menos de memoria: es el llamado segmento por defecto, por lo que en lo posible hay que tratar de usar dicho segmento para direccionar datos. Este segmento es el DS (registro de segmento de datos) para todos los casos excepto cuando se utiliza el registro base BP. En este caso el segmento por defecto es SS. Si se utiliza otro registro, el ensamblador genera un byte de prefijo correspondiente al segmento antes de la instruccin: CS -> 2Eh, DS -> 3Eh, ES -> 26h y SS -> 36h. El uso de estos diferentes segmentos significa que hay reas de trabajo separadas para el programa, pila y los datos. Cada rea tiene un tamao mximo de 64 KBytes. Dado que hay cuatro registros de segmento, uno de programa (CS), uno de pila (SS) y dos de datos (segmento de datos DS y segmento extra ES) el rea de trabajo puede llegar a 4 * 64 KB = 256 KB en un momento dado suponiendo que las reas no se superponen. Si el programa y los datos ocupan menos de 64 KB, lo que se hace es fijar los registros de segmento al principio del programa y luego se utilizan diferentes offsets para acceder a distintas posiciones de memoria. En caso contrario necesariamente debern cambiarse los registros de segmento en la parte del programa que lo requiera. Los registros de segmento DS, ES y SS se cargan mediante las instrucciones MOV y POP, mientras que CS se carga mediante transferencias de control (saltos, llamadas, retornos, interrupciones) intersegmento.
Patigrama y estructura interna del PPI 8255A Buffer del Bus de Datos Este buffer bidireccional de 8 bits y con la caracterstica de tener tercer estado en sus terminales se utiliza para conectar el PPI al bus de datos del sistema. Los datos son transmitidos o recibidos por el buffer a travs de las instrucciones del CPU , siendo estas de entrada o de salida. Las palabras de control y el estado de la informacin tambin se transmiten a travs del buffer. R/W y Control Lgico La funcin de este bloque es manejar todas las transferencias internas y externas relacionadas con los Datos, Control o Palabras de Estado. Acepta entradas provenientes de los buses de Control y Direcciones del CPU y emite comandos a los grupos de cont rol. CS Seleccin del chip. Un bajo en la entrada de esta terminal, habilita la comunicacin entre el 8255A y el CPU. RD Lectura. Un bajo en la entrada de esta terminal, habilita al 8255A para enviar el dato o estado de la informacin al CPU a travs del bus de datos. Esto permite al CPU leer del 8255A. WR Escritura. Un bajo en la entrada de esta terminal, habilita al CPU para escribir datos o palabras de control al 8255A. A0 y A1 Puertos de seleccin 0 y 1. Estas seales de entrada, en conjunto con las seales RD y WR, controlan la seleccin de uno de los tres puertos o los registros de la palabra de control. Normalmente se conectan a los bits menos significativos del bus de di recciones (A0 y A1). Reset Reinicializacin. Un alto en la entrada de esta terminal limpia el registro de control y todos los puertos (A, B, C) son colocados en el modo de entrada. Control de Grupo A y B La configuracin funcional de cada puerto es programado por el software del sistema. Es decir, las salidas del CPU van a la palabra de control del 8255A. La palabra de control contiene informacin tal como "modo", "bit de habilitacin", "bit de rehabil itacin", etc., que inicia la configuracin funcional del 8255A. Cada uno de los bloques de control (Grupo A y Grupo B) acepta comandos del control lgico R/W, recibe palabras de control del bus de datos interno y enva los comandos apropiados para los puertos asociados. Control de Grupo A - Puerto A y Puerto C [superior (C7 - C4)] Control de Grupo B - Puerto B y Puerto C [inferior (C3 - C0)] El registro de la palabra de control puede solamente ser escrito. No se permite la operacin de lectura de la palabra de control. Puertos A, B, C El 8255A contiene 3 puertos (A, B, C) de 8 bits cada uno. Todos pueden ser configurados en una amplia variedad de caractersticas funcionales a travs del software del sistema, pero cada uno tiene sus caractersticas especiales.
Puerto A. Una salida de datos de 8 bits latch/buffer y una entrada de datos de 8 bits latch. Puerto B. Una entrada/salida de datos de 8 bits latch/buffer y una entrada de datos de 8 bits buffer. Puerto C. Una salida de datos de 8 bits latch/buffer y una entrada de datos de 8 bits buffer nicamente. Este puerto puede ser dividido en dos puertos de 4 bi ts bajo el modo de control. Cada puerto de 4 bits contiene un latch de 4 bits y este puede ser usado para el control de las seales de estado de entrada en conjunto con los puertos A y B.
Seleccin del modo Hay tres modos bsicos de operacin que pueden ser seleccionados por el software del sistema:
Modo 0. Modo bsico de entrada/salida. Modo 1. Modo de "Strobe" de entrada/salida. Modo 2. Modo de bus bidireccional.
El modo 0 para la programacin del PPI 8255A es el modo bsico de entrada/salida. La palabra de control de programacin de modo consta de 8 bits que van desde D0 hasta D7, donde D0 es el bit menos significativo (LSB) y D7 es el bit ms significativo (MSB). Como puede observarse en la figura 6 se muestra la estructura que conforma la palabra de control de programacin del PPI 8255A.