lunes, 3 de septiembre de 2012

Actividad 4

Amplificadores Operacionales

  En esta actividad actividad realizaremos mediciones en circuitos de Amplificadores Operacionales con sus distintas configuraciones basicas tales como el Inversor, el No inversor y el Buffer, y las compararemos con las realizadas analíticamente con los Amplificadores Operacionales ideales. Describiendo resumidamente, el amplificador operacional es un dispositivo activo, multiterminal, con una ganancia muy elevada. En su interior hay un conjunto de transistores y resistencias, seguido de los que se encuentran en el circuito externo, con los mismos se logra alcanzar ganancias de salida extremadamente altas.
  En las siguientes figuras podemos apreciar los distintos tipos de amplificadores ideales utilizados en esta actividad:

 -La configuración basica de los Amplificadores, Inversor:



-Amplificador No inversor:



-Finalmente, el Amplificador "Buffer", el cual se utiliza como adaptador de impedancia:




  Luego de un breve repaso teórico nos dirigiremos a la resolución de la actividad, la cual esta dividida en distintas experiencias.

Experiencia 1: Amplificador Inversor.




Parte A: Comportamiento en Continua.

Comenzamos realizando mediciones sin la inclusión del puente J1.
Medimos con el multímetro en el punto medio del PRESET los valores máximos y mínimos de tensión que entrega el circuito. Luego, comparamos los valores medidos con los calculados:


Valor medido
Valor calculado
Va max
1,63
1,7
Va min
-1,65
-1,7


Conectamos la entrada (Vs) a GND y verificamos como la tensión de salida se reduce a un valor muy cercano a los cero volts:

Vo = 5,2 mV


Conectamos nuevamente el puente J1 para continuar con nuevas mediciones.
En este paso, realizaremos 11 mediciones en el punto Va del circuito, verificando las tensiones máximas y mínimas obtenidas variando de un extremo al otro el cursor del Preset. Tomaremos 5 tensiones de entrada positivas, 5 tensiones negativas y la restante, será la obtenida al desconectar nuevamente el puente J1 y conectando Vs a tierra.

Verificamos nuevamente la tensión máxima y mínima obtenida en Va luego de haber conectado el puente J1 y apreciamos una mínima variación con respecto a la medida anteriormente, en la cual se encontraba desconectado el puente J1: 

Va min = -1,39V     
Va max = 1,37V

Plasmamos las mediciones realizadas en puntos regulares del rango capacitado del Preset en una tabla: 

Vs [V]
Vo [V]
- 1,38
2,06
- 1,05
1,574
- 0,8
1,207
- 0,51
0,76
- 0,175
0,257
0,194
- 0,295
0,488
- 0,735
0,872
- 1,308
1,13
- 1,697
1,37
- 2,05
0
- 0,0052

Observando las 11 mediciones realizadas podemos apreciar como al variar el Preset desde su punto mínimo hasta su punto máximo las tensiones de entrada y salida reciben sus valores máximos y mínimos también. Mientras que en los puntos medios del Preset, las mismas acercan sus valores al 0.

Luego de realizar las mediciones, aplicamos las mismas en un grafico realizado con el Excel para obtener así,  la función transferencia del circuito, es decir, Vo en función de Vs.


Con el gráfico podemos apreciar como el circuito se comporta de manera lineal en todos sus valores, desde los mínimos hasta los máximos. Además, luego de las mediciones escritas en la tabla y el gráfico, podemos entender el porque de la designación de su nombre "Inversor", ya que cuando el circuito recibe una tensión negativa en su entrada, transmite una positiva a su salida, y viceversa.  


- Para hacer más clara la experiencia realizada, se responderán una serie de preguntas necesarias para lograr apoyar las mediciones.

  • La ganancia de tensión en veces, en la zona lineal del circuito, equivale a:
          Vo = Vo/Vs = 1,5 veces
          A su vez, su respectiva ganancia de tensión en dB es igual:
    
         Vo (dB) = 20 log ( G veces ) = 3,52 dB








Parte B: Comportamiento en Alterna.

Le desconectamos el puente J1 y a su vez le inyectamos una señal senoidal de 1 KHz, menor a 400mV pico a pico, en la entrada del circuito (Vs) con un generador de funciones. Capturamos la imagen entregada por el osciloscopio en la cual se muestre la tensión de salida y de entrada en su forma pico a pico simultaneamente. Además, mostrar el valor del periodo utilizando cursores.


En la imagen se puede apreciar la tensión de entrada pico a pico en color Celeste. Su valor es de 260mV.
Por otro lado, la tensión de salida pico a pico en color Amarillo, con un valor de 352mV.
Finalmente, se muestra el periodo de tiempo de la señal en color Blanco. Este equivale a 990uS.


Llevamos la tensíon de entrada hasta el punto límite en el cual se observa un recorte en la señal, sin que se observe el mismo en la tensión de salida. Capturamos esa imagen con el osciloscopio.


En la imagen se puede apreciar la tensión de entrada pico a pico en color Celeste. Su valor es de 624mV.
Por otro lado, la tensión de salida pico a pico en color Amarillo, con un valor de 448mV.
Se muestra el periodo de tiempo de la señal en color Blanco. Este equivale a 992uS.
Finalmente, en color Rojo se encuentra marcado el recorte de la señal de entrada.
Al variar la tensión de alimentación, ya sea aumentandola o disminuyendola, siempre dentro de los rangos que permite el Amplificador, se podría observar el recorte de la señal en distintos puntos de la misma, ya sea en niveles más altos o más bajos de la señal de entrada.

Con el objetivo de comparar la respuesta a distintos niveles de tensión de alimentación hicimos algunas mediciones como éstas:
  • Con 7V de alimentación la salida se recorta a partir de 712mV de entrada.
  • Con 10,9V de alimentación la salida se recorta a partir de 1,12V de entrada.
De acuerdo a lo registrado podemos establecer que la tensión de alimentación modifica los valores máximos y mínimos que puede adoptar la señal a la salida sin recortarse, pero no modifica los valores de ésta dentro de esos límites.


Experiencia 2: Amplificador No Inversor y Buffer.


Para comprobar el funcionamiento del circuito en configuración no inversor aplicamos en la entrada una señal senoidal con una frecuencia de 1KHz y los siguientes niveles de amplitud:
200mV:
 

Vo = 3,08V
G = 15,4

400mV:
Vo = 6,36V 
G = 15,9

600mV:
 Vo = 9,92V
G = 16,53

1V:
Vo = 16V
G = 16

1,2V:
Vo = 20V
G = 16,16

Este es el límite de recorte del circuito. Hasta este punto observamos el correcto funcionamiento del circuito, en el que la ganancia se mantiene cercana a los 16V (tomando en cuenta los errores de medición), que es el valor ideal de ganancia siendo que:
R1 = 6,8 K
R2 = 100 K
G = R2/R1 = 14,7 K

1,4V:
Vo = 21V
G = 15
En este punto la señal se muestra cortada y por lo tanto, la ganancia comienza a disminuir. A partir de aquí la señal aumentará su recorte, disminuyendo la ganancia de forma progresiva.


Con el objetivo de examinar al circuito en configuración de buffer, removimos la resistencia R1 y cambiamos la resistencia R2 por un cable (cortocircuito), de esta manera se establece la configuración buffer, que entrega una ganancia de 1 (0 dB), lo cual comprobamos mediante estas mediciones:




Esta configuración presenta una característica muy importante: posee una impedancia de entrada muy alta y una impedancia de salida casi nula. Esto permite conectar 2 circuitos sin que el segundo resulte carga para el primero, a esto se lo llama "adapatar impedancias".
Este circuito es utilizado,por ejemplo, para medir tensiones de manera muy exacta en un sensor sin afectar a la medición.













Actividad 5


Actividad 5


En esta actividad se realizaran 20 ejercicios de programación elemental, estos ejercicios serán resueltos en dos tipos de lenguajes: en "C" y en "ASEMBLER". También se utilizara el "MPLAB" para compilar los programas y simularlos, luego se simularan en "PROTEUS" 

Resolución de los ejercicios en lenguaje ensamblador.


Manejo de ports

Ejercicio 1
Por el Puerto B se obtiene el dato de las cinco líneas del Puerto A al que está conectado un array de interruptores. Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xxx11001" (el valor de las tres líneas superiores no importa).





Funciones matematicas  


 Ejercicio 2
Por el Puerto B se obtiene el dato de las cinco líneas del Puerto A, al que está conectado un array de interruptores, sumándole el valor de una constante, por ejemplo 74.
Es decir: (PORTB)=(PORTA)+Constante





Ejercicio 3
Por el Puerto B se obtiene el dato del Puerto A multiplicado por 2.
Es decir: (PORTB)=2(PORTA)=(PORTA)+(PORT A).






Mascaras

Ejercicio 4
Por el Puerto B obtiene el dato del Puerto A, pero en la salida los bits pares se fijan siempre a "1". El orden de los bits será "b7 b6 b5 b4 b3 b2 b1 b0", siendo los pares el b6, b4, b2 y el b0.
Por ejemplo, si por el Puerto A se introduce el dato b'---01100', por el Puerto B se visualiza  b'01011101'. Observar que los bits pares están a "1" (efectivamente: Puerto B = b'x1x1x1x1') y los impares permanecen con el dato del puerto de entrada (efectivamente: Puerto A = b'---x1x0x' y Puerto B = b'xxxx1x0x').







Ejercicio 5 
Por el Puerto B obtiene el dato del Puerto A, pero en las salida los bits impares se fijan siempre a "0". El orden de los bits será "b7 b6 b5 b4 b3 b2 b1 b0", siendo los impares el b7, b5, b3 y b1.
Por ejemplo si por el Puerto A se introduce el dato b'---01100', por el Puerto B se visualiza  b'00000100'. Observar que los bits impares están a "0" (efectivamente: Puerto B = b'0x0x0x0x') y los pares permanecen con el dato del puerto de entrada (efectivamente: Puerto A = b'---0x1x0' y Puerto B = b'---0x1x0').






Ejercicio 6
Por el Puerto B se obtiene el dato del Puerto A invirtiendo los bits pares. Los impares se dejan como en la entrada. El orden de los bits será "b7 b6 b5 b4 b3 b2 b1 b0", siendo los pares el b6, b4, b2 y el b0.
Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xxx01100".  Observar que los bits pares están invertidos (efectivamente: Puerto A = "---1x0x1" y Puerto B = "xxxx0x1x0") y en los impares permanece el dato del puerto de entrada (efectivamente: Puerto A = "---x1x0x' y Puerto B = b'xxxx1x0x'). 
Ayuda: Utiliza la función XOR y la máscara b'01010101'



Funciones Logicas



Ejercicio 7
Por el Puerto B se obtiene el dato del Puerto A invertidos los unos y ceros. Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xxx00110" (no importa el estado de los tres bits superiores del Puerto B).




Ejercicio 8
Por el Puerto B obtiene el dato del Puerto A intercambiando los nibbles alto y bajo. Por ejemplo, si por el Puerto A se introduce "---11001" por el Puerto B aparecerá "1001xxx1".



 
Ejercicio 9
Por el Puerto B obtiene el dato del Puerto A desplazando un bit hacia la izquierda, por la derecha entrará un "1". Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xx110011" (no importa el estado de los dos bits superiores del Puerto B).



 
Ejercicio 10
Por el Puerto B se obtiene el dato del Puerto A desplazando un bit hacia la derecha, por
la izquierda entrará un "0". Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "0xxx1100".




Funciones especiales


Ejercicio 11
Por el Puerto B se obtiene el dato de las cinco líneas del Puerto A al que están conectado un array de interruptores. Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xxx11001" (el valor de las tres líneas superiores no importa).
Esta operación la realizará una única vez. Después el programa entrará en modo "Standby" o de bajo consumo del cual no podrá salir después.



 
Comparaciones


Ejercicio 12

Compara el dato del puerto de entrada PORTA con un "Numero". Tres posibilidades:
  - Si (PORTA) = Numero se encienden todos los LEDs de salida.
  - Si (PORTA) > Numero se activan los LEDs pares de salida.
  - Si (PORTA) < Numero se encienden los LEDs del nibble alto y se apagan los del bajo.
Hay que destacar que al no haber instrucciones de comparación, estas se realizan mediante restas.





BCD

Ejercicio 13
Un número binario de 8 bits es convertido a BCD. El resultado se guarda en tres posiciones de memorias llamadas Centenas, Decenas y Unidades. Además al final las unidades estarán en el nibble bajo del registro W y las decenas en el nibble alto. En los diodos LEDs conectados al puerto de salida se visualizarán las decenas y las unidades.El máximo número a convertir será el 255 que es el máximo valor que puede adquirir el número binario de entrada de 8 bits. El procedimiento utilizado es mediante restas de 10 tal como se explica en el siguiente ejemplo que trata de la conversión del número 124 a BCD:



.




Salto Indexado

Ejercicio 14
Controla el nivel de un depósito de líquido. Utiliza (entre paréntesis las líneas del microcontrolador a la que se han conectado): 
  • Tres sondas detectoras: SV, Sonda de Vacío (RA0); SLL, Sonda de LLenado (RA1); SR, Sonda de Rebose (RA2).
  • Dos bombas de agua: B1 (RB5), B2 (RB6). 
  • Cinco indicadores: Vacio (RB0), Llenandose (RB1), Lleno (RB2), Rebose (RB3), Alarma (RB4).
Su funcionamiento:
  • Cuando ninguna de las sondas está mojada se entiende que el depósito está vacío y se accionarán las dos bombas. El indicador "Vacio" se iluminará.
  • Cuando el nivel del líquido toque la sonda de vacío "SV" seguirá llenándose el depósito con las dos bombas. El indicador "Llenandose" se ilumina.
  • Cuando el nivel del líquido toca la sonda de llenado "SLL", para la bomba B2, quedando B1 activada en modo mantenimiento. El indicador "Lleno" se ilumina. 
  • Si el nivel del líquido moja la sonda de rebose "SR" se apaga también la bomba B1, quedando las dos bombas fuera de servicio. El indicador "Rebose" se enciende. 
  • Cuando se produce un fallo o mal funcionamiento en las sondas de entrada (por ejemplo que se active la sonda de rebose y no active la de vacío) se paran las dos bombas. El indicador "Alarma" se ilumina.

Según el enunciado del problema, teniendo en cuenta las conexiones citadas y poniendo la salida no utilizada (RB7) siempre a cero, la tabla de verdad resultante es:




















Ejercicios resueltos en lenguaje"C".




Manejo de PORTS
Ejercicio 1
Por el Puerto B se obtiene el dato de las cinco líneas del Puerto A al que está conectado un array de interruptores. Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xxx11001" (el valor de las tres líneas superiores no importa).


 

Header del ejercicio 1

 

 
Funciones Matemáticas

 
Ejercicio 2
Por el Puerto B se obtiene el dato de las cinco líneas del Puerto A, al que está conectado un array de interruptores, sumándole el valor de una constante, por ejemplo 74.
Es decir: (PORTB)=(PORTA)+Constante


 
 
Header del ejercicio 2.




 
Ejercicio 3
Por el Puerto B se obtiene el dato del Puerto A multiplicado por 2.
Es decir: (PORTB)=2(PORTA)=(PORTA)+(PORT A).







  
 






Header del ejercicio 3.
 

 

Máscaras
Ejercicio 4
Por el Puerto B obtiene el dato del Puerto A, pero en la salida los bits pares se fijan siempre a "1". El orden de los bits será "b7 b6 b5 b4 b3 b2 b1 b0", siendo los pares el b6, b4, b2 y el b0.
Por ejemplo, si por el Puerto A se introduce el dato b'---01100', por el Puerto B se visualiza  b'01011101'. Observar que los bits pares están a "1" (efectivamente: Puerto B = b'x1x1x1x1') y los impares permanecen con el dato del puerto de entrada (efectivamente: Puerto A = b'---x1x0x' y Puerto B = b'xxxx1x0x'). 


 

 Header del ejercicio 4.

 
 

Ejercicio 5 
Por el Puerto B obtiene el dato del Puerto A, pero en las salida los bits impares se fijan siempre a "0". El orden de los bits será "b7 b6 b5 b4 b3 b2 b1 b0", siendo los impares el b7, b5, b3 y b1.
Por ejemplo si por el Puerto A se introduce el dato b'---01100', por el Puerto B se visualiza  b'00000100'. Observar que los bits impares están a "0" (efectivamente: Puerto B = b'0x0x0x0x') y los pares permanecen con el dato del puerto de entrada (efectivamente: Puerto A = b'---0x1x0' y Puerto B = b'---0x1x0').


 

 Header del ejercicio 5.

 

Ejercicio 6
Por el Puerto B se obtiene el dato del Puerto A invirtiendo los bits pares. Los impares se dejan como en la entrada. El orden de los bits será "b7 b6 b5 b4 b3 b2 b1 b0", siendo los pares el b6, b4, b2 y el b0.
Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xxx01100".  Observar que los bits pares están invertidos (efectivamente: Puerto A = "---1x0x1" y Puerto B = "xxxx0x1x0") y en los impares permanece el dato del puerto de entrada (efectivamente: Puerto A = "---x1x0x' y Puerto B = b'xxxx1x0x').
Ayuda: Utiliza la función XOR y la máscara b'01010101'

 


 Header del ejercicio 6.

 

Funciones lógicas
 
Ejercicio 7
Por el Puerto B se obtiene el dato del Puerto A invertidos los unos y ceros. Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xxx00110" (no importa el estado de los tres bits superiores del Puerto B).






 


 Header del ejercicio 7.



Ejercicio 8
Por el Puerto B obtiene el dato del Puerto A intercambiando los nibbles alto y bajo. Por ejemplo, si por el Puerto A se introduce "---11001" por el Puerto B aparecerá "1001xxx1".


 

 Header del ejercicio 8.












Ejercicio 9
Por el Puerto B obtiene el dato del Puerto A desplazando un bit hacia la izquierda, por la derecha entrará un "1". Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xx110011" (no importa el estado de los dos bits superiores del Puerto B).


 

 Header del ejercicio 9.



Ejercicio 10
Por el Puerto B se obtiene el dato del Puerto A desplazando un bit hacia la derecha, por
la izquierda entrará un "0". Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "0xxx1100".


 

 Header del ejercicio 10.

 

Funciones especiales

 
Ejercicio 11
Por el Puerto B se obtiene el dato de las cinco líneas del Puerto A al que están conectado un array de interruptores. Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xxx11001" (el valor de las tres líneas superiores no importa).
Esta operación la realizará una única vez. Después el programa entrará en modo "Standby" o de bajo consumo del cual no podrá salir después.


 

 Header del ejercicio 11.
 

Comparaciones

Ejercicio 12

Compara el dato del puerto de entrada PORTA con un "Numero". Tres posibilidades:
  - Si (PORTA) = Numero se encienden todos los LEDs de salida.
  - Si (PORTA) > Numero se activan los LEDs pares de salida.
  - Si (PORTA) < Numero se encienden los LEDs del nibble alto y se apagan los del bajo.
Hay que destacar que al no haber instrucciones de comparación, estas se realizan mediante restas.

 


Header del ejercicio 12.





BCD

 
Ejercicio 13
Un número binario de 8 bits es convertido a BCD. El resultado se guarda en tres posiciones de memorias llamadas Centenas, Decenas y Unidades. Además al final las unidades estarán en el nibble bajo del registro W y las decenas en el nibble alto. En los diodos LEDs conectados al puerto de salida se visualizarán las decenas y las unidades.
El máximo número a convertir será el 255 que es el máximo valor que puede adquirir el número binario de entrada de 8 bits.
El procedimiento utilizado es mediante restas de 10 tal como se explica en el siguiente ejemplo que trata de la conversión del número 124 a BCD:


(Centenas)    (Decenas)    (Unidades)    ¿(Unidades)<10?     ¿(Decenas)=10?
----------    ---------    ----------    --------------    -------------------------
       0               0              124          NO, resta 10       Incrementa (Decenas).
       0               1              114          NO, resta 10       NO. Incrementa (Decenas).
       0               2              104          NO, resta 10       NO. Incrementa (Decenas).
       0               3              94           NO, resta 10        NO. Incrementa (Decenas).
       0               4              84           NO, resta 10        NO. Incrementa (Decenas).
       0               5              74           NO, resta 10        NO. Incrementa (Decenas).
       0               6              64           NO, resta 10        NO. Incrementa (Decenas).
       0               7              54           NO, resta 10        NO. Incrementa (Decenas).
       0               8              44           NO, resta 10        NO. Incrementa (Decenas).
       0               9              34           NO, resta 10        NO. Incrementa (Decenas).
       1               0              24           NO, resta 10        Sí. (Decenas)=0, y además
                                                                               incrementa (Centenas)
       1               1              14           NO, resta 10        NO. Incrementa (Decenas)
       1               2              4             SÍ, se acabó.  


El número a convertir será la constante "Numero".





 

 

Header del ejercicio 13.


 

Salto Indexado
Ejercicio 14
Controla el nivel de un depósito de líquido. Utiliza (entre paréntesis las líneas del microcontrolador a la que se han conectado): 

  • Tres sondas detectoras: SV, Sonda de Vacío (RA0); SLL, Sonda de LLenado (RA1); SR, Sonda de Rebose (RA2).
  • Dos bombas de agua: B1 (RB5), B2 (RB6). 
  • Cinco indicadores: Vacio (RB0), Llenandose (RB1), Lleno (RB2), Rebose (RB3), Alarma (RB4).
Su funcionamiento:
  • Cuando ninguna de las sondas está mojada se entiende que el depósito está vacío y se accionarán las dos bombas. El indicador "Vacio" se iluminará.
  • Cuando el nivel del líquido toque la sonda de vacío "SV" seguirá llenándose el depósito con las dos bombas. El indicador "Llenandose" se ilumina.
    Cuando el nivel del líquido toca la sonda de llenado "SLL", para la bomba B2, quedando B1 activada en modo mantenimiento. El indicador "Lleno" se ilumina. 
  • Si el nivel del líquido moja la sonda de rebose "SR" se apaga también la bomba B1, quedando las dos bombas fuera de servicio. El indicador "Rebose" se enciende. 
  • Cuando se produce un fallo o mal funcionamiento en las sondas de entrada (por ejemplo que se active la sonda de rebose y no active la de vacío) se paran las dos bombas. El indicador "Alarma" se ilumina.

Según el enunciado del problema, teniendo en cuenta las conexiones citadas y poniendo la salida no utilizada (RB7) siempre a cero, la tabla de verdad resultante es:

 RA2.. RA0 | RB7 ...                   ... RB0
 ----------|------------------------------------------------------------------
  0   0   0  |  0   1   1   0   0   0   0   1    (Configuración 0. Estado "Vacio").
  0   0   1  |  0   1   1   0   0   0   1   0    (Configuración 1. Estado "Llenandose").

  0   1   0  |  0   0   0   1   0   0   0   0    (Configuración 2. Estado "Alarma").
  0   1   1  |  0   0   1   0   0   1   0   0    (Configuración 3. Estado "Lleno").
  1   0   0  |  0   0   0   1   0   0   0   0    (Configuración 4. Estado "Alarma").
  1   0   1  |  0   0   0   1   0   0   0   0    (Configuración 5. Estado "Alarma").
  1   1   0  |  0   0   0   1   0   0   0   0    (Configuración 6. Estado "Alarma").
  1   1   1  |  0   0   0   0   1   0   0   0    (Configuración 7. Estado "Rebose"). 

 
 Header del ejercicio 14.
Tablas
Ejercicio 15
Por el display de 7 segmentos conectado al Puerto B se visualiza una de las 26 letras del alfabeto internacional: de la "A" a la "Z". La letra a visualizar lo determina el orden leído por el Puerto A. Así por ejemplo:


  • Si por el Puerto A se lee "---0000"  (cero) la letra visualizada será la "A" que es la que está en el orden cero.
  • Si por el Puerto A se lee "---1101" (veinticinco) la letra visualizada será la "Z" que es la que está en el orden veinticinco.

Por ahora no se contempla la posibilidad que el número de entrada sea mayor de 25.






 Header del ejercicio 15.




Retardos

Ejercicio 16
Los diodos pares conectados al puerto de salida se encienden durante 0,5 segundos y los impares permanecen apagados. Después al contrario durante el mismo tiempo.



Header del ejercicio 16.