Ejemplo de decodificación I/O • En el tercer CM de las instrucciones “IN dir” y “OUT dir”, la parte baja y la parte alta del bus de direcciones contienen la misma información (la dirección de 8-bits del puerto). • Se debe tener en cuenta esto al analizar el siguiente decodificador de direcciones:
13
Embed
Ejemplo de decodificación I/O - unsl.edu.arpmp/archivos/teoria10p1_2014.pdf · Ejemplo de decodificación I/O • En el tercer CM de las instrucciones “IN dir” y “OUT dir”,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Ejemplo de decodificación I/O• En el tercer CM de las instrucciones “IN dir” y “OUT dir”, la parte baja y la parte alta del bus
de direcciones contienen la misma información (la dirección de 8-bits del puerto).
• Se debe tener en cuenta esto al analizar el siguiente decodificador de direcciones:
Puerto de Entrada 1 1 1 1 X 1 0 0 1 1 1 1 X 1 0 0Puerto de Salida 1 1 1 1 X 0 0 1 1 1 1 1 X 0 0 1
Parte baja bus de direcciones
(dirección del puerto)
Parte alta bus de direcciones (idem)
Familia de chips diseñados para el P 8085
8212:Latch de 8-bits (usado para des-multiplexar el bus de direcciones/datos)
8355 / 8755:2K bytes ROM/EPROM2 puertos de 8 bits (configurables como I/O)
8155 / 8156:256 bytes de RAM estatica2 puertos de 8 bits1 puerto de 6 bits1 timer de 14 bits
8253: 3 timers independientes de 16-bits
8279:controlador de display/teclado
Existen otros chips de la familia 8XXX con mas funciones: comunicacion serial (8251), paralela (8255), controlador de floppy disk (8271), crt, interrupciones, etc.
El P Intel 8085: sistema mínimo con chips de la familia
Chip intel 8155/8156Contenido:
• 256 bytes de SRAM (256x8)• 2 puertos de 8 bits (PA y PB)• 1 puerto de 6 bits (PC)• 1 timer programable de 14 bits
Terminales y diagrama de bloques:
Características especiales:
• Posee Latch interno para la parte baja del bus de direcciones.
• Decodificación interna de la línea IO/M.
Chip intel 8155/8156Diagrama interno:
Ejemplo: determinación de la dirección
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0Dirección (en el mapa de IO)
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0Dirección (en el mapa de Memoria)
(IO/M=0)0 0 1 0 0 X X X 0 0 0 0 0 0 0 0 2000h SRAM del 8155
(256x8)0 0 1 0 0 X X X 1 1 1 1 1 1 1 1 20FFh
2h
Chip intel 8155/8156Registro de control:
Ejemplo: displays de 7 segmentosProblema:
• Conectar dos displays de 7 segmentos usando un puerto del 8155.
• Escribir las instrucciones necesarias para inicializar y escribir un dato en los displays.
Chip intel 8155: el Timer
• Se trata de un contador descendente de 14-bits. Cuenta los pulsos de la entrada TIMER IN.
• Entrega una onda cuadrada o un pulso, cuando se alcanza el cero (Terminal Count).
• Para programar el timer, primero se debe cargar el registro de longitud de cuenta (Count Length) de dos bytes.
• En el ejemplo anterior sería en las direcciones de I/O 24h (LSB) y 25h (MSB).
• Los bits 0-13 son la longitud de cuenta, mientras que los bits 14 y 15 determinan el modo de funcionamiento del timer:
LSBT7 T6 T5 T4 T3 T2 T1 T0 (24h)
MSBM2 M1 T13 T12 T11 T10 T9 T8 (25h)
Chip intel 8155: el Timer
Modos del Timer del 8155:
Modo 0: En este modo, la salida del timer permanece en alto por la primer mitad del conteo y va a bajo en la segunda mitad, entregando asi un ciclo de onda cuadrada. La duración del pulso esta determinada por la longitud de cuenta y por la frecuencia de clock.
Modo 1: En este modo, el valor inicial de cuenta es recargado de forma automatica al final de cada cuenta, entragando asi una onda cuadrada contínua.
Modo 2: En este modo, un pulso único es entregado al final del conteo (con una duración de un clock).
Modo 3: Similar al Modo 2, salvo que el conteo inicial es recargado al final para proveer un tren contínuo de pulsos.
N = Longitud de cuenta
Chip intel 8155: el Timer
Registro de control:
Ejemplo: “dividir la frecuencia de entrada por 3600”