00CE | C3 |
00CF | CE |
00D0 | 20 |
Es decir JMP 20CE, lo que significa que vuelve a saltar a la dirección 20CE y que pertenece a la RAM pequeña 8155, que sólo tienes 3 sitios libres, donde se puede poner un salto a otra dirección de tu programa entre la 1000 y la 1FFF
Conclusión: si pulsas la tecla INT7.5 el programa salta a la dirección 20CE y sólo tienes 3 sitios libres para poner lo que desees.
4.4 Grabar y leer programas desde una cinta de cassette
Grabar:
Situar la cinta en el lugar que deseas con el contador de cassette
Conectar MIC del cassette con MIC del micro
Pulsar C, con CoPr poner la dirección comienzo del programa, pulsar EJEC, y con FiPr poner la dirección final del programa, pulsar EJEC, con PrO introducir un nº de programa entre la 00 hasta la FF
Poner REC en el Cassette y pulsar EJEC despues de 5 vueltas aprox. cuando aparece en el monitor " – " es que ya a terminado
Leer:
Posicionar la cinta en la posición que se dejó, para esto se tiene que llevar la cuenta.
Pulsar E, con CODE (Comienzo destino) introducir la direción de comienzo, pulsar EJEC con PrO introducir un nº de programa entre la 00 hasta la FF
poner Play, y pulsar EJEC, si sale "." es que esta en lectura, si sale "-" es que ha acabado, volumen medio alto.
5 Prácticas
5.1 Prácticas para el manejo del entrenador
Enunciado:
Se realizará un programa que efectue la suma de los 10 primeros números hexadecimales, es decir 1+2+3+4+5+6+7+8+9+A, el resultado da 37H.
Solución:
Programa:
Realizarlo en el entrenador a través del ordenador, y desde la consola, observar sin pulsar INIC pues borra los contenidos de todos los registros, como en el acumulador se ha almacenado un 37H
Desde el ordenador hacer el fichero que se llame por ejemplo PRUEBA.ASM y ejecutar después HACERHEX PRUEBA.
(todo en el directorio 8085). Cargar el programa con el comando L, y ejecutar con G1000 (recordar que ORG 0000H).
Desde la consola, ir metiendo los códigos máquina en hexadecimal, con la tecla SME/ANT y ejecutar con GO 1000 y EJEC.
PRACTICA 11
Prácticas con el entrenador 8085
En esta práctica la intención es programar con un módulo que tenga un 8085 verdadero, y utilizar el PC como elemento útil de programación/grabación.
Los ejercicios van ordenados de menor a mayor complejidad, realízalos primero en una hoja aparte, discutiéndolo con tus compañeros de práctica, y realízalos en el ordenador, y ejecuta el fichero 'Batch' "HacerHex" para ensamblarlo, convertirlo en código hexadecimal tipo Intel, y grabarlo al equipo. Ejemplo, si haces el programa en un fichero texto, lo grabas con extensión ASM, lo copias en un disco, y lo llevas al ordenado que está conectado con el módulo 8085, si lo has llamado por ejem ejer.asm, y esta en la unidad a: tienes que ejecutar:
HACERHEX A:EJER
Luego en el módulo, poner 1 como indicador de que se esta usando la linea COM2, pulsar L, y en NOMBRE DEL FICHERO=A:EJER, en OFFSET pulsar intro. Para ejecutarlo pulsar G1000 si has puesto ORG 0000H en tu porograma, si no, la dirección que has puesto, +1000.
Tienes que comprobar que funcionan, y entregar los listados *.LST o *.ASM, no entregues una hoja por ejercicio, sino un listado donde estén todos los listados de los ejercicios para ahorrar papel.
Ejercicios:
11.1.- Captar y visualizar una letra
11.2.- Sumar 2 números y visualizarlos
11.3.- Hacer un mensaje intermitente.
11.4.- Hacer un contador
11.5.- Ejercicio de libre enunciado, tiene que ser original respecto a los demás grupos de prácticas, si no se te ocurren enunciados, consulta al profesor, imprime el listado *.ASM y crea una trasparencia para exponerlo a la clase y explicar a los demás qué has hecho y cómo, grábalo en el equipo y muéstralo. . Este ejercicio es el que realmente puntúa. Cuando acabes con la exposición, enseña todos los listados al profesor. (Esto se hace para obligar a que tengas los listados, quizás el día de mañana los necesites)
6.- El semáforo
Tiene el siguiente esquema de cruces:
Las esquinas se llaman S1, S2, S3 y S4 con sus correspondientes semáforos Gx, Fx y Px
¿Cómo se envian los valores a los semáforos?, cada puerto controla una esquina, y como en un golpe de reloj no se pueden enviar a todos, se hacen en 4 golpes
El puerto A del 8155 (OUT 21H) se utilizará como entrada para poner los semáforos en intermitencia.
¿Cómo se envían estos valores? Al inicio del programa hay que insertar el siguiente código: MVI A, 80H ;carácter de control del 8255
OUT 3BH ;salida al control 8255
MVI A, 02H ;carácter de control del 8155
OUT 20H ;salida al control 8155
Conexiones :
PROGRAMA SEMÁFORO:
;inicializar las variables
;programa
; incrementar la tabla 4 lugares
;tointe mantiene los semáforos en intermitencia
;Inter hace 6 intermitencias del semáforo encendido Verde antes de cambiar a rojo
;Satab saca los valores de la tabla por las respectivas puertas conectadas a los semáforos
;Satain saca la tabla de intermitencias
;Temp1 y temp2 son temporizaciones
;TABLA DE SALIDAS A SACAR
PRÁCTICA 12
SEMÁFORO
En esta práctica tienes que hacer un programa que controle un cruce de semáforos como el del taller, las reglas son libres, pero tiene que ser coherente, y razonado, como antes será original respecto a los demás grupos de prácticas, imprime el listado *. LST y fotocópialo en una trasparencia para exponerlo a la clase y explicar a los demás qué has hecho y cómo, grábalo en el equipo y muéstralo junto con el cruce.
FIN PRÁCTICAS
Autor:
Pablo Turmero
Página anterior | Volver al principio del trabajo | Página siguiente |