Download PROCESADORES I PRACTICO 5: SDK85 y TIMER

Document related concepts
no text concepts found
Transcript
UNIVERSIDAD NACIONAL DE SAN LUIS
Facultad de Ciencias Físico Matemáticas y Naturales
Técnico Universitario en Microprocesadores
Ingeniería Electrónica Orientación Sistemas Digitales
Profesorado en Tecnología Electrónica
PROCESADORES I PRACTICO 5: SDK85 y TIMER OBJETIVO: Utilización del kit de desarrollo SDK85, ejecución de programas. Uso de algunas subrutinas disponibles en ROM. Uso del chip 8155 conectado a la protoboard e implementación de circuitos sencillos con indicadores LED manejados por este chip. Implementación de rutinas de retardo. Programación del timer 8254. ELEMENTOS NECESARIOS: ‐Kit de experimentación SDK85. ‐Componentes varios (resistencias, transistores y LEDs) y elementos para el conexionado. ‐Hoja de datos del 8155 (puertos), del 8254 (timer) y demás bibliografía necesaria. SDK85: EJERCICIOS 1) Realizar un programa para el SDK85 ubicado a partir de la dirección 2000h (comienzo de la RAM) que tome el contenido de la dirección 2040h y almacene su complemento en la dirección 2041h. Verifique, una vez ejecutado, que el programa realiza efectivamente la tarea (haciendo uso de la tecla SUBSTMEM). 2) Realizar un programa, utilizando el registro par H‐L como puntero para acceder a los datos, que almacene en la dirección 2042h la suma de los datos contenidos en las direcciones 2040h y 2041h. Verifique con la tecla SUBSTMEM el resultado. 3) Realizar un programa que sume los 10 bytes consecutivos que se encuentran a partir de la dirección 2040h y almacene los 8 bits menos significativos del resultado en la dirección 204Ah. Uso de subrutinas de la EPROM: 4) Realizar un programa que espere hasta que una tecla sea apretada (por medio de la subrutina RDKBD) y luego almacene el código de la tecla en la dirección 2040h. Tener en cuenta las máscaras de interrupciones. 5) Realizar un programa que espere hasta que una techa sea apretada y luego muestre su código en el campo de datos del display (subrutina UPDDT). 6) Realizar un contador hexadecimal de 4 dígitos que muestre el conteo en el campo de direcciones del display, usando la rutina UPDAD. Tener en cuenta qué registros son modificados por la subrutina. Uso de puertos del chip 8155 y generación de retardos: 7) Realizar con el SDK85 un circuito que a través del 8155 encienda un led durante 1/2 segundo, lo apague durante 1 segundo, luego lo encienda durante 2 segundos y finalmente lo apague. El proceso debe comenzar a funcionar siempre que el PB7 esté en el alto. 8) Realizar un programa que muestre en el campo de datos del display el número de bits en 1 del dato leído por el puerto A del 8155. 9) Realizar un programa para el SDK85 que realice lo siguiente: Encender un led tantos segundos como unos lógicos haya en el valor almacenado en la dirección 2010h de la RAM. 10) Realizar un programa para el SDK85 que realice lo siguiente: Se tienen 3 entradas digitales. Si las entradas son iguales encender un led cada 2 seg. Si las entradas son distintas encender un led cada 5 seg. 11) Implementar con el SDK85 un contador de 2 bits usando el puerto C del 8155 que cambie cada 2 segundos. Debe contar en forma ascendente mientras PA0 esté en alto y en forma descendente cuando PA0 esté en bajo. 12) Realizar un programa para el SDK85 que realice lo siguiente: Encender un led durante el tiempo en segundos indicado por los dos bits menos significativos del puerto A del 8155 y apagarlo el tiempo en segundos indicado por los dos bits menos significativos del puerto B del 8155. UNIVERSIDAD NACIONAL DE SAN LUIS
Facultad de Ciencias Físico Matemáticas y Naturales
Técnico Universitario en Microprocesadores
Ingeniería Electrónica Orientación Sistemas Digitales
Profesorado en Tecnología Electrónica
TIMER 8254: EJERCICIOS 13) En base al circuito que se muestra en la figura, realizar el mapa de memoria y hacer un programa en assembler de modo que se genere un pulso de 20 ms por la salida SOD cada vez que la entrada SID sufra una transición de bajo a alto (hacer uso del timer0 del 8254 para generar el retardo). 14) Diseñar un circuito (utilizando un 8085, un 8212, un 8254, una ROM de 512Kx8 y demás elementos necesarios) y escribir el assembler para el micro 8085, de modo de poder complementar la salida SOD cada 100 ms. El retardo de 100 ms debe generarlo el 8254 generando una interrupción en el 8085 a través del pin rst7.5. Realizar el mapa de memoria y efectuar la conexión de todos los pines de los elementos que se utilicen en el circuito. Se pueden utilizar elementos genéricos adicionales (memorias, decodificadores, compuertas lógicas, etc.). Utilizar como entrada de clock para el timer la salida CLOCK OUT del 8085. Suponer que la frecuencia del cristal es de 1 Mhz. EJERCICIOS COMPLEMENTARIOS Unidad de cómputo con un chip 8155 y un timer 8254: 17) Diseñar un circuito (utilizando un 8085, un 8155, un 8254, una ROM de 1Kx8 y demás elementos que considere necesarios) y escribir el assembler para el micro 8085, de modo de poder realizar una lectura del Puerto B del 8155 cada 100 ms. Los valores leídos mostrarlos en el Puerto A del 8155. El retardo de 100 ms debe generarlo el 8254 y una interrupción en el 8085 a través del pin rst7.5 Realizar el mapa de memoria y de I/O, y la conexión de todos los pines de los elementos que se utilicen en el circuito. Se pueden utilizar elementos genéricos (memorias, decodificadores, compuertas lógicas, etc.). Suponer que la frecuencia del cristal del 8085 es de 0.5 Mhz. 18) Diseñar un circuito (utilizando un 8085, un 8253/8254, una ROM de 512Kx8, un 8155 y demás elementos que considere necesarios) y escribir el assembler para el micro 8085, de modo de generar un pulso de 2 seg si el número de bits iguales a uno del Puerto A del 8155 es par y un pulso de 0,5 seg si el número de bits del Puerto A es impar. Se debe generar un nuevo pulso solo si se produce un cambio en el Puerto A. El retardo debe generarlo el 8254. Realizar el mapa de memoria y de I/O, y la conexión de todos los pines de los elementos que se utilicen en el circuito. Se pueden utilizar elementos genéricos (memorias, compuertas lógicas, etc.). Suponer que la frecuencia del cristal del 8085 es de 0,5 Mhz. UNIVERSIDAD NACIONAL DE SAN LUIS
Facultad de Ciencias Físico Matemáticas y Naturales
Técnico Universitario en Microprocesadores
Ingeniería Electrónica Orientación Sistemas Digitales
Profesorado en Tecnología Electrónica
INFORMACIÓN COMPLEMENTARIA Direcciones de llamada y descripción de algunas de las subrutinas más usadas del SDK85: Direcció n
05F1h
Nombre
DELAY
02E7h
RDKBD
0363h
UPDAD
036Eh
UPDDT
Descripción
Toma el contenido del registro par DE y cuenta
descendente hasta llegar a cero antes de retornar.
Espera hasta que un caracter es entrado por el teclado
hexadecimal devolviendo su valor en el registro A.
Nota: para que esta rutina funcione se debe
desenmascarar primero la interrupción RST 5.5 por
medio de la instrucción SIM.
El contenido del registro par DE es mostrado en
hexadecimal en el campo de direcciones del display.
El contenido del registro A es mostrado en
hexadecimal en el campo de datos del display.
Cableado del 8155 con la protoboard en el SDK85: 1
2
3
4
5
6
7
8
9
10
11
12
+5V
PA1
PA3
PA5
PA7
PB1
PB3
PB5
PB7
PC0
PC1
PC2
24
23
22
21
20
19
18
17
16
15
14
13
MASA
PA0
PA2
PA4
PA6
PB0
PB2
PB4
PB6
PC5
PC4
PC3
BIBLIOGRAFÍA: Fundamentos de los Microprocesdores R. Tokheim 2° De. Mc Graw Hill. MCS‐85 USER’S Manual Intel. Diseño Digital Principios y Prácticas John Wakerly. The 8085/SDK85 Control Experiments, Howard Boyet‐MTI. Manual con listado del programa monitor y subrutinas del SDK85. Notas del uso del Kit LABEL SDK85. Hojas de datos de los chips usados. Registros afectados
A,D,E,flags
A,H,L,flags
all
all