Proyecto z80

Solo disponible en BuenasTareas
  • Páginas : 6 (1276 palabras )
  • Descarga(s) : 7
  • Publicado : 16 de junio de 2010
Leer documento completo
Vista previa del texto
MICROPROCESADORES

TEMA: Interrupción INT en el Z80

OBJETIVOS:

1. Comprobar la utilización de las interrupciones programables.

2. Familiarizarse con la operación de la interrupción INT.

3. Comprobar, que en el uso de la interrupción INT en modo 2, es realizada por software, dependiendo del programa que ejecutemos.

4. Comprobar que no es necesario utilizar la decodificación comopuerto con señales en el bus de direcciones (A0, etc.), con la interrupción INT, esta solo dependerá de las señales M1 y la señal de IORQ, las cuales actúan como decodificadores del puerto.

5. Demostrar el uso de la instrucción de software EI, con la cual se habilita las señales de interrupción.

6. Utilizar la memoria RAM para guardar los datos ingresados desde un DEEP 8, el cual nospermitirá ir obteniendo los datos con los cuales vamos a ejecutar diversas operaciones.

7. Diseñar una calculadora, que realice las siguientes operaciones:

❑ Suma
❑ Resta
❑ Compara
❑ Clear
❑ Enter

8. Usar 2 displays para visualizar los datos en forma decimal, él dato será ingresado en binario por el deep.

MAPA DE MEMORIA:

MAPA DE PUERTOS:

DIAGRAMA DE FLUJOS:

CLEARENTER

SUMA

RESTA

DISPLAY
PROGRAMA:

CPU "C:Z80.TBL"
HOF "INT8"

;ETIQTA OPC OPER COMENTARIOS

;*******************************************
;* VECTOR DE DIRECCIONES DE INTERRUPCION *
;*******************************************

ORG 0500H

DFB 00H ;TECLA 0 ENTER
DFB 06H

DFB 30H ;TECLA 1 SUMA
DFB 06H

DFB 60H ;TECLA 2 RESTA
DFB 06H

DFB 90H ;TECLA 3COMPARA
DFB 06H

DFB 0C0H ;TECLA 4 CLEAR
DFB 06H

DFB 0F0H ;TECLA 5 DEL
DFB 06H

;***************************************
;* TABLA DE CONVERSION BINARIO - BCD *
;***************************************

ORG 0300H

DFB 00H
DFB 01H
DFB 02H
DFB 03H
DFB 04H
DFB 05H
DFB 06H
DFB 07H
DFB 08H
DFB 09H
DFB 10H
DFB 11H
DFB 12H
DFB 13H
DFB 14H
DFB 15H
DFB16H
DFB 17H
DFB 18H
DFB 19H
DFB 20H
DFB 21H
DFB 22H
DFB 23H
DFB 24H
DFB 25H
DFB 26H
DFB 27H
DFB 28H
DFB 29H
DFB 30H
DFB 31H
DFB 32H
DFB 33H
DFB 34H
DFB 35H
DFB 36H
DFB 37H
DFB 38H
DFB 39H
DFB 40H
DFB 41H
DFB 42H
DFB 43H
DFB 44H
DFB 45H
DFB 46H
DFB 47H
DFB 48H
DFB 49H
DFB 50H
DFB 51H
DFB 52H
DFB 53H
DFB 54H
DFB 55H
DFB56H
DFB 57H
DFB 58H
DFB 59H
DFB 60H
DFB 61H
DFB 62H
DFB 63H
DFB 64H
DFB 65H
DFB 66H
DFB 67H
DFB 68H
DFB 69H
DFB 70H
DFB 71H
DFB 72H
DFB 73H
DFB 74H
DFB 75H
DFB 76H
DFB 77H
DFB 78H
DFB 79H
DFB 80H
DFB 81H
DFB 82H
DFB 83H
DFB 84H
DFB 85H
DFB 86H
DFB 87H
DFB 88H
DFB 89H
DFB 90H
DFB 91H
DFB 92H
DFB 93H
DFB 94H
DFB 95H
DFB96H
DFB 97H
DFB 98H
DFB 99H

;*****************************************
;* TABLA DE CONVERSION BCD - 7SEGMENTOS *
;*****************************************

ORG 0400H

DFB 0C0H
DFB 0F9H
DFB 0A4H
DFB 0B0H
DFB 99H
DFB 92H
DFB 82H
DFB 0F8H
DFB 80H
DFB 90H
DFB 88H
DFB 83H
DFB 0C6H
DFB 0A1H
DFB 86H
DFB 8EH

ORG 0000H ;Origen

LD HL,#07FFH ;inicializa el puntero de pila
LD SP,#0FFFH ; y puntero HL

LD A,#05H ;
LD I,A ; Carga registro I con 05H y activa
IM 2 ; INT' en modo 2
EI

JP MAIN

MAIN: EI ; Lazo cerrado en el que siempre se
; habilita las interrupciones
JP MAIN

;***********************
;* FUNCION DEL DISPLAY *
;***********************

DISPLAY:

PUSH AF ;
PUSH BC ; Guarda los registros en lapila
PUSH HL ;

LD HL,#0300H ; HL apunta a la tabla de conversion
; binario - BCD

LD L,A ; mueve el puntero al valor convertido
LD A,(HL) ; carga el valor convertido en A

LD B,A ; Guarda A en B
AND #0FH ; Filtra el Acumulador
LD HL,#0400H ; HL apunta tabla BCD - 7seg.

LD L,A ; mueve puntero al valor equivalente
LD A,(HL) ; Guarga el valor en el Acumulador...
tracking img