MICROPROCESADORES Y CONTROL DE PERIFRICOS TARJETA E 24

  • Slides: 37
Download presentation
MICROPROCESADORES Y CONTROL DE PERIFÉRICOS TARJETA E 24 – COMANDOS POR TECLADO Prof. Juan

MICROPROCESADORES Y CONTROL DE PERIFÉRICOS TARJETA E 24 – COMANDOS POR TECLADO Prof. Juan Álvarez

CONTENIDO • • La tarjeta DL 3155 E 24 Configuración de la tarjeta Comandos

CONTENIDO • • La tarjeta DL 3155 E 24 Configuración de la tarjeta Comandos por teclado Ejemplos de programación por teclado Comandos por puerto serial Ejemplos de programación por puerto Apuntes sobre el hardware de la tarjeta

TARJETA DL 3155 E 24

TARJETA DL 3155 E 24

TARJETA DL 3155 E 24 Componentes básicos: • El microprocesador 80386 EX • La

TARJETA DL 3155 E 24 Componentes básicos: • El microprocesador 80386 EX • La memoria EPROM de sistema M 4 (32 KB) • El espacio para una memoria EPROM usuario M 3 (32 KB) • Las memorias RAM M 1+M 2 (64 KB) • El teclado (KEYBOARD) • El display LCD • La interfaz de serie RS-232

TARJETA DL 3155 E 24 • • • La interfaz paralela El pulsador de

TARJETA DL 3155 E 24 • • • La interfaz paralela El pulsador de reset del microprocesador El display de 7 segmentos Las sondas lógicas El conector de interrupciones, timer, bus de serie • El convertidor A/D • El convertidor D/A

TARJETA DL 3155 E 24 El clock del microprocesador llega por el microcontrolador que

TARJETA DL 3155 E 24 El clock del microprocesador llega por el microcontrolador que gestiona el teclado. Se trata de una señal a 1. 8432 MHz. Esta frecuencia resulta fácilmente divisible para generar las baud-rate para la interfaz de serie. El bus de los datos de 16 bit D 0 -D 15 se ha hecho disponible en el exterior sobre los específicos test-points (DATA). El bus de las direcciones A 0 -A 15 se ha hecho disponible en el exterior sobre los específicos test-points (ADDRESS). La seña. I A 0 corresponde a la señal BLE.

TARJETA DL 3155 E 24 Las seña. Ies de control están también disponibles en

TARJETA DL 3155 E 24 Las seña. Ies de control están también disponibles en el exterior sobre los test-points (CONTROL). Las seña. Ies presentes son: • Reset Señal de reset del microprocesador (activo alto). • UCS Señal de habilitación de la EPROM de sistema (M 4) • CS 0 Señal de habilitación de la EPROM de usuario (M 3) • CS 1 Señal de habilitación de las RAM

TARJETA DL 3155 E 24 • • • CS 2 Señal de habilitación del

TARJETA DL 3155 E 24 • • • CS 2 Señal de habilitación del display LCD CS 3 Señal de habilitación del display de 7 -segmentos RD Señal de Read (activo bajo) WR Señal de Write (activo bajo) W/R Señal de Write (alto)/Read (bajo) BLE Señal de habilitación de byte menos significativo (activo bajo) • BHE Señal de habilitación de byte más significativo (activo bajo) • CLOCK Señal de clock del microprocesador.

La figura muestra el microprocesador con los diferentes pines agrupados según su función lógica.

La figura muestra el microprocesador con los diferentes pines agrupados según su función lógica. A: El bus de los datos con sus 16 líneas B: El bus de las direcciones con sus 25 líneas C: Las seña. Ies de clock y de reset D: Las señales relativas al Port 1 de I/O con las alternativas E: Las señales relativas al Port 2 de I/O con las alternativas F: Las señales relativas al Port 3 de I/O con las alternativas G: Las señales de control H: Otras señales

La arquitectura preve la presencia del núcleo central con el bus de los datos

La arquitectura preve la presencia del núcleo central con el bus de los datos y de las direcciones. Sobre estos buses se conectan todas los periféricos, como se ilustra en el diagrama adjunto

TARJETA DL 3155 E 24 Las memorias EPROM y RAM están conectadas en el

TARJETA DL 3155 E 24 Las memorias EPROM y RAM están conectadas en el microprocesador 80386 EX aprovechan las capacidades del mismo para gestionar periféricas de 8 y 16 bit. En particular las EPROM aprovechan 8 bit y las RAM 16 bit. Se utilizan memorias EPROM de 32 KB del tipo 27256. Se usa la línea UCS# como señal de habilitación de la memoria EPROM de sistema M 4. Esta línea se hace activa por el microprocesador inmediatamente después del reset y es programada después para descodificar todas las direcciones entre F 8000 y FFFFF (32 KB).

La línea UCS# está conectada en la línea BS 8# para indicar al microprocesador

La línea UCS# está conectada en la línea BS 8# para indicar al microprocesador que cuando está activa deben ser efectuadas operaciones de 8 bits.

TARJETA DL 3155 E 24 La memoria EPROM de usuario M 3 es habilitada

TARJETA DL 3155 E 24 La memoria EPROM de usuario M 3 es habilitada usando la señal UCS 0# que es programada para las direcciones comprendidas entre F 0000 y F 7 FFF (32 KB). La siguiente figura muestra la interfaz de 16 bit del microprocesador con dos memorias RAM. Se utilizan memorias RAM de 32 KB del tipo 62256. El bus de los datos es desdoblado y enviado a las dos memorias: D 0 -D 7 a la memoria M 2 y D 8 -D 15 a la memoria M 1.

TARJETA DL 3155 E 24 Las direcciones de A 1 y A 15 son

TARJETA DL 3155 E 24 Las direcciones de A 1 y A 15 son enviadas en paralelo a las dos memorias. La señal de habilitación de las memorias llega de una combinación de la línea de chip select CS 1# y de las señales BLE# y BHE#. La señal BLE# indica que en el bus está presente la parte baja de los datos (D 0 -D 7) y entonces es usado para habilitar la memoria M 2. La señal BHE# indica que en el bus está presente la parte alta de los datos (D 8 -D 15) y entonces es usado para habilitar la memoria M 1.

TARJETA DL 3155 E 24 Las dos RAM cubren el campo de direcciones de

TARJETA DL 3155 E 24 Las dos RAM cubren el campo de direcciones de 00000 a FFFFH por un total de 64 KB. El área de memoria de 00000 H a 00 FFFH está reservada al monitor para la memorización de los vectores de interrupción, de los datos de servicio y del stack. Para los programas de usuario está reservada al área de memoria de 001000 H a 0 FFFFH (60 KB).

TECLADO El teclado es el dispositivo con el que el usuario se comunica con

TECLADO El teclado es el dispositivo con el que el usuario se comunica con el sistema. Contiene las teclas relativas a los caracteres hexadecimales (0 -F) y las teclas para los mandos para impartir al sistema. En el módulo E 24 la gestión del teclado está reservada al microcontrolador ST 6220. El microcontrolador lee el teclado para verificar si ha sido presionada una tecla y salva el código en la propia memoria.

TECLADO Cuando el microprocesador 80386 EX interroga el microcontrolador a través del bus de

TECLADO Cuando el microprocesador 80386 EX interroga el microcontrolador a través del bus de serie, este último vuelve el código de la tecla presionada. La línea P 2. 4 del microprocesador 80386 EX es utilizada para generar la señal de habilitación (CS) para el microcontrolador. Las líneas P 3. 5 y P 3. 7 son utilizados respectivamente para leer los datos que proceden del microcontrolador y para generar el clock de lectura. La operación de lectura ha sido desarrollada por la interrupción software 09 H.

DISPLAY LCD El display LCD es el dispositivo a través del cual el sistema

DISPLAY LCD El display LCD es el dispositivo a través del cual el sistema comunica con el usuario. Está conectado en el microprocesador a través del bus de datos de 8 bit D 0 -D 7. La habilitación es obtenida a través del CS 2 que es programado para las direcciones 0000÷ 0003. En particular son usadas las direcciones: 0000 Escritura del Instruction Register 0001 Escritura de la DRAM

DISPLAY LCD La señal de Enable (E) del LCD llega directamente de la señal

DISPLAY LCD La señal de Enable (E) del LCD llega directamente de la señal CS 2 del microprocesador. La seña. I RS que separa los mandos (bajo) y los datos (alto) llega de la dirección A 1. La seña. I de escritura/ lectura (R/W#) llega de la señal BLE.

INTERFAZ PARALELA Y SERIE El módulo E 24 está dotado de una interfaz paralela

INTERFAZ PARALELA Y SERIE El módulo E 24 está dotado de una interfaz paralela con N. 11 líneas de I/O que permite la conexión con dispositivos externos. En particular es posible la conexión directa con la interfaz paralela del Personal Computer para descargar los programas en el Módulo E 24. Se utiliza con el fin de del software E 24 ide (Integrated Development Environment). La puerta paralela usa un conector D 25 hembra análogo en el conector usado en la puerta paralela del PC.

INTERFAZ PARALELA Y SERIE La puerta A es obtenida a través de la Puerta

INTERFAZ PARALELA Y SERIE La puerta A es obtenida a través de la Puerta 1 del microprocesador, mientras líneas B 0, B 1 y B 2 son obtenidas a través de N. 3 líneas de I/O de la Puerta 2 del microprocesador. La Puerta A puede ser utilizada como entrada o como salida.

INTERFAZ PARALELA Y SERIE La línea B 0 es utilizada como salida porque corresponde

INTERFAZ PARALELA Y SERIE La línea B 0 es utilizada como salida porque corresponde con una línea de entrada de la interfaz paralela del PC (ACK). Las líneas B 1 y B 2 son utilizadas como entradas porque corresponden a líneas de salida de la interfaz paralela del PC (STROBE y AUTO FD XT).

INTERFAZ PARALELA Y SERIE El módulo E 24 está dotado de una interfaz de

INTERFAZ PARALELA Y SERIE El módulo E 24 está dotado de una interfaz de serie asíncrona RS-232. La interfaz de serie asíncrona RS-232 del Módulo E 24 es obtenida utilizando la Asynchronous Serial I/O Unit N. 1 del microprocesador 80386 EX. Las líneas a disposición son: TXD 1, RTS 1, CTS 1. Se necesita solamente un componente externo, el Transceiver MAX 232 (IC 2) para la daptación de las señales de los niveles -12/+12 V del estándar RS-232.

INTERFAZ PARALELA Y SERIE

INTERFAZ PARALELA Y SERIE

ACERCA DEL ROM BIOS El Módulo E 24 tiene su propio ROM BIOS: –

ACERCA DEL ROM BIOS El Módulo E 24 tiene su propio ROM BIOS: – Provee la gestión del mismo – Introducción de programas por parte del usuario – Ejecución y prueba del programa. – El BIOS le proporciona al programador las funciones necesarias para el desarrollo de los programas. Las funciones del BIOS se utilizan mediante la instrucción INT (Interrupción Software) y del contenido del registro AH

ACERCA DEL ROM BIOS Las interrupciones por teclado son: – INT 09 H Teclado

ACERCA DEL ROM BIOS Las interrupciones por teclado son: – INT 09 H Teclado – INT 10 H Display LCD envío de datos – INT 11 H Display LCD envío de mandos – INT 12 H Display 7 -segmentos – INT 14 H Interfaz de serie – INT 17 H Interfaz Paralela – INT 18 H Lectura de convertidores A/D – INT 19 H Mando de convertidores D/A – INT 1 CH Temporizador (retardo) – INT 1 FH devolver el control al BIOS

TECLADO HEXADECIMAL El teclado está formado por 16 teclas (del 0 al F) con

TECLADO HEXADECIMAL El teclado está formado por 16 teclas (del 0 al F) con doble función (número y mando) y 4 teclas adicionales de mando. La operación de lectura se efectúa con la interrupción 09 h

TECLADO HEXADECIMAL La INT 09 h permite leer el teclado y volver el código

TECLADO HEXADECIMAL La INT 09 h permite leer el teclado y volver el código de la tecla presionada o la indicación de la tecla no presionada. INT 09 H Input: Output: Teclado AH = 1 Chequeo del teclado y retorno del código de la tecla presionada (código = FF si no ha sido presionada ninguna tecla) AH = 2 Chequeo del teclado y espera hasta que no es presione una tecla AL Contiene el código de la tecla presionada: 0÷ 15 = teclas 0 ÷ F 16 = CMND, 17 = CUR-L, 18 = CUR-R, 19 = DATA

EJEMPLOS DE COMANDOS POR TECLADO ; Example: 7 -segment display ; The program will

EJEMPLOS DE COMANDOS POR TECLADO ; Example: 7 -segment display ; The program will be loaded at the address: 0100: 0000 CODE SEGMENT ASSUME CS: CODE, DS: CODE ORG 0 H PROGR: MOV AL, 0 FFH ; data para apagar los siete segmentos del display MOV DX, 0010 H ; dirección del display de siete segmentos OUT DX, AL ; escribir la data a través del puerto de salida. MOV AX, 1000 ; asignación del tiempo de retardo de 1000 ms.

EJEMPLOS DE COMANDOS POR TECLADO INT 1 CH MOV AL, 00 H del display

EJEMPLOS DE COMANDOS POR TECLADO INT 1 CH MOV AL, 00 H del display MOV DX, 0010 H siete segmentos OUT DX, AL salida. MOV AX, 1000 INT 1 CH JMP PROGR CODE ENDS END PROGR ; interrupción de espera ; data para encender los siete segmentos ; dirección del puerto del display de ; escribir la data a través del puerto de ; tiempo de retardo de 1000 ms ; interrupción de ejecución ; salto incondicional.

EJEMPLOS DE COMANDOS POR TECLADO El lenguaje de máquina correspondiente a este programa se

EJEMPLOS DE COMANDOS POR TECLADO El lenguaje de máquina correspondiente a este programa se lista en hexadecimal a continuación: 0 C 78: 0100 B 0 FF MOV AL, FF 0 C 78: 0102 BA 1000 MOV DX, 0010 0 C 78: 0105 EE OUT DX, AL 0 C 78: 0106 B 8 E 803 MOV AX, 03 E 8 0 C 78: 0109 CD 1 C INT 1 C 0 C 78: 010 B B 000 MOV AL, 00 0 C 78: 010 D BA 1000 MOV DX, 0010 0 C 78: 0110 EE OUT DX, AL 0 C 78: 0111 B 8 E 803 MOV AX, 03 E 8 0 C 78: 0114 CD 1 C INT 1 C 0 C 78: 0116 EBE 8 JMP 0100

EJEMPLOS DE COMANDOS POR TECLADO Para cargar el programa por teclado se sigue la

EJEMPLOS DE COMANDOS POR TECLADO Para cargar el programa por teclado se sigue la siguiente secuencia: Reset … (ingresar los códigos) CMND El último código es: 0 CMND E 8 B 0 CMND Reset FF CMND RUN BA CMND 10 CMND El programa corre encendiendo y apagando el display CMND

DESCRIPCIÓN DEL PROGRAMA El primer paso consiste en grabar un dato en el registro

DESCRIPCIÓN DEL PROGRAMA El primer paso consiste en grabar un dato en el registro AL y colocar la dirección del puerto del display en DX (la dirección es 0010 H). Luego se hace efectiva la transferencia del dato. La INT 1 CH temporiza un lapso de tiempo que se carga previamente en el registro AX (por ejemplo AX = 1000 milisegundos). El segundo paso consiste en cargar otro dato en AL para enviarlo al display y luego temporizar repitiendo la secuencia anterior. Con un bucle se repite el procedimiento indefinidamente.

DESCRIPCIÓN DEL PROGRAMA Para cambiar el dato a enviar al display hay que tener

DESCRIPCIÓN DEL PROGRAMA Para cambiar el dato a enviar al display hay que tener en cuenta que cada bit que se carga en el registro AL corresponde a un segmento del display: AL = D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 = p g f e d c b a Cada segmento se enciende con un cero lógico. Si se quiere que se enciendan todos los segmentos hay que enviar el número binario 0000. Si se quiere encender todos los segmentos hay que enviar el número binario 1111.

INFORME DEL LABORATORIO 1. Identificar los componentes de la tarjeta en un diagrama de

INFORME DEL LABORATORIO 1. Identificar los componentes de la tarjeta en un diagrama de Paint. 2. Utilizando el debug, hallar el listado de lenguaje de máquina del programa a utilizar. 3. Cargar el programa por teclado y ejecutar. 4. Describir el desarrollo del programa. 5. Ejercicio: Escribir un programa e ingresarlo por teclado para que en el display se observe la secuencia temporizada: HOLA.