PRÁCTICAS DE ELECTRÓNICA ELECTRÓNICA ANALÓGICA y ELECTRÓNICA DIGITAL César Sánchez Serna 1, 1 CEFIRE de Alicante, RESUMEN En este articulo se valora la importancia que tienen las practicas de Electrónica Analógica y Digital para comprender todo el desarrollo de estas tecnologías en plena era y siglo XXI, para poder comprender el funcionamiento de los diversos componentes utilizados en nuestros talleres y como se están abriendo paso en nuestras escuelas y en nuestra sociedad, pero todavía tienen un gran camino por recorrer. El objetivo pues es introducir a los alumnos de una forma descriptiva los diferentes componentes que hay en la electrónica analógica y digital y que pueden encontrarse en el mundo real. La introducción se ha realizado describiendo el funcionamiento básico práctico de los mismos de forma que pueda saber tanto que son, como intuir la forma en que se comportan dentro del circuito donde se encuentren. NOMBRE: CURSO: GRUPO: Prácticas de analógica Prácticas 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Suma nota Nota Nota máx. 10 15 3 8 10 4 5 15 15 15 12 15 15 8 8 158 10 Presentación (1-10): Prácticas de digital Prácticas 1 2 3 4 5 6 7 8 9 10 11 12 Suma Nota Nota Nota máx. 6 10 8 8 8 10 10 10 15 15 20 15 135 10 Presentación (1-10): Observaciones: - La fecha de entrega de este cuaderno de prácticas es el: 12 de Mayo 2006 excepto para las prácticas 10 11 y 12, todas deben de estar acabadas. Se devolverá una vez corregido, este cuaderno consérvalo y procura tener la máxima claridad en tu medida y conclusiones, te servirá en tu futuro profesional. -Rellena las prácticas y haz tus cálculos en lápiz, pues es fácil de que te equivoques, no añadas hojas sueltas, recorta y pega detrás de la práctica o en el recuadro correspondiente. Puntuación = presentación * punt. de la suma / punt. máxima de la suma Las prácticas representan un 25% de la nota de la asignatura: Nota final = Nota de los exámenes*0.75 + Nota de las prácticas * 0.25 PRACTICA 1 CIRCUITOS RESISTIVOS 1.- Monta el siguiente circuito utilizando los valores de resistencia que prefieras 2.- Completa la siguiente tabla, realizando las operaciones que creas necesarias, y mostrándolas en esta hoja o detrás, imprime el circuito EWB con Amplificadores y Voltímetros, imprímelo con sus valores activos, recórtalo y pégalo detrás. CÁLCULOS R R1 R2 R3 R4 V MEDIDAS I 3.-Comenta los resultados obtenidos V ORDENADOR I V I PRACTICA 2 CARGA Y DESCARGA DE UN CONDENSADOR 1.- Calcula el circuito siguiente de tal forma que el condensador tarde 50 segundos en cargarse; y 80 segundos en descargarse, una vez colocado el conmutador S en la posición2, muestra tus cálculos detrás de esta hoja, y monta el circuito en el taller RECUERDA: El tiempo que tarda un condensador en cargarse o descargarse depende de la constante de carga t = 5RC 2.- Realiza las medidas necesarias para dibujar las gráficas correspondientes a la carga condensador, por ejemplo cada 5 o 10 seg. CARGA REAL t (seg.) 0 Vc (V) 5 10 15 20 25 30 35 40 45 50 55 del 60 3.- Realiza las medidas necesarias para dibujar las gráficas del taller correspondientes a la descarga del condensador, por ejemplo cada 5 o 10 seg. DESCARGA REAL T (seg.) 0 5 Vc (V) 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 4.- Dibuja las 2 gráficas (gráficas de taller) en el papel cuadriculado de la hoja siguiente, añádelas a esta memoria, la de Carga Real píntala de azul, y la Descarga Real, de negro 5.- Con las siguientes fórmulas tienes que rellenar los cuadros de la carga teórica y la de la descarga teórica: Vc=E-(E-Eo) e-t/RC t=RC ln(E-Eo)/(E-Vc) CARGA TEÓRICA t (seg.) 0 10 40 Vc (V) 12 DESCARGA TEÓRICA t (seg.) 0 10 40 Vc (V) 10 6.- Dibuja en la hoja cuadriculada anterior las dos curvas correspondientes a la Carga Teórica y a la Descarga Teórica, con los mismos colores, pero en TRAZOS. Son las gráficas teóricas 7.- Monta en el ordenador este circuito rellena unas tablas equivalentes a los pasos 2 y 3 además observa los efectos que producen los cambios de valores, tanto de resistencia, como de capacidad, en el tiempo de carga y descarga, imprime una hoja con el circuito, las tablas de valores, y las gráficas de carga y descarga. Éstas serán las gráficas de ordenador. 8.- ¿Cuál es la conclusión que sacas al observar dichas curvas, las del taller, las teóricas y las del ordenador? PRACTICA 3 MEDIDAS CON EL OSCILOSCOPIO El objetivo de esta práctica es que cojas soltura con la diferente instrumentación del taller, polímetros, osciloscopios, fuentes de alimentación en continua --- y en alterna ~. MEDIDA FRECUENCIA 1.- Coloca en el GBF una señal alterna senoidal de 5Vmax, 1khz (si faltan GBF sirve la f.a. del entrenador, con la salida marcada como ~ en rojo) 2.- Conecta la sonda del osciloscopio a la salida del generador 3.- Coloca en la pantalla del osciloscopio uno o dos periodos de la señal 4.- Completa los siguientes campos, con la mayor atención posible: TIME/DIV= Nº de divisiones horizontales = Multiplicando el nº de divisiones por el valor de la base de tiempos, obtenemos el valor del periodo T y como sabemos que f = 1/T obtendremos el valor de la frecuencia f= f medido con los instrumentación1 = MEDIDA VOLTIOS 5.- El osciloscopio tiene un conmutador rotativo para adecuar la señal de entrada amplificándola o reduciéndola, VOLT/DIV, según el canal, gira el conmutador hasta que la señal se pueda visualizar en la pantalla sin salirse de ella, pero ocupando lo máximo 6.- Rellena los siguientes campos VOLT/DIV= Nº de divisiones verticales de pico a pico = Vpp = VOLT/DIV * Nº div horiz pp = Vp = Vpp/2 = V ef= Vp/ V ef medida con el polímetro = MEDIDA VOLTIOS DE TENSIÓN CONTINÚA 7.- Coloca ahora la fuente de alimentación2 en la sonda, y en conmutador, primero ajusta la tierra con el conmutador en GD fijando la posición inicial del trazo, y después en DC, pon la fuente de alimentación a 15 V, y mide su tensión análogamente al caso de alterna paso 5 y 6, y comprueba su veracidad con el polímetro. ¿Cuál es tu conclusión? 1 2 Del polímetro, o si los polímetros no tienen medidas de frecuencia, con el frecuencímetro. Del entrenador V1, o de la fuente de alimentación en continua. PRACTICA 4 CORRIENTE ALTERNA 1.- Monta el siguiente circuito utilizando los valores de R C y v que prefieras para visualizar bien el desfase R= C= v= V, Hz 2.- Completa la siguiente tabla, realizando las operaciones que creas necesarias, y (las operaciones puntúan 10 puntos, son complejos) mostrándolas en esta hoja o detrás CÁLCULOS Z R C V MEDIDAS I desfase 3.-Comenta los resultados obtenidos ORDENADOR V I V I PRÁCTICA 5 CURVA CARACTERÍSTICA DEL DIODO 1.- Realiza el siguiente montaje con un diodo, puede ser zener o no, completa la tabla, la I la calculas con la ley de Ohm ¿Cómo la calcularías teniendo los valores de V, E y R? V diodo E I R= 2.- Invierte la posición del diodo y repite el proceso anterior V diodo E I R= 3.-Representa los resultados obtenidos en una gráfica I del diodo en el eje y, V diodo eje x 4.- Que conclusión sacas al ver la forma y los valores de la gráfica. Ponlo detrás. 5.- Busca el diodo en los manuales, e indica aquí las características que ves más importantes PRÁCTICA 6 RECTIFICACIÓN 1.- Monta los siguientes circuitos de rectificación 2.-Mide todas sus señales con el osciloscopio, dibújalas con un mínimo de precisión colocando sus valores y escalas empleadas, anota la tensión en continua que hay en la carga. 3.- Dibujo las tres formas de onda en los siguientes recuadros: 4.- Repite los procesos anteriores con el ordenador, imprime las formas de onda del osciloscopio pégalas detrás. 5.- Comenta tus conclusiones PRACTICA 7 RECORTADOR ZENER 1.- Monta los siguientes circuitos en el taller: 2- Coloca el transformador ~ +- 12V en la entrada y una vez conectado al circuito mide con el osciloscopio tanto la entrada como la salida 3.-Dibuja las formas de onda, entrada y salida en la misma gráfica: 4.- comenta los resultados obtenidos en cada circuito, ¿Para que sirven? ¿Qué aplicaciones ves a estos circuitos? PRACTICA 8 FILTRADO Y RIZADO 1.- Monta el siguiente circuito, el transformador será el de 220/12~. Diséñalo para un rizado razonable como el de la figura, rellena este cuadro: Condensador elegido: Resistencia de carga elegida: Diodos V rizado pico a pico teórico. 2.- Determina las señales de rizado, y la señal de continua en la carga 3.- Móntalo también en el ordenador, imprime el circuito con la forma de onda en el osciloscopio, imprímelo, recorta y pégalo detrás, mide la señal de rizado y de continua en la carga. 4.- Ahora en el taller inserta un 78XX y mide la señal de rizado y de continua en la carga. 5.- Rellena la siguiente tabla, los cálculos móstralos en esta hoja por la parte de atrás (8 puntos) MEDIDAS V RIZADO pico a pico Vcc EN LA CARGA Con 78XX 6.- Comenta tus conclusiones ORDENADOR no hay 78XX CÁLCULOS PRÁCTICA 9 RECTIFICACIÓN DE POTENCIA 1.- Monta el siguiente circuito en el ordenador. Como resistencia de carga puedes usar una bombilla, o una resistencia de 1K, fija un ángulo de conducción máximo y mínimo, y utiliza un potenciómetro para regular la luz, puede ser alrededor de 25K, y el condensador de 100n, la red 100V y 50HZ. enseña los cálculos en la parte de atrás. Imprime el circuito cuando tengas una señal de osciloscopio representativa, tienes que probar diferentes configuraciones, los valores anteriores son orientativos. Pégalo en la parte de atrás. 2.- Rellena la siguiente tabla: Áng. cond. Áng. Cond. C Máximo elegido Mínimo elegido R P 3.- Ahora con la información del osciloscopio rellena esta tabla: Vp DIAC Vv DIAC Vp TRIAC Frecuencia V RED eficaz 4.- Mide el ángulo de conducción con el potenciómetro al mínimo y al máximo si tienes potenciómetro y rellena la siguiente tabla ÁNGULO CONDUCCIÓN MÍNIMO MÁXIMO 6.- Comenta los resultados CALCULADO MEDIDO No No ORDENADOR PRÁCTICA 10 POLARIZACIONES DEL TRANSISTOR BIPOLAR 1.- Diseña los siguientes circuitos de polarización para un determinado punto de operación, antes rellena esta tabla de la elección del punto Q, elige los valores que creas convenientes 2.- Móntalo en el taller, y en el ordenador, realiza todas las medidas necesarias para rellenar la tabla siguiente, a la hora de imprimir el circuito, imprimirlo con los valores de los amperímetros y voltímetros, elabora los cálculos y también añádelos a la práctica, pero no hojas sueltas. Polarización fija: Vcc TEÓRICO PRÁCTICO EWB Vce Vbe Vrc Polarización con realimentación en el emisor: Vcc Vce Vbe Vrc TEÓRICO PRÁCTICO EWB Polarización con realimentación en el colector: Vcc Vce Vbe Vrc TEÓRICO PRÁCTICO EWB Polarización por divisor de tensión: Vcc Vce Vbe TEÓRICO PRÁCTICO EWB Vrc Vre Vrb Ib Ic Ie Vre Vrb Ib Ic Ie Vrb Vr2 Ib Ic Ie Vr1 Vr2 I1-2 Ib Ic Ie PRACTICA 11 TRANSISTOR EN CONMUTACIÓN 1.- Diseña Rb y Re en el circuito de la figura de tal manera que el transistor este en sobresaturación cuando se cierre el interruptor. Hay que tener en cuenta la resistencia del RELÉ que es aproximadamente 10 (mídelo con el polímetro) y la hfe del transistor que utilices (mídelo también), la fuente de alimentación Vcc no es necesario que sea de 25V, puede ser otro valor, igualmente con la Vb 2.- Móntalo en el taller, no es necesario que realices el circuito de la derecha (la de alterna), es sólo un ejemplo para que veas como desde un elemento de pequeña potencia, (la pila y el interruptor de la derecha, que pueden ser perfectamente puertas lógicas o cualquier circuito digital como un puerto de un ordenador) se puede controlar un circuito de alta potencia (el de la izquierda) 3.- Dibújalo en el EWB, y observa su funcionamiento, imprímelo y pégalo detrás. 4.- contesta a las siguientes preguntas: ¿Qué función tiene el diodo en paralelo con la bobina del relé? Quizás no dispongas de dos fuentes de alimentación ¿Cómo se soluciona el problema? Basándote en este circuito ¿Podrías diseñar un temporizador? PRÁCTICA 12 AMPLIFICADOR CON BJT 1.- Realiza un diseño de amplificador con BJT, realimentado por emisor, y con divisor de tensión en la base como la figura, los valores son libres, el proceso de diseño móstralo en la hoja de atrás o en hoja aparte, junto con los valores de las tensiones en la base, emisor y colector continuas, transistor del apéndice B 2.- Móntalo y realiza las mediciones de la ganancia en el osciloscopio, y realiza las medidas de Vb, Ve, Vc con el polímetro o con el osciloscopio. 3.- Realiza igual con el ordenador, tomando las mismas medidas, imprime el osciloscopio y el circuito con los voltímetros que utilices, imprímelos con sus valores, y pégalo atrás. 4.- Rellena la siguiente tabla CALCULADOS MEDIDOS ORDENADOR GANANCIA Vc Vb Ve ENSEÑA LOS CÁLCULOS DE DISEÑO EN LA PARTE DE ATRÁS (10 puntos) 5.- Comenta los resultados obtenidos PRACTICA 13 CIRCUITOS CON AMPLIFICADOR OPERACIONAL (5 p)1...- Diseña el siguiente circuito para que realice la salida del osciloscopio Enseña tu diseño por la parte de atrás, móntalo en el taller y compara el valor teórico con el real R1= R2= R+= Ganancia Teórica Ganancia real= Pon la realimentación positiva, ¿Que ocurre? Comenta el resultado: (5 puntos)2.- Diseña por ordenador un circuito que realice la siguiente expresión Vsalida = 2 Va + 3 Vb - Vc Va, Vb, Vc son tensiones que son de entrada, luego coloca unos valores arbitrarios Va que sea tensión alterna y Vb, Vc continua, imprime el circuito con sus formas de onda Imprime el circuito propuesto en EWB (5puntos) 3.- Realiza por ordenador un filtro pasa banda desde 100Hz hasta 10 Khz, enseña el diseño y la impresión del circuito con el diagrama de Bode. Ganancia 32 dB. Imprime el circuito propuesto en EWB PRÁCTICA 14 ASTABLE Y MONOESTABLE CON 555 (Esta práctica pertenece a Analógica, no la cambies de sitio, aunque a lo mejor la teoría la has dado ya en digital) 1...- Diseña el siguiente circuito para que realice la salida del osciloscopio Para visualizarlo, en vez de 0.2mseg, que sean 0.2seg, cuenta por ejemplo 10 pulsos y así determina la duración de un pulso... 2.-Enseña tu diseño por la parte de atrás, móntalo en el taller y compara el valor teórico con el real, rellena estos valores: R1= Rellena esta tabla: R2= CALCULADOS Th y Tl T total C= MEDIDOS ORDENADOR 3 3.- Realiza por ordenador y en el taller un monoestable con un tiempo de duración de 2 seg, observa su funcionamiento, imprime las formas de onda, el circuito y enseña el diseño en la hoja de atrás 4.-Comenta el resultado de estos circuitos, monoestable y astable: 3 Quizás no puedas diferenciar la parte alta de la parte baja en el taller, así que esta casilla no la rellenes, sólo la del tiempo total contando varios impulsos. PRACTICA 15 MULTIVIBRADOR ASTABLE 1.- Monta en el taller el circuito siguiente: 2.- Realiza las medidas siguientes TH medido TL medido TH calculado TL calculado Vce Q1 Vce Q2 Vbe 3.- Calcula los valores de R1 y R2 para que el Tiempo alto sea 2 veces más grande que el del diseño anterior y el tiempo bajo la mitad, enseña aquí los cálculos, móntalo en el taller y en el ordenador, imprímelo. 4.- Conclusiones y utilidades que se te ocurren en estos circuitos. PRACTICAS DE ELECTRÓNICA DIGITAL PRÁCTICA 1 MEDIDAS DE PARÁMETROS DE LAS PUERTAS LÓGICAS 1.- Monta el siguiente circuito: 2.- utilizando el polímetro y midiendo tanto la entrada como la salida determina los umbrales de entrada y salida, vas subiendo la tensión en la entrada desde 0V, y cuando cambie de estado, lo rellenas en la casilla (¿VIHmin o VILmax?) medida, ahora ves bajando la entrada desde 5V, cuando cambie de valor, rellenalo en la casilla (¿VIHmin o VILmax?) medida busca estos valores en el Databook del CI o en el libro de teoría, y rellena el resto de la tabla Medidas VILmax VIHmin VOLmax VOHmin Databook No No Familia lógica y numeración = 3.- Tiempo de propagación. monta el siguiente esquema: compara con el osciloscopio las dos señales y calcula el tiempo de propagación, busca en el Databook ese valor y rellena la tabla: medida databook tp 4.- ¿Cuales son tus conclusiones?¿Por qué no coinciden los valores medidos y el databook?¿es correcto el método de medición?¿por qué no se han rellenado los VO medidos? PRÁCTICA 2 CIRCUITOS COMBINACIONALES LSI 1.- Un sistema de alarma está construido por cuatro detectores denominados a, b, c, d; el sistema debe de activarse cuando se activen tres o cuatro detectores, si solo lo hacen dos detectores, es indiferente la activación o no del sistema. Por último, el sistema nunca debe de activarse si se dispara un solo detector o ninguno. Por razones de seguridad el sistema deberá activar si a=0, b=0, c=0 y d=1. Implementar este sistema, enseña el diseño en hoja aparte, y monta el circuito propuesto: Dibujo: Numeración pastilla Cantidad Precio por pastilla Total: Total: 2.- Diseñar el sistema que aparece en la figura constituido por cuatro interruptores a,b,c,d en cuyas posiciones de activados introducen un nivel 1 a las respectivas entradas del bloque A Las salidas del bloque A cumple las siguientes normas: F1 se activa con 1 cuando existen dos interruptores no contiguos que estén desactivados, aunque hayan dos interruptores desactivados contiguos, por razones de seguridad si abcd=1001 entonces F1=1 y también si abcd=0110 entonces F1=0 F2 se activa con 1 cuando hay dos o más interruptores activados F3 se activa con 1 cuando hay alguno de los interruptores activados Las salidas del bloque A se encuentran conectadas a 3 pequeños pilotos así como a las entradas del bloque B Por último, las salidas del bloque B representan la codificación en binario del número de pilotos encendidos que hay en su entrada Implementarlo en el ordenador, la simplificación realizarla con ayuda del ordenador, imprimir el diagrama de bloques, y los diagramas de cada bloque, aquí quizás necesites más de una hoja, añádelas a la práctica pero no en hojas sueltas, grápalas, o insértalas en la encuadernación. Rellena las tablas bloque A Numeración pastilla Cantidad Precio por pastilla Total: bloque B Numeración pastilla Cantidad Precio por pastilla Total: Total: Total: a b c A F1 F2 F3 B X1 X2 PRÁCTICA 3 CIRCUITOS COMBINACIONALES MSI 1.- Implementar en el ordenador la siguiente función empleando un multiplexor de 16 canales tipo 74150 (Imprime el cto) F= x·y’ + x·z’·v + x·y·v + z’·v + y´·v’ 2.- Ahora implementarlo con 8 canales tipo 74151 en ordenador (Imprime el cto) y en el taller enseña el diseño de los dos ¿Cual es la conclusión que deduces? 3.- Utilizando un decodificador BCD tipo 7442 y puertas NAND implementar en el ordenador la siguiente función F= a·b’·c’ + a’·b·c’ + a’·b’·c + a’·b’·c’ PRÁCTICA 4 CIRCUITOS ARITMÉTICOS 1.- Diseña y realiza un sumador-restador de 4 bits según las siguientes instrucciones a) La resta debe de realizarse en C1 b) existe una entrada P que determina si se realiza una resta o una suma P=0 suma P=1 resta c)Utilizar el 7486 y el 7483 Enseña el diseño, y móntalo en el ordenador (imprime el circuito), o en el taller. 2.- Realiza la suma de también dos palabras de 4 bits con el sumador completo en ordenador, imprime el resultado PRÁCTICA 7 CONTADOR REVERSIBLE SÍNCRONO Los siguientes circuitos, preferentemente se realizarán en el ordenador, no es necesario imprimirlos, sólo mostrar el diseño funcional4 de todos ellos atrás. 1 2 3 4 5 Realizar un circuito ... Contador módulo 7 Divisor 26 Contador 2 a 8 ascendente Contador 13 a 5 descendente Contador 7 a 9 ascendente Con el integrado ... 7490 7493 74190 o 74191 74190 o 74191 74192 PRACTICA 8 REGISTROS DE DESPLAZAMIENTO Dibuja el diseño funcional de estos circuitos: 1.- Con el 74194 realiza un circuito secuenciador de LEDs en el taller, es decir, que se desplace un LED encendido, (hay que realizar un pulso corto en el SR) Ejemplo de funcionamiento : 1000 0100 0010 0001 2.- ¿Cómo harías que se recorriese siempre? Es decir :1000 0100 0010 0001 1000 0100 .. 3.- RETO ¿Cómo harías un “coche fantástico” ? es decir 1000 0100 0010 0001 0001 0010 0100 pista: añadir “algo que recuerde” que dirección tomar, ejem RS 1000 y otra vez a empezar Recorte del manual 74194 4 Diseño funcional se refiere a que los dibujos deben de mostrar con claridad las conexiones, es decir, que no hay que respetar el orden de los pines en la colocación de los mismos. PRÁCTICA 9 ESTUDIO DE UNA MEMORIA EPROM BORRADO GRABADO Y APLICACIONES 1.- Supongamos que un tribunal esta compuesto de 5 personas, disponen de un interruptor para determinar si es culpable (1) o inocente (0) el acusado, como la votación se desea que sea secreta, se precisa de un circuito electrónico que realice las siguientes salidas a) Mostrar el número de votos culpables , que por simplificación, se visualizará en un solo Display b) Que un LED rojo se encienda si el acusado es culpable c) Que un LED verde se encienda si hay más de un 75% que opina que es inocente d) Que un LED rojo pequeño que determine el empate Implementar este circuito con la EPROM 27C64A, borrarla y programarla, después montar el circuito, rellena la tabla de verdad (paciencia), y los valores en hexadecimal que se graban en la memoria. Hay que poner a la salida de la EPROM unos trigger 7414, como son inversores, o grabarlo al revés, o poner dos trigger en cascada. Dibujar diseño funcional del circuito atrás. decimal Binario Grabación binario en Grabación hexadecimal en 0 00000 1 00001 2 00010 3 00011 4 00100 5 6 7 8 9 10 11 12 13 14 15 16 17 1 18 19 20 21 22 23 24 25 26 27 28 29 30 2.- Contestar a las siguientes preguntas Capacidad de palabras que almacena El tamaño de la palabra que almacena El número total de bits que almacena El tipo de memoria integrada Características eléctricas de la pastilla Haz un dibujo de la estructura interna de la memoria EPROM 27C64A: PRÁCTICAS CON EL 8085 Índice: 1. 2. 3. 4. 5. Generalidades del 8085 1.1. Hardware del 8085 1.2. Instrucciones del 8085 1.2.1. Instrucciones de transferencia de datos 1.2.2. Instrucciones aritméticas 1.2.3. Instrucciones lógicas 1.2.4. Instrucciones de desplazamiento 1.2.5. Instrucciones de salto 1.2.6. Instrucciones de subrutinas 1.2.7. Instrucciones de pila 1.2.8. Instrucciones de control Manejo del simulador 8085 2.1. PRÁCTICA 10 Manejo del micro 8085 desde el PC 3.1. Introducción 3.2. Comandos 3.3. Subrutinas 3.4. direcciones de nuestros programas Manejo del micro 8085 desde la consola 4.1. Introducción 4.2. Comandos 4.3. Interrupciones 4.4. Grabar y leer desde una cinta casete Prácticas 5.1. Manejo del entrenador 5.2. PRÁCTICA 11 5.3. Semáforo 5.4. PRÁCTICA 12 1.- Generalidades del 8085 1.1.- Hardware del 8085 Dentro del 8085 tenemos los siguientes registros: A (8) Acumulador S Z AC P CY ... Flag (8) ALU Unidad Aritmético Lógica B (8) C (8) D (8) E (8) H (8) L (8) registros auxiliares U.C. Unidad Control RI (8) reg. de instruciones SP (16) stack pointer puntero de pila PC (16) contador del programa Todos están conectados entre si, y el 8085 tiene exteriormente 3 buses como todos los microprocesadores (pero con tamaños diferentes): D.B. A.B. C.B. Nombre Bus de datos (data bus) Bus de direcciones (Adrress Bus) Bus de Control bits 8 16 10 comentarios conectado al R.I. desde este registro la U.C. lee las instrucciones y las procesa. conectado al PC indica la dirección de memoria del programa que se esta leyendo. Conectado a la U.C. para controlar el sistema Hay que señalar que el 8085 tiene el bus de direcciones multiplexado, es decir, tiene 8 pines AD0 .... AD7 que son bus de datos y bus de direcciones (la parte baja), para diferenciarlo tiene un pin llamado ALE que cuando es 0 las líneas AD0...AD7 es bus de datos D0...D7, y cuando ALE=1, las líneas AD0...AD7 es parte baja del bus de direcciones A0...A7. El bus de control además del ALE, tiene los siguientes pines: Lectura Escritura: RD# y WR#5 Acceso a memoria o a periféricos: IO/M#. pin indicador de estar preparado para atender al dispositivo exterior : READY. pin indicador que el dispositivo externo esta ocupando los buses : HOLD. pin indicador que el 8085 no hace caso a los buses HLDA. pin indicador que el 8085 se ha reseteado RESETOUT. y pines indicadores de estado S0 S1 (S0S1 =01 Escribe dato, =10 Lee dato, =11 Busca dirección). 5 El símbolo # indica que es activo a nivel bajo. En la Pág. 280 y 281 explica el funcionamiento de cada uno de los registros, unidades etc.., señala brevemente el significado de cada uno de ellos: Descripción A B, C D, E H, L Flag S Z AC P CY ALU U.C. R.I. P.C. S.P. 1.2.- Instrucciones del 80856 Nomenclatura: r = un registro de 1 byte , puede ser cualquiera de estos : A, B,C,D,E,H,L. (rs =registro origen de datos, source, rd = registro destino de los datos) [1000] = el dato almacenado en la dirección 1000H [HL] = el dato almacenado en la dirección contenida en el registro HL M= “”” dato = un número de 1 byte, por ejemplo 4AH, suelen ser los datos. addr = un número de 2 bytes, por ejemplo 10B2H, suelen ser las direcciones 6 Estas hojas son las que se permitirán en los exámenes. H=hexadecimal, B=Binario, D = Decimal 1.2.1.- Instrucciones de transferencia de datos MOV rd,rs LDA addr MOV rd,M MOV M,rs STA addr MVI rd,dato LDAX B LHLD addr STAX B LDAX D SHLD addr STAX D LXI B,addr XCHG LXI D,addr LXI H,addr ejemplo de utilización : 1.2.2.- Instrucciones aritméticas ADD rs SUB rs ADD M SUB M ADI dato SBI dato ADC rs SBB rs ADC M SBB M ACI dato SBI dato INR rs DCR rs INR M DCR M INX B DCX B INX D DCX D INX H DCX H DAD B STC DAD D CMC DAA 1.2.3.- Instrucciones lógicas ANA rs XRA rs ANA M XRA M ANI dato XRA dato ORA rs CMP rs ORA M CMP M ORI dato CPI dato CMA alteran solo el flag : Z, S, CY, AC ... 1.2.4 Instrucciones de desplazamiento RLC RRC RAL RAR 1.2.5 Instrucciones de salto JMP addr condición puede ser alguna de las siguientes: Jcondicion addr Z NZ P M C NC PO PE PCHL RSTn 1.2.6 Instrucciones para las subrutinas CALL addr RET Ccondición Rcondición 1.2.7.- Pila PUSH B PUSH D XTHL POP B POP D SPHL 1.2.8.-Instrucciones de control HLT IN puerto NOP OUT puerto SIM EI 2.- Manejo del simulador 8085 Vamos a realizar un pequeño ejemplo de funcionamiento. Vamos a mover el contenido de la dirección 2000H al acumulador, y almacenarlo en la 2001H, y el contenido de la dirección 2002H moverlo al registro B, y almacenarlo en la 2003H. a) Escribir el siguiente programa en un editor, por ejemplo el EDIT de MS-DOS, guardarlo como PRUEBA.ASM el archivo fuente debe de tener la extensión *.ASM (vamos al directorio 8085, desde el raíz : CD 8085, y EDIT PRUEBA.ASM) ; programa de muestra ;*** mover datos **** ;colocación de los nº ORG 2000H DATO1: DB 05H DATO2: DB A4H DATO3: DB 45H,12H ;programa1 ORG 1000H LDA DATO1 STA DATO2 LXI H, DATO3 MOV B,M INX H MOV M,B END todo lo que se escribe después de ; no se ensambla, así que se puede utilizar como comentarios. ORG = organizar las siguientes líneas a partir de la dirección en este caso 2000H DB = se utiliza para poner datos, en este caso, pone 05 en 2000, A4 en 2001 etc... aquí DATO1 es una etiqueta, y toma el valor de la dirección donde esta escrita, en este caso DATO1 es igual a 2000 ¿y DATO2? hay que poner : y escribirlas en la primera columna, el resto del programa a partir de la columna 10. también puede haberse escrito: DATO1 EQU 2000H EQU= equivale a ... el programa se ha escrito a partir de la dirección 1000H, carga el acumulador (loadA) y lo almacena (storeA), podría haberse escrito STA 2000H y LDA 2001H, para el registro B hay que utilizar el registro M, antes de utilizar el registro M hay que cargar HL la dirección que queremos, LXI H,DATO3 = LXI H,2002H, lo mueve a B, y para moverlo al 2003 podría haberse escrito LXI H,2003H o como en este caso, incrementando lo que tenía, movemos de B a M, y para finalizar END. b) después de guardarlo ensamblarlo con la instrucción: ASM8085 PRUEBA.CCC esto crea 3 ficheros, si salen errores hay que corregirlo en el prueba.asm: PRUEBA.ERR = listado de errores de 1ª pasada. (A=argumento erróneo, D=etiqueta no existe, L=etiqueta erronea, U=símbolo indefenido, S= error sintaxis) PRUEBA.LST = listado del programa, aquí salen los errores de 2ª pasada. PRUEBA.OBJ = listado en lenguaje máquina. c) simularlo con el programa SIM8085, una vez dentro pulsar F4 y cargar el PRUEBA.OBJ, utilizar los siguientes comandos: V = ver memoria, en este caso nos interesa ver lo que hay en la 2000H y siguientes. M = modificar memoria, si queremos alterar los nº que hemos metido. R = modificar los registros, en este caso pondremos el contador del programa PC en la dirección de comienzo de nuestro programa: 1000H T = trazar o ejecutar paso a paso, ir pulsando y observar lo que ocurre en cada instrucción. Q = salir otras utilidades: F1 visualiza una ayuda C = ver el código E = ejecutar entre dos direcciones, ESC para salir, I para interrupción 7.5 PRÁCTICA 10 SIMULADOR SIM8085 En esta práctica la intención es que toméis un primer contacto con el 8085, y realizar los ejercicios de un microprocesador en un PC, para después pasarlos a la práctica. 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. Tienes que ensamblarlos, 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: 10.1.- Realizar una transferencia de datos [1500] <= [1503] y [2500] <= 0 con las instrucciones MOV MVI. 10.2.- Idem pero con las funciones LDA y STA 10.3 .- Sumar 3 números de 1 byte, almacenar su resultado y su posible acarreo, [1003] <= [1000]+[1001]+[1002] el acarreo almacenarlo en [1004] 10.4.- Sumar dos números de 2 bytes de la siguiente forma, con registros simples 1º número [1000][1001] 2º número + [1002][1003] . resultado [1006] [1004][1005] 10.5.- Idem con registros dobles. 10.6.- Multiplicar un número por 4 de la siguiente forma : [1001] <= [1000] * 4 10.7.- Multiplicar 2 números de un byte : [1002] <= [1000]*[1001] 10.8.- Dividir 2 números de un byte : [1002] <= cociente [1000]/[1001] [1003] <= resto de [1000]/[1001] 10.9.- Hacer un intermitente de un LED por el puerto paralelo OUT 00H 10.10 .- Encender 8 LEDs secuencial mente por el puerto paralelo OUT 00H 10.11.- 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 adjúntalo a los anteriores, crea una transparencia del diagrama en bloques para exponerlo a la clase y explicar a los demás qué has hecho y cómo. 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) 3.- Manejo del micro 8085 desde el PC 3.1 Introducción Para utilizar el micro 8085 desde el PC, se debe de poner el conmutador Teclado/CRT en la posición CRT. En el fichero CONFIG.SYS del PC debe de existir la línea DEVICE=ANSI.SYS. Y también tener conectado un cable conexión serie de tres hilos de la siguiente forma: En el micro (tres hilos) TX ------------------------RX ------------------------GND ----------------------- En el PC (macho de 25 pines) RX (3) TX (2) RTS (4) con CTS (5) GNE (7) DSR (6) con DTR (20) Ejecutar el fichero DDT85 he indicar en qué puerto esta COM1 COM2 etc..., de esta forma se consigue una comunicación de 2400 baudios cada dato de 8 bits, con 2 de stop. Pulsar INIC antes de utilizar los comandos. Si se quiere ensamblar un fichero por ejemplo PRUEBA.ASM para el 8085, ejecutar HACERHEX PRUEBA, es un fichero BATH que ensambla y ejecuta a la vez el DDT85. 3.2 Comandos D dirección baja, dirección alta = Visualiza la memoria desde la dirección alta hasta la baja, ejem D1009,2A50 Gdirección comienzo = ejecuta el programa desde la dirección comienzo, si no se pone, ejecuta desde donde apunta el registro PC. N = ejecución paso a paso I dirección = inserta en la memoria a partir de dirección. Mdirección baja, dirección alta, destino = mueve la memoria, ejem M1E00,1E06,1F00 = mueve el bloque de memoria desde la 1E00 hasta 1E06 a la 1F00 Sdirección = Visualiza y modifica la dirección, ejem S1000 Xregistro = Visualiza y modifica los registros, ejem XA, si no se pone el registro, los visualiza en este orden: A B C D E F H L M P S L nombre del programa offset = carga un programa desde el ordenador a partir de la dirección 1000H, el offset es el número de posiciones de memoria que se incrementa el programa, ejem offset=10, entonces lo carga en la 1010, luego es aconsejable utilizar en vuestros programas ORG 0000H o ORG 0500H H = fin de la comunicación 3.3 Subrutinas Estas son algunas de las subrutinas que podéis utilizar: Dirección 0A51 0A5D 0A33 nombre7 CI18 CO1 PRIMES descripción Interrupc reg. alt. Carácter de consola al acumulador Masc F Del registro C al display AF un mensaje que esta en memoria, que AHLF comienza en la dirección apuntada por HL se visualiza en el display 0AB7 ADRD el contenido de HL se visualiza en el display ABCF 04C9 UPDAD “ TODOS 04D5 UPDDT el contenido del acumulador se visualiza en el “ display 0B74 DELAY retraso de 1 mseg 044E RDKBD ídem CI1 HLF 041D OUTPT ídem Primes 037D GTHEX nº hex de 2 bytes ejem A725 desde el teclado, al display y al registro DE 02BF TODIR Idem que el anterior, pero sin visualizarlo Para utilizar estas subrutinas, hay que utilizar el comando EQU, por ejemplo: RDKBD EQU 044EH UPDDT EQU 04D5H Para permitir desenmascarar todas las interrupciones, es necesario poner 08H al Acumulador, y ejecutar SIM, y para habilitar el sistema de interrupciones EI Estas direcciones pertenecen a la ROM y son inalterables, pues vienen de fábrica. 3.4 Direcciones de nuestros programas. Nos dividiremos la memoria RAM para efectuar nuestros programas y así no “chafar” los programas de nuestros compañeros: grupo profesor GRUPO 1 GRUPO 2 GRUPO 3 direcciones 1000 10FF 1100H 12FFH 1300H 14FFH 1500H 15FFH grupo GRUPO 4 GRUPO 5 GRUPO 6 LIBRE direcciones 1700H 18FFH 1900H 1ªFFH 1B00H 1CFFH 1D00H 1FFFH 7 El nombre puede ser arbritario las teclas azules tienen el siguiente código: EJEC=15H GO=12H SMANT=13H 8 EREG=14H POST=11H EJEC=10H 4 Manejo del micro 8085 desde la cónsola 4.1 Introducción El 8085 como tiene los buses de datos y el de direcciones multiplexado, el 74373 los demultiplexa, 8085 ------ AB y DB (8) ------- 74373 ----- ABL (8) ----- DB(8) Tiene un reloj de cuarzo de 4.915 MHz, un decodificador de 3 a 8 canales 74138 y puertas AND 7408 para la realización del mapa de memoria, que es la siguiente: Direcciones 0000 0FFF 1000 1FFF 2000 20FF chip, mapa hardware EPROM 4k 2732 2x RAM 2k 4016 RAM 256 bytes 8155 U17 Periféricos: Tiene una ranura de expansión J1 de 50 como memoria externa, y tres puertos: tipo jumper SERIE J8 PARALELO J5 J6 J7 “ J2 J3 J4 descripción, mapa software Programa monitor de la cónsola y subrutinas anteriores Programas de usuario Utilizado por la cónsola hilos, una salida MIC EAR para comunicarse con un cassette, puerto PA PB PC PA PB PC chip 8251 81555 ref U13 U11 U12 U14 8255 U15 4.2 Comandos INIC = Se produce un “reset” y aparece en el display 8085. S.M/ANT POST =Sustituir memoria y anterior =Posterior, equivale al “enter” ejemplo, queremos meter a partir de la dirección 1000 los siguientes datos 31,8C,1F, solución: SM/ANT 1000 POST 31 POST 8C POST 1F si hay error: SM/ANT 1000 POST 31 POST 8D POST SM/ANT 8C POST 1F E REG =Examinar los registros, para ver uno concreto, pulsar su nombre, si quieres ver todos, pulsar POST (hacia delante) o ANT (hacia atrás) y se verán en el siguiente orden: A B C D E F I H L SPH SPL PCH PCL F= S Z X AC X P C I=X X X IE M7.5 M6.5 M5.5 IE =Validación de interrupciones, y las M son las máscaras de las interrupciones GO = Ejecuta el programa, visualiza el PC, introducir la dirección de comienzo, y pulsar EJEC, para interrumpir INIC, el programa puede finalizar con alguna instrucción como RST0, RST1 o JMP 0000H, se aconseja situar la pila al final (LXI SP. 1FFFH) EJEC =Ejecuta paso a paso, POST para pasar al siguiente paso INTR VECT = Se realiza la interrupción 7.5, (RST 7.5), es un interruptor conectado directamente al pin 7 del 8085 (Ver interrupciones) E =Lee un programa desde el cassette C =Graba un programa al cassette 4.3 Interrupciones En las interrupciones vectorizadas, el micro salta a una dirección fijada, donde se trata a la interrupción, hay de dos tipos: Interrupciones tipo software: RST0, RST1, RST2 .... RST7 Interrupciones tipo hardware: RST5.5, RST 6.5, RST7.5, INTR, TRAP (la interrupción 5.5 es la que utiliza el teclado) En las interrupciones tipo hardware, es necesario que para que no tengan máscara, para quitarles las máscara se puede modificar el registro I, o con la instrucción SIM. También hay que validarlas con la instrucción EI En la interrupción 7.5 el 8085 salta a la dirección 00CEH, que en este entrenador esta en la ROM, y tiene grabado la siguiente tabla: 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 después 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 direcció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 efectué 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: Direcc. 1000 1003 1005 1007 1008 1009 100C Cod. Maq. 31 FF 1F 3E 00 06 0A 80 SUMAR: 05 C2 07 10 CF Ensambl. LXI SP,1FFFH MVI A,00H MVI B,0AH ADD B DCR B JNZ SUMAR RST 1 ;fin 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 línea 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 programa, 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 transparencia 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 golpe de 1º 2º reloj S1 PUERTO C 8255 S2 PUERTO A 8255 puerto OUT 3AH OUT 38H 3º 4º S3 PUERTO B 8255 OUT 39H S4 PTO B DEL 8155 OUT 22H semáforo P1 G1 F1 P2 G2 F2 P3 G3 F3 P4 G4 F4 bits VNR VNR VR VNR VNR VR VNR VNR VR VNR VNR VR 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: ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ;PROGRAMA PARA CONTROLAR EL SEMAFORO DE LA SERIE ;uP-2000 (SEMAFORO-2000) ;CONEXIONES A REALIZAR ;PB8155 ---->S4 ;PB8255 ---->S3 ;PA8255 ---->S2 ;PC8255 ---->S1 ;PA0-8155 --->INTERRUPTOR S0 DE LA TARJETA ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ CONTWO8255 EQU 80H ;CONTROL WORD 8255 CONTWO8155 EQU 02H ;CONTROL WORD 8155 PCO8255 EQU 3BH ;PUERTA CONTROL 8255 PA8255 EQU 38H ;PA DEL 8255 PB8255 EQU 39H ;PB DEL 8255 PC8255 EQU 3AH ;PC DEL 8255 PCO8155 EQU 20H ;PUERTA CONTROL 8155 PA8155 EQU 21H ;PA DEL 8155 PB8155 EQU 22H ;PB DEL 8155 GTHEX EQU 037DH ;CAPTAR TECLADO UPDAD EQU 04C9H ;VISUALIZACION ADDRES OUTPT EQU 041DH ;VISULIZACION UPDDT EQU 04D5H ;VISULIZACION DATOS DELAY EQU 0B74H ;RETARDO 1 MSG. ; ;$$$$$$$$$$$$$$$$$$$$$INICIO DEL PROGRAMA $$$$$$$$$$$$$$$$$$$$$$$$$ ;inicializar las variables ORG 0000H LXI SP,1FF0H ;INICIALIZAR LA PILA MVI A,CONTWO8255 ;INIC 8255 OUT PCO8255 ;TODAS COMO SALIDAS MVI A,CONTWO8155 OUT PCO8155 XRA A ;FLAG DE INTERMITENCIA STA FLIN ;programa INIC: LXI H,TABLA ;APUNTAR A TABLA CONT: IN PA8155 ;LEER ESTADO INTERRUP ANI 01H CNZ TOINTE ;PONER INTERMITENTE SHLD PTTAB ;GUARDAR PTR TABLA MOV A,M ;TRAER VALOR CPI 0FFH ;ES ULTIMO? JZ INIC LDA FLIN ;TRAER FALG INTER CPI 01H ;ES 1? JZ INTER MVI A,01H ;PONER A 1 STA FLIN CALL SATAB ;SACAR VALORES CALL TEMP1 ;TEMPORIZAR ; incrementar la tabla 4 lugares INCRE: LHLD PTTAB ;TRAER PUNTERO INX H ;APUNTAR A LOS SIGUI INX H INX H INX H SHLD PTTAB ;GUARDAR PUNTERO JMP CONT ;tointe mantiene los semáforos en intermitencia TOINTE: MVI A,01H ;PONER FLAG DE INTER STA FLIN LXI H,TABIN ;APUNTAR A TAB INTERMI RET ;Inter hace 6 intermitencias del semáforo encendido Verde antes de cambiar a rojo INTER: XRA A ;PONER FLIN A CERO STA FLIN MVI B,06H ;NUMERO DE INTERMI INTER1: CALL SATAB ;SACAR VALORES CALL TEMP2 ;RETARDO CALL SATAIN ;PONER NARANJAS A "0" CALL TEMP2 ;RETARDO DCR B ;ES ULTIMO? JNZ INTER1 JMP INCRE ;Satab saca los valores de la tabla por las respectivas puertas conectadas a los semáforos SATAB: LHLD PTTAB ;TRAER PUNTERO TABLA MOV A,M ;TRAER VALOR OUT PC8255 INX H ;TRAER SIGUIENTE MOV A,M OUT PA8255 INX H ;TRAER SIGIENTE MOV A,M OUT PB8255 INX H ;TRAER SIGUIENTE MOV A,M OUT PB8155 RET ;Satain saca la tabla de intermitencias SATAIN: LHLD PTTAB ;TRAER PUNTERO TAB MOV A,M ANI 6DH ;PONER A "0" LOS NARAN OUT PC8255 INX H MOV A,M ANI 6DH OUT PA8255 INX H MOV A,M ANI 6DH OUT PB8255 INX H MOV A,M ANI 6DH OUT PB8155 RET ;Temp1 y temp2 son temporizaciones TEMP1: LXI D,19FFH ;VALOR DE RETARDO TEM: CALL DELAY ;RETARDO 1 MSG. DCX D MOV A,E ORA D JNZ TEM RET ; TEMP2: LXI D,2FFH ;VALOR DE RETARDO CALL TEM RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ;TABLA DE SALIDAS A SACAR TABLA: DB DB ;TANTAS LÍNEAS COMO QUERÁIS DB DB ;LAS TABLAS ES LO QUE DB ; TENÉIS QUE HACER, FINALIZAR CON 0FFH DB DB ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ;TABLA DE INTERMITENCIAS TABIN: DB ; TAMBIÉN ESTAS 1 LÍNEA, FINALIZAR CON 0FFH DB ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ; ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ;POSICIONES DE MEMORIA RESERVADAS ; FLIN: DS 1 ;FLAG DE INTERMITENCIA PTTAB: DS 2 ;PUNTERO DE TABLA ; END 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 transparencia 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 CONCLUSIONES Como conclusión, podemos asegurar que las tecnologías electrónicas se están abriendo paso en nuestras escuelas, pero todavía tienen un gran camino por recorrer. No es suficiente con dotar a las escuelas con ordenadores y conexión a Internet para crear una sala de informática. No conseguiremos una integración total hasta que el profesorado utilice las tecnologías como una herramienta más a su servicio como lo pueden ser la pizarra o el bolígrafo rojo. Esto sólo será posible gracias a una infraestructura adecuada y actual, a un profesorado motivado y formado en el campo informático y a unos programas y materiales pedagógicos de calidad al servicio de la educación. Los servicios que proporciona Internet tienen el potencial de aumentar la flexibilidad de los estudios, de mejorar la calidad de la enseñanza al potenciar un aprendizaje mejor y de abordar nuevos métodos de análisis, síntesis y resolución de problemas. Además han permitido reformular y reorientar una parte importante de las metodologías de aprendizaje de los estudiantes. Pero también han motivado una reformulación del proceso docente del profesorado. La adaptación a estos entornos no es simétrica, dado que los profesores requieren un cambio de métodos, herramientas, entornos e interacciones, mientras que los estudiantes, por razón de edad o por su facilidad de integración de métodos, se adaptan mucho más fácilmente. Los Centros Docentes han apostado por la utilización estratégica de estas tecnologías y dedican un esfuerzo tecnológico y humano de alto valor. Estas estrategias afectan a la naturaleza del trabajo de los profesores, a la relación entre éstos y los estudiantes y a la organización y gestión de los Centros Docentes. Las experiencias acumuladas ya son suficientemente válidas como para que se pueda abordar un estudio más profundo de los efectos de la utilización de los servicios de Internet en el hecho docente. BIBLIOGRAFÍA. DECRETO 39/2002, de 5 de marzo, del Gobierno Valenciano, por el que se modifica el Decreto 47/1992, de 30 de marzo, del Gobierno Valenciano, por el que se establece el currículo de la Educación Secundaria Obligatoria en la Comunidad Valenciana. http://www.cult.gva.es/Educacion.htm DECRETO 50/2002, del 26 de marzo, del Gobierno Valenciano, por el que se modifica el Decreto 174/1992, de 19 de agosto, del Gobierno Valenciano, por el que se establece el currículo del Bachillerato en la Comunidad Valenciana. http://www.cult.gva.es/Educacion.htm Pagina personal del Asesor de Tecnología de la E.S.O y del Bachillerato Tecnológico del Cefire de Alicante. BIBLIOGRAFÍA PARA EL ÁREA DE TECNOLOGÍA. Actualizada por César Sánchez Serna. http://www.terra.es/personal/cesarsan/. Copyright 1997-2002. cesarsan@teleline.es. Alicante. España. SÁNCHEZ SERNA, CESAR. VILLENA ROBLIZO, Mª DOLORES (2003). “Anexo: electricidad – electrónica”. Curso 2002-2003. Elda: Cefire. En Internet: http://cefirelda.infoville.net SÁNCHEZ SERNA, CÉSAR. VILLENA ROBLIZO, Mª DOLORES (2003). “Construcción de prototipos electrónicos utilizados en los proyectos de tecnología.” Curso 2003-2004. Elda: Cefire. En Internet: http://cefirelda.infoville.net SÁNCHEZ SERNA, CESAR. VILLENA ROBLIZO, Mª DOLORES (2003). “Formación en control y robótica en tecnología.” Curso 2003-2004. Elda: Cefire. En Internet: http://cefirelda.infoville.net SÁNCHEZ SERNA, CESAR. VILLENA ROBLIZO, Mª DOLORES (2003). “Elementos de potencia utilizados en los proyectos de tecnología.” Curso 2003-2004. Elda: Cefire. En Internet: http://cefirelda.infoville.net SÁNCHEZ SERNA, CESAR. VILLENA ROBLIZO, Mª DOLORES (2003). “Electrónica de control analógica utilizada en tecnología: regulación electrónica.” Curso 2003-2004. Elda: Cefire. En Internet: http://cefirelda.infoville.net.