6

Click here to load reader

Practica 3 - 7 segmentos karnaugh

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

Page 1: Practica 3 - 7 segmentos karnaugh

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

Page 2: Practica 3 - 7 segmentos karnaugh

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.

Page 3: Practica 3 - 7 segmentos karnaugh

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.

Page 4: Practica 3 - 7 segmentos karnaugh

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.

Page 5: Practica 3 - 7 segmentos karnaugh

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);

Page 6: Practica 3 - 7 segmentos karnaugh

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);