Practica 3 - 7 segmentos karnaugh

Universidad de Antioquia. Jaramillo Cesar, Quintero David. Aplicación de los Mapas de Karnaugh “Display 7 Segmentos” 1

Views 575 Downloads 80 File size 870KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Universidad de Antioquia. Jaramillo Cesar, Quintero David. Aplicación de los Mapas de Karnaugh “Display 7 Segmentos”

1

Aplicación de los Mapas de Karnaugh “Display 7 Segmentos” (Practica 3) Jaramillo Gutiérrez Cesar Augusto, Quintero Montoya Alexis David, Arias Londoño Alexander. {cesarjaramilloude[1],adqm007[2],profeitm[3]}@gmail.com[1, 2,3] Universidad de Antioquia 

Resumen—Basados en todos los conceptos teóricos adquiridos acerca del algebra booleana, se planteo optimizar la práctica anterior (Manejo de Puertos Digitales con Display 7 Segmentos) de tal manera que el alumno perciba las ventajas de simplificación ligadas a los mapas de Karnaugh. Partiendo de lo anterior y conociendo lo extenso que sería realizar este proceso de forma manual, se le brinda al estudiante una herramienta (BOOLE-DEUSTO) para obtener de una manera más confiable y rápida los resultados buscados.

Palabras Clave— INPUT, OUPUT, POS, SOP, ANODO, KARNAUGH.

I.

MAPAS DE KARNAUGH

L

os mapas de Karnaugh reducen la necesidad de hacer cálculos extensos para la simplificación de expresiones booleanas, aprovechando la capacidad del cerebro humano para el reconocimiento de patrones y otras formas de expresión analítica, permitiendo así identificar y eliminar condiciones muy inmensas. Su funcionamiento se basa en representar gráficamente una función lógica, partido de una tabla de verdad. El número de celdas del mapa es igual al número de combinaciones que se pueden obtener con las variables de entrada. Los mapas se pueden utilizar para 2, 3, 4, 5 y 6 variables (Fig. 1).

Antes de continuar con lo referente a simplificación por mapas Karnaugh, no estaría de más exponer algunos conceptos importantes para facilitar el entendimiento del estudiante, ante los resultados arrojados por los mismos. Inicialmente se describirá en qué consiste las formas estándar de las expresiones booleanas. Existen dos formas de estandarizar una expresión booleana, suma de productos (SOP) y productos de suma (POS). La SOP (sum of products): consiste en sumar (OR), los términos de producto (AND).Esta se saca con los minterms, que a su vez son los grupos de unos seleccionados en el mapa, o en la tabla de verdad. Ejemplo: f(x,y,z) = xy’z + x’yz’ + xyz La POS (products of sum): consiste en hacer productos (AND), de las sumas (OR). Esta se saca con los maxterms, que a su vez son los grupos de ceros seleccionados en el mapa, o en la tabla de verdad. Ejemplo: f(x,y,z) = (x’ + y + z’) (x + y’+ z) A continuación se mostrara como llegar a la forma simplificada, partiendo de un ejemplo de mapas de Karnaugh: a)

Inicial mente se puede tener una tabla de verdad (Fig. 2) o una función estandarizada (Fig. 3), ambas pueden ser exportadas a nuestro mapa.

Fig. 1. Mapas de Karnaugh de Variables 2(A vs B) ,3(AB vs C) y 4(AB vs CD). Después de ubicar los valores adjuntos a cada una de las combinaciones, se selecciona el bit respuesta de interés 0 ò 1 para así, extraer de estos mapas las expresiones booleanas simplificadas que describan dicha tabla.

Fig. 2. Tabla de verdad Ejemplo

Fig. 3. Ecuación estandarizada SOP (miniterms).

Universidad de Antioquia. Jaramillo Cesar, Quintero David. Aplicación de los Mapas de Karnaugh “Display 7 Segmentos” b)

Trasladamos los unos de la tabla (Fig. 2), directamente al mapa de Karnaugh (Fig. 4).

Fig. 4. Traslado de unos de tabla de verdad a mapa de Karnaugh. c)

Se agrupan las celdas con el mismo valor en uno o más grupos (Fig. 5). Estos grupos contendrán un numero de celdas adyacentes de potencia 2.El numero de grupos debe ser el mínimo ya que en caso contrario, no se estaría efectuando la máxima simplificación. Nota: una celda puede estar en 1 o más grupo es decir, si seleccionar esta en varios grupos simplifica más la ecuación.

II.

2

BOOLE-DEUSTO.

Este software fue desarrollado con fines educativos hace aproximadamente 10 años, buscando ayudar a profesores y alumnos en el diseño digital. Al ser este solo educativo lleva consigo algunas restricciones. En el caso de los circuitos combinacionales, no se recomienda tener un sistema de más de 10 entradas o de 20 estados, limitando así su uso en el campo profesional. Este programa es portable, libre y actualmente viene en varios idiomas: español, euskara e ingles. Algunas de las funciones del BOOLE-DEUSTO son: tablas de verdad, diagramas de Veitch-Karnaugh, expresiones booleanas, circuitos lógicos, formas normales, circuitos NAND/NOR, simplificación de funciones, autómatas de Moore y Mealy, conversión entre autómatas, minimización de estados, circuitos con J-K y D, tablas de resultados, simulación, programas VHDL y OrCAD-PLD, ficheros JEDEC, etc. A. Primeros pasos con BOOLE-DEUSTO Para iniciar los trabajos con el BOOLE-DEUSTO, basta con descargar este de la página oficial http://paginaspersonales.deusto.es/zubia/. El formato de descarga es un .zip, el cual contiene dos archivos (Fig. 7). Uno de estos es el ejecutable BOOLE.exe, el cual ya viene por defecto en español y el REDUCTIO.exe, que es una aplicación externa para simplificación booleana avanzada. Para hacer uso de este no es necesario registrarse en ninguna web, pero sí es recomendable enviar un correo electrónico a [email protected] para poder recibir gratuitamente las nuevas versiones del BOOLE-DEUSTO.

Fig. 7. Archivos BOOLE.exe y REDUCTIO.exe. Fig. 5. Tabla separada por grupos de “unos” mapa Karnaugh. d)

Finalmente se extrae del mapa la ecuación simplificada (Fig. 6) que describe dicha tabla de verdad.

Después de tener el software en nuestro ordenador nos dirigimos al ejecutable BOOLE.exe. Una vez que se ha arrancado el programa aparece en pantalla un menú (Fig. 8). Este brinda dos modos de trabajo, los sistemas combinacionales o secuenciales/autómatas. Para nuestro caso particular, solo analizaremos lo correspondiente a los sistemas combinacionales.

Fig. 6. Comparación entre la función inicial estandarizada, y la simplificada por Karnaugh. Fig. 8. Selección de Sistema Digital.

Universidad de Antioquia. Jaramillo Cesar, Quintero David. Aplicación de los Mapas de Karnaugh “Display 7 Segmentos” En la ventana que aparece tras seleccionar el sistema combinacional (Fig. 9), se da nombre al sistema (obligatorio), en nuestro caso lo llamaremos tutorial y especificamos el número de entradas y salidas de este. El sistema por defecto asocia unos nombres a las entradas y salidas, permitiendo al usuario el cambio de estas en caso de requerirlo. Para nuestro caso particular se tiene como parámetro la siguiente tabla de verdad (Tabla. 1).Sera así como se definirán A, B y C como las entradas del sistema y F como la salida de este.

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

F 0 1 0 0 1 0 0 1

3

Posteriormente a la evaluación de lo completado en la Figura 10, cerramos esta ventana y procedemos inicialmente a guardar el sistema ya evaluado, en la parte inferior izquierda (Fig. 9) y a analizar los resultados arrojados por el software. Es aquí donde realizamos un estudio profundo, considerando las expresiones simplificadas que se conocen y teniendo como consideración principal la eficiencia del circuito, de tal manera que de este se extraiga toda la información de interés. Para nuestro caso en particular se eligió trabajar con la suma de productos (Fig. 11).

Tabla. 1. Tabla de verdad Tutorial BOOLE-DEUSTO. Fig. 11. Ventana Expresión SOP Simplificada En la ventana actual (Fig. 11), se ve a simple vista la ecuación simplificada de la SOP pero esta herramienta no solo muestra la ecuación, también brinda al usuario información referente a el mapa de Karnaugh, la solución en (Nand / Nor) para diseño de circuitos y la opción de visualizar el esquemático de dicha expresión booleana.

Fig. 9. Ventana de configuración del Sistema Combinacional

De toda esta información brindada por el software, actualmente solo es de interés observar la ecuación simplificada (Fig. 11) y el diagrama de Karnaugh de esta (Fig. 12). En esta se pueden ver clara mente los grupos de “unos” tomados para determinar la ecuación simplificada de la figura 11, además de permitir al usuario observar un segundo diagrama que certifique la correcta ejecución del software.

Una vez definidas las características principales del sistema y los nombres adjuntos a cada variable, se procede a establecer los parámetros de funcionamiento de este. Estos serian ingresados de forma manual a la tabla de verdad generada por el software, la cual brinda por defecto las posibles combinaciones, de cada variable de entrada, con el fin de completar única mente la respuesta del sistema (Fig. 10).

Fig. 12. Mapa de Karnaugh Tutorial. Fig. 10. Ventana para completar Tabla de verdad

Universidad de Antioquia. Jaramillo Cesar, Quintero David. Aplicación de los Mapas de Karnaugh “Display 7 Segmentos” III.

PRACTICAS DE APRENDIZAJE

A. Números del 0 al 9 Display 7 Segmentos El objetivo fundamental de la práctica es observar como a través de los diagramas de karnaugh, mejoran o se simplifican los circuitos de tipología combinacional (para este caso). Además de continuar desarrollando habilidades en el manejo de puertos digitales de la placa de entrenamiento arduino. Para ello se tomo el problema de la práctica anterior, el cual expone el siguiente: Se busca que en un display de 7 segmentos se muestren los números del 0 al 9. Estos valores serán ingresados al microcontrolador a través de 4 switches. En vista de que existen 16 posibles combinaciones de entrada para el sistema, se especifica que para valores de entrada del 10 al 15 se muestre en el display una letra “E” que significaría error en el código de entrada. Las combinaciones de cada una de las 4 entradas equivale a un bit, por lo que al tener todos los switches apagados en el display aparecería el numero 0. La tabla de verdad (Tabla 2), describe los parámetros asociados al problema planteado anteriormente.

Tabla de Verdad 7 Segmentos Ánodo Común s4 s3 s2 s1 a b c d e f g 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 1 1 0 0 0 0 Tabla. 2. Tabla de Verdad Display 7 Segmentos Ánodo Común. Para dar solución a este problema, se utilizara el software BOOLE-DEUSTO. Este generara para cada salida del microcontrolador una ecuación booleana simplificada asociada. Desde un punto de vista teórico, este puede llegar hacer un software que entorpece el aprendizaje, pero al vernos en una situación práctica, este además de agilizar procesos operativos nos brinda seguridad necesaria para garantizar un adecuado funcionamiento. Siguiendo los pasos propuestos en el tutorial de este documento y considerando los datos suministrados por la tabla 2 se obtienen los siguientes resultados.

4

Universidad de Antioquia. Jaramillo Cesar, Quintero David. Aplicación de los Mapas de Karnaugh “Display 7 Segmentos”

5

Usando las ecuaciones simplificadas ligadas a caga segmento del display, se desarrollo el siguiente código: /* Aplicación de los Mapas de Karnaugh “Display 7 Segmentos” (Practica 3) Lab de Electronica Digital */ //Nombrar Variables //Switches int sw_1= 10; int sw_2= 11; int sw_3= 12; int sw_4= 13; //Salidas 7 Segmentos int Seg_a= 3; int Seg_b= 4; int Seg_c= 5; int Seg_d= 6; int Seg_e= 7; int Seg_f= 8; int Seg_g= 9; boolean s1,s2,s3,s4; boolean a,b,c,d,e,f,g; void setup()//porcion de codigo q solo se ejecuta 1 vez { //indicamos las entradas y salidas digitales pinMode(sw_1,INPUT); pinMode(sw_2,INPUT); pinMode(sw_3,INPUT); pinMode(sw_4,INPUT); pinMode(Seg_a,OUTPUT); pinMode(Seg_b,OUTPUT); pinMode(Seg_c,OUTPUT); pinMode(Seg_d,OUTPUT); pinMode(Seg_e,OUTPUT); pinMode(Seg_f,OUTPUT); pinMode(Seg_g,OUTPUT); }

Universidad de Antioquia. Jaramillo Cesar, Quintero David. Aplicación de los Mapas de Karnaugh “Display 7 Segmentos” void loop()// bucle infinito { // leer pines SW s1=digitalRead(sw_1); s2=digitalRead(sw_2); s3=digitalRead(sw_3); s4=digitalRead(sw_4); //Ecuaciones Simplificadas SOP a=(!s4 && s3 && !s2 && !s1)||(!s4 && !s3 && !s2 &&s1); b=(s3 && s2 && !s1)||(s3 && !s2 && s1)||(s4 && s2)||(s4 && s3); c=(!s3 && s2 &&!s1) ||(s4 &&s2)||(s4 && s3); d=(!s4 && s3 && !s2 && !s1)||(!s4 && !s3 && !s2 && s1)||(!s4 && s3 && s2 && s1); e=(!s3 && !s2 && s1)||(!s4 && s1)||(!s4 && s3 && !s2); f=(!s4 && !s3 && s1)||(!s4 && !s3 && s2)||(!s4 && s2 && s1); g=(!s4 && s3 && s2 && s1)||(!s4 && !s3 && !s2); digitalWrite(Seg_a,a); digitalWrite(Seg_b,b); digitalWrite(Seg_c,c); digitalWrite(Seg_d,d); digitalWrite(Seg_e,e); digitalWrite(Seg_f,f); digitalWrite(Seg_g,g); }

Después de Compilar el código (Verificar), pasamos a realizar el montaje del sistema estudiado. De igual manera que con la formulación del problema, se hace uso tanto de la lista de componentes, como del montaje final (Fig. 13). Los materiales que necesitamos son:  7 resistores de 150Ω y 4 resistores de 10kΩ  1 display 7 segmentos (ánodo común)  4 switches  Placa Arduino

6

IV. CONCLUSIONES 

  

Las herramientas de simplificación booleana son de gran utilidad, al momento de buscar la expresión mínima de cualquier circuito. El software BOOLE-DEUSTO, es una herramienta académica muy amigable y completa. Se pueden aplicar teorías booleanas a códigos extensos, para reducir así su volumen. Realizar una práctica de aprendizaje con arduino ahorra tiempo y costos, ya que este tiene de fábrica los requerimientos mínimos de funcionamiento montados en su placa. V.

WEBGRAFIA

[1] [Online]. Available: http://www2.dis.ulpgc.es/~itissd/Transparencias0607/Tema09.pdf

[2] [Online]. Available: http://www.juntadeandalucia.es/averroes/~23005153/ d_tecnologia/LIBRO/pdf/digitpro.pdf

[3] [Online]. Available: http://paginaspersonales.deusto.es/zubia/

[4] [Online]. Available: https://wiki.engr.illinois.edu/download/attachments/1 83861726/review1.pdf?version=3&modificationDate =1317687096000

Fig. 13. Esquemático Display 7 Segmentos.