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