Click here to load reader
Upload
profeitm
View
393
Download
2
Embed Size (px)
DESCRIPTION
Aplicación de Mapas de Karnaugh en control de display de 7 segmentosPractica 3El profesor Alexander Arias explica a los estudiantse en las tutorias paso por paso como realizar laAplicación de Mapas de Karnaugh en control de display de 7 segmentosTambién, les explica cuidadosamente a los estudiantes como realizar el articulo para que muestre de forma clara el funcionamiento de la practica.Resumen— Los métodos de simplificación de algebra booleana son de gran utilidad en el diseño y programación de circuitos digitales pues aliviana los códigos y simplifican procedimientos logrando un montaje y procesamiento más eficiente. En este documento se expone como usar técnicas de mapas de Karnaugh para optimizar el codigo presentado en un articulo anterior (Manejo de Puertos Digitales con Display de 7 segmentos), objetivo para el cual se apoyo la solución de mapas de Karnaugh con la ayuda del software BOOLE- DEUSTO. El profesor Alexander Arias tiene en su página el articulo y los videos que muestran el procedimiento de la práctica.http://alex-arias.tk
Citation preview
Universidad de Antioquia. Jaramillo Cesar, Quintero David. Aplicación de los Mapas de Karnaugh “Display 7 Segmentos” 1
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
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).
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.
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. 2. Tabla de verdad Ejemplo
Fig. 3. Ecuación estandarizada SOP (miniterms).
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
L
Universidad de Antioquia. Jaramillo Cesar, Quintero David. Aplicación de los Mapas de Karnaugh “Display 7 Segmentos” 2
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.
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.
Fig. 6. Comparación entre la función inicial
estandarizada, y la simplificada por Karnaugh.
II. 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.
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. 8. Selección de Sistema Digital.
Universidad de Antioquia. Jaramillo Cesar, Quintero David. Aplicación de los Mapas de Karnaugh “Display 7 Segmentos” 3
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 B C F
0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1
Tabla. 1. Tabla de verdad Tutorial BOOLE-DEUSTO.
Fig. 9. Ventana de configuración del Sistema Combinacional
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. 10. Ventana para completar Tabla de verdad
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).
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.
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.
Fig. 12. Mapa de Karnaugh Tutorial.
Universidad de Antioquia. Jaramillo Cesar, Quintero David. Aplicación de los Mapas de Karnaugh “Display 7 Segmentos” 4
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.
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” 6
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
Fig. 13. Esquemático Display 7 Segmentos.
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/~itis-
sd/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
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);