Practica No 1-OPERACION DE SISTEMAS MINIMOS

Anuncio
Práctica No 1
OPERACIÓN DE SISTEMAS MINIMOS CON
MICROPROCESADORES
Objetivo: Operar sistemas mínimos con microprocesadores, aplicándolos a
procesos o funciones específicas de monitoreo y control para su implementación
en aplicaciones específicas.
Material:
 1 Computadora Personal
Desarrollo:
En la presente práctica se empleará el Software de Emulación Emu8086, para
diseñar un control de luces de tráfico en un crucero de dos avenidas.
Este
software
de
Emulación dispone de una interfaz
“Traffic_Lights.exe” , que se muestra a continuación:
Semáforo # 1
Verde: Bit 2
Amarillo: Bit 1
Rojo: Bit 0
Semáforo # 2
Verde: Bit 5
Amarillo: Bit 4
Rojo: Bit 3
Operación de Micros e Interfaces
Docente: M. en C. Baldemar Irineo Carrasco
Semáforo # 3
Verde: Bit 8
Amarillo: Bit 7
Rojo: Bit 6
gráfica
llamada:
Semáforo # 4
Verde: Bit B
Amarillo: Bit A
Rojo: Bit 9
1
Esta interfaz simula el control de las 12 luces de los semáforos que se ubican
en el cruce de dos avenidas. Se controla por el puerto de salida 4 del Sistema
mínimo mediante un Bus de Datos de 16 bits. En la imagen se muestran las
diferentes luces y los bits que controlan el encendido (1) o apagado (0) de cada
una.
1. Diseñar cómo serán las diferentes secuencias de 16 bits para el encendido
de las luces de tráfico para cada equipo. Por ejemplo:
a) Dos en Verde, Dos en Rojo e ir rotando: Semáforo #1 y #3 en
Verde, luego Semáforo #2 y #4 en Verde y reiniciar.
b) Uno en Verde, Tres en Rojo, ir rotando en sentido contrario a las
manecillas del reloj: Semáforo #1 en Verde, luego Semáforo #2 en
Verde, luego Semáforo #3 en Verde, luego Semáforo #4 en Verde y
reiniciar.
c) Modo Nocturno: Dos parpadean en amarillo y dos parpadean en Rojo:
Semáforo #1 y Semáforo #3 parpadean en Amarillo y al mismo tiempo
Semáforo #2 y Semáforo #4 parpadean en Rojo.
2. Abrir el programa EMU8086.
3. En la ventana de inicio dar click en el botón “New” (Nuevo).
4. Se abrirá la ventana “Choose code template”, dar click en el botón OK.
5. Se abrirá la ventana de edición del emulador, en donde se procederá a
editar el programa para controlar las luces de tráfico.
Operación de Micros e Interfaces
Docente: M. en C. Baldemar Irineo Carrasco
2
6. Antes de comenzar a editar las instrucciones para el control de las luces,
agregar la línea #start=Traffic_Lights.exe# justo antes de la línea “org
100h”, para que el programa pueda hacer uso de la interfaz gráfica de
control de luces de tráfico.
7. Comenzar a editar el programa en el software EMU8086 utilizando las
instrucciones MOV y OUT para mandar a encender las luces de tráfico con
las secuencias de bits de encendido que diseñaron en el paso 1.
Recuerden poner comentarios en las líneas de código para indicar que luces
se encienden con cada secuencia.
Ejemplos:
Las siguientes instrucciones dos instrucciones ponen los cuatro semáforos
en rojo:
MOV AX, 0000001001001001b ; Todos semáforos en Rojo
OUT 4, AX
Si luego se desea encender la luz verde del Semáforo # 1 se emplearían las
siguientes dos instrucciones:
MOV AX, 0000001001001100b ; Semáforo 1 en Verde
OUT 4, AX
O bien si se desea encender los semáforos # 1 y #3 en verde se emplean
las siguientes dos instrucciones:
MOV AX, 0000001100001100b ; Semáforo 1 y 3 en Verde
OUT 4, AX
Nota: Hacer uso de procedimientos, así como se explicó en la clase, para
generar retardos de medio segundo, 1 segundo, 2 segundos y 5 segundos;
para que la simulación sea lo más cercana a la realidad. Las líneas de
código para cada retardo se muestran en la siguiente tabla:
Retardo de medio
segundo
Retardo de 1 segundo
Retardo de 2
segundos
Retardo de 5
segundos
MOV
MOV
MOV
INT
MOV
MOV
MOV
INT
MOV
MOV
MOV
INT
MOV
MOV
MOV
INT
CX, 7h
DX, 0A120h
AH, 86h
15h
CX, 0Fh
DX, 4240h
AH, 86h
15h
Operación de Micros e Interfaces
Docente: M. en C. Baldemar Irineo Carrasco
CX, 1Eh
DX, 8480h
AH, 86h
15h
CX, 4Ch
DX, 4B40h
AH, 86h
15h
3
Ejemplo del uso de Procedimientos para los retardos:
MOV AX, 0000001001001001b ; Todos semáforos en Rojo
OUT 4, AX
CALL Retardo5s
; Retardo de 5 segundos
MOV AX, 0000001001001100b ; Semáforo 1 en Verde
OUT 4, AX
CALL Retardo5s
; Retardo de 5 segundos
RET
; Fin del Programa Principal
; Aquí abajo se listan los ejemplos de procedimientos
Retardo5s PROC
MOV CX, 4Ch
MOV DX, 4B40h
MOV AH, 86h
INT 15h
RET
Retardo5s ENDP
;Retardo de 5 segundos
Retardo2s PROC
MOV CX, 1Eh
MOV DX, 8480h
MOV AH, 86h
INT 15h RET
Retardo2s ENDP
;Retardo de 2 segundos
8. Una vez que hayan escrito las instrucciones para todas las secuencias de
luces se procederá a crear un loop infinito, empleando la instrucción de
salto “JMP Inicio” para retornar el flujo del programa al punto en donde se
coloque la etiqueta “Inicio”.
9. Compilar el programa y corregir los errores en caso de que se presenten.
Operación de Micros e Interfaces
Docente: M. en C. Baldemar Irineo Carrasco
4
10. Ejecutar el programa en modo continuo “Run” y pedir al Docente que
valide su funcionamiento. Corregir las secuencias de encendido de las
luces o modificar los retardos, en caso de que el sistema no
funcione como lo desean.
11. En el siguiente espacio, por favor copie y pegue el código
completo del programa de control de luces de tráfico que
escribieron en Lenguaje Ensamblador, en el software
EMU8086:
12. Anote sus Observaciones y Conclusiones individuales de la práctica.
Operación de Micros e Interfaces
Docente: M. en C. Baldemar Irineo Carrasco
5
Descargar