Está en la página 1de 18

3

ÁLGEBRA DE BOOLE
Introducción

Antes de estudiar los automatismos y los mecanismos que los rigen es importante centrar,
primero, el estudio en el sistema binario (base de los automatismos actuales) y, por supuesto,
en el Álgebra de Boole. Para ello vamos a dedicar este capítulo.

En la primera parte nos centraremos en el propio Álgebra de Boole y los sistemas lógicos y en el
segundo estudiaremos su realización mediante la tabla de la verdad.

En la segunda parte del capítulo vamos a estudiar la tabla de la verdad como parte de los
sistemas combinacionales, también se verá el método de simplificación de Karnauhg, para
realizar ejemplos más complejos. Será de mucha utilidad realizar las ecuaciones completas de la
actividad del display de siete segmentos.

3.1. Funcionamiento digital (binario) de un sistema

Aun en los sistemas digitales a gran escala, como ordenadores o sistemas de control, los
procesos son operaciones simples realizadas por una gran cantidad de circuitos digitales como
son los: OR, AND, NOT y biestables o FLIP-FLOP. Todos ellos se denominan puertas o circuitos
lógicos ya que se emplean ecuaciones del álgebra de Boole (como pronto de demostrará). Esta
álgebra fue ideada a mediados del siglo XIX por G. Boole como un sistema de análisis
matemático de la lógica.

3.1.1 El sistema binario

Un sistema digital funciona en forma binaria. Emplea dispositivos en los que sólo son posibles

28
dos estados. Un elemento puede tener tensión alta, por
ejemplo, de 5 V, o baja de 0 V, pero ningún otro valor (figura
3.1).

Estos dos estados se pueden designar de varias formas,


siendo los más corrientes 1 o 0, alto o bajo, verdadero o
falso, cerrado o abierto. La aritmética binaria y la manipulación matemática de las funciones
lógicas y conmutaciones se manejan más cómodamente con la clasificación que se vale de los
signos 0 y 1.

Para explicar el sistema binario de representación de números emplearemos la referencia del


sistema decimal. En este último, la base es 10 y se necesitan diez cifras: 0, 1, 2,... 9, para
expresar un número cualquiera. Para escribir un número mayor que 9, asignaremos un
significado a la posición de cada cifra en el número completo. Por ejemplo, el número 1264
significa:
1264 = 1 x 103 + 2 x 102 + 6 x 101 + 4 x 100

Es decir, cada dígito de un número representa una potencia de 10. El primer dígito de la
derecha (4 este caso) es el coeficiente de la potencia 0, el siguiente de la potencia 1 y así
sucesivamente.

En el sistema binario de representación, la base es 2 y sólo se requieren dos cifras, el 0 y el 1,


para representar un número. Las cifras 0 y 1 tienen el mismo significado que en sistema
decimal, pero difieren en cuanto a la potencia que representas. Así, en el sistema binario, la
potencia es de dos en lugar de diez del sistema decimal. Por ejemplo, el número decimal 19 se
escribe en notación binaria como 10011, ya que:

10011 = 1 x 24 + 0 x 23 + 0 x 22 + 1 x 21 + 1 x 20
= 16 + 0 + 0 + 2 + 1 = 19

En la tabla 3.1 se da una reducida lista de números equivalentes entre el sistema binario y el
decimal.
Un dígito binario (1 o 0) se denomina bit. Un grupo de varios bits que tengan un determinado
significado es una información palabra o código. Por ejemplo, para representar los diez
números (0, 1, 2,... 9) y 26 letras del alfabeto, se necesitan 36 combinaciones diferentes de 1 y
0. Como 25 < 36 < 26, se precisa un mínimo de 6 bit por información para obtener todos los

29
caracteres alfanuméricos. En este sentido, una información se denomina a veces carácter o
byte.
Tabla 3.1
Notación Notación
decimal binaria
0 00000 EJERCICIO: Como ejercicio realiza una tabla similar a la anterior con
1 00001 6 bit.
2 00010
3 00011
4 00100 3.1.3. Sistemas Lógicos
5 00101
6 00110
7 00111 En un sistema digital, un bit se caracteriza por uno de los dos niveles
8 01000 de tensión. Si la tensión más positiva es el nivel 1 y la otra es el nivel
9 01001 0, se dice que el sistema emplea lógica positiva. En cambio, un
10 01010
11 01011 sistema lógico negativo es el que designa el estado de tensión más
12 01100 negativo del bit como nivel 1 y el más positivo como nivel 0. Cabría
13 01101 destacar que los valores absolutos de las dos tensiones no tienen
14 01110
significado en estas definiciones. Concretamente el estado 0 no
15 01111
16 10000 representa necesariamente el nivel de tensión 0 (aunque ello ocurra
17 10001 en algunos sistemas).
18 10010
19 10011
3.2. Puerta -OR

Una puerta OR tiene dos o más entradas y una sola salida y funciona de acuerdo con la
siguiente definición: La salida de una puerta OR se halla en estado 1 si una o más de las
entradas está en 1. Las N entradas de un circuito lógico las designaremos con las letras A, B,
C,..., N y la salida por F.

En la figura 3.2 se representa el símbolo normalizado de una puerta OR (normas ANSI y IEEE),

30
junto con la expresión Boole para tal puerta. Debajo se representa la tabla de la verdad sistema
más significativo de representación y a la derecha el equivalente eléctrico.

3.3. Puerta -AND-

Una puerta AND tiene dos o más entradas y una sola salida y funciona de acuerdo con la
siguiente definición: la salida de una puerta AND estará en estado 1 sólo si están en estado 1
todas las entradas.

En la figura 3.3 se da el símbolo de la puerta AND junto con la expresión de Boole para dicha
puerta. A veces se coloca un punto (.) o un aspa (x) entre los símbolos para indicar la operación
AND. Se puede comprobar que la tabla de la verdad de dos entradas de la figura responde a la
definición de la función AND.

3.4. Puerta -NOT-

Los circuitos NOT tienen una sola entrada y una sola salida y
responden a la negación lógica de acuerdo con la siguiente
definición: La salida de un circuito NOT tiene el estado 1 sólo si la
entrada no toma el valor 1. La norma para indicar una negación
lógica es un pequeño círculo en el punto en que la línea de la señal
se une a un símbolo lógico (figura 3.4).

A veces se emplea una apóstrofe (') en lugar de un guión (-) para indicar la operación NOT.

31
3.5. El Álgebra de Boole

El álgebra de Boole es una herramienta matemática desarrollada inicialmente con el objetivo de


representar las formas de razonamiento lógico, sistematizarlas y profundizar en el
conocimiento de sus mecanismos. La rama de la Filosofía que hace uso de este método
matemático es la lógica matemática. Fue presentada por George Boole (1815-1864).

En sus formulaciones originales, el álgebra de Boole manejaba variables que representaban


proposiciones que podían adoptar dos valores: verdadero o falso. Estudiando sus asociaciones
se deducen leyes generales sobre la veracidad o falsedad de procesos lógicos que, básicamente,
no son sino asociaciones de proposiciones elementales.

En 1938, C.E. Shannon fue quien, por primera vez, extendió estas técnicas al estudio de circuitos
compuestos de elementos que pueden adoptar dos estados estables.

El nombre de circuitos lógicos que se aplica generalmente a los conjuntos de elementos que
funcionan según estos principios, se debe a que, siendo idéntica la formulación matemática de
la lógica formal con la de estos circuitos, es posible representar físicamente los procesos
lógicos.

El álgebra de Boole opera con variables que admiten únicamente dos valores que, de forma
convencional, se designan por 0 y 1. Téngase presente que estos símbolos aquí no representan
números, sino dos estados diferentes de un dispositivo. Por ejemplo, si la variable L representa
el estado de una lámpara, se puede representar el hecho de que dicha lámpara está encendida
asignando un 1 a la variable L y, si está apagada, un 0.

3.6. Operaciones en el Álgebra de Boole

Se definen tres tipos de operaciones con las variables booleanas:

• ADICIÓN: Aplicada a las variables A y B se representa como: A + B


La tabla de la verdad que la representa es la de puerta "OR".

• PRODUCTO: Aplicado a las variables A y B se representa como: A.B ó AB


La tabla de la verdad que la representa es la de la puerta "AND".

32
• COMPLEMENTACIÓN: Se aplica a una sola variable. Si esta variable es A, se representa como:
A'.

La tabla de la verdad que la representa es la puerta "NOT".

Con objeto de visualizar estas operaciones supóngase que A y B representan el estado de dos
contactos de modo que, si valen 1, significa que el contacto está cerrado; si valen 0, por el
contrario, el contacto está abierto.

La figura 3.5 proporciona una representación de las tres operaciones en forma de asociaciones
de contactos. La asociación en paralelo representa la suma; es decir, existirá continuidad entre
extremos de la misma si A o B valen 1. La asociación en serie representa el producto puesto
que, para que exista continuidad deben valer 1 A y B. Por último, la complementación se
representa bajo la forma de contactos complementarios de un mismo interruptor de modo que,
si uno está cerrado, el complementario estará abierto y viceversa.

3.7. Teoremas importantes del Álgebra de Boole

TEOREMA 1: El resultado de aplicar cualquiera de las tres operaciones definidas a variables del
sistema booleano es otra variable del sistema y este resultado es único.

Para comprobarlo no hay más que tabular estas operaciones, aplicadas a todas las
combinaciones posibles de variables de entrada y verificar que la salida es siempre una variable
booleana. Véanse las tablas de la verdad.

TEOREMA 2: Ley de la impotencia:


A+A=A
A.A=A
Estas relaciones pueden demostrarse por inducción perfecta, es decir, escribiendo todas las
posibles combinaciones de las variables y realizando la operación indicada para cada una de
ellas.

TEOREMA 3: Ley de la involución:


(A’)’ = A

33
TEOREMA 4: Ley conmutativa:
Respecto a la adición: A + B = B + A
Respecto al producto: A.B = B.A

TEOREMA 5: Ley asociativa.


Respecto a la adición:
A + (B + C) = (A + B) + C = A + B + C
Respecto al producto:
A(B C) = (A B)C = A B C

TEOREMA 6: Ley distributiva:


Respecto a la adición:
A + B C = (A + B)(A + C)
Respeto al producto:
A (B + C) = A B + A C
TEOREMA 7: Ley de la absorción:
A+AB=A
A (A + B) = A
Ejercicio: Mediante inducción perfecta demostrar los teoremas 4, 5, 6 y 7.
TEOREMA 8: Ley de De Morgan:

La ley de De Morgan se puede generalizar a más variables.


A continuación, se representan algunas relaciones interesantes que se deducen de la definición
de las operaciones lógicas y de los teoremas anteriores.
a) 0 + A = A
b) 1 A = A
c) 0 A = 0
d) 1 + A = 1
e) A + A' = 1
f) A A' = 0
g) Si A+B=1 y AB=0, necesariamente, B=A' y A=B'

34
3.8. Funciones en el Álgebra de Boole

Se define como función en el álgebra de Boole todo conjunto de variables relacionadas entre sí
por cualquiera de las tres operaciones que se han definido. Se representará, de forma general,
como:

F = f(A, B, C, ...)

Ejemplos de funciones son las expresiones:


F1(A, B, C)=A.B+C(A+B+C)
F2(A, B, C)=A+B(C+A)

Según el Teorema 1, toda función booleana es también una variable del sistema.

Veamos, a continuación, otros dos teoremas basados en las funciones.


Teorema 9: Ley de De Morgan generalizada. El complemento de una función se obtiene
complementando todas las variables que en ella intervienen e intercambiando las operaciones
adición y producto.

Teorema 10: Toda función puede descomponerse, con respecto a cualquiera de las variables de
las que depende, según la siguiente relación:

3.9. Tabla de la verdad de una función lógica

La tabla de la verdad de una función lógica es una forma de representación de la misma, en la


que se indica el valor 1 ó 0 que toma la función para cada una de las combinaciones posibles de
las variables de las cuales depende.

Es decir, de todas las combinaciones posibles de las entradas, por ejemplo, A, B y C; cuándo la
salida (función –f-) toma el valor 1 y cuándo toma el valor 0. En la siguiente tabla se representa
la tabla de la verdad de una función cualquiera de tres variables:

35
ABC F La deducción de la función por medio de la tabla de la verdad resulta
000 0 sencilla. Podemos obtener la función por unos o por ceros.
001 1
010 0
La función por unos será igual a tantos sumandos como unos tengan la
011 1
100 1 función F. Cada sumando estará formado por el producto de las variables,
101 0 en forma normal si valen -1- (uno) y complementada si valen -0- (cero). Por
110 1
ejemplo, el producto correspondiente a la combinación 001 es el a'b'c. Este
111 1
producto sólo valdrá uno cuando efectivamente a=0; b=0 y c=1.

De lo dicho se deduce que la función por "unos" de la tabla de la verdad que se ha representado
es:

Análogamente, la función por "ceros" será igual a tantos productos como ceros tengan la
función F. Cada producto estará formado por la suma de las variables, en forma normal si valen
-0- (cero) y complementada si valen -1- (uno). La función anterior por ceros será:

Para mayor simplicidad realizaremos exclusivamente las funciones por “unos”.

3.10. Realización de funciones lógicas


3.10.1. Realización con puertas lógicas

Vamos a ver, mediante ejemplos, cómo podemos realizar funciones con puertas lógicas.
Comenzaremos con una sencilla:
F=A+B+C

Esta función representa tres sumas lógicas, para


poder realizarla utilizaremos dos puertas lógicas de
tipo OR, la primera de ellas realizará la suma lógica de
A y B y la segunda realizará la suma del resultado de
A+B con C (ver figura).

Veamos otro ejemplo:


36
representado en la figura siguiente:

Para realizar este tipo de funciones, realizaremos cada sumando por separado y, al final,
hallaremos la suma lógica total.

El primer sumando es A.B, esto es un producto lógico, para ello colocaremos una puerta AND, el
resultado lo llevaremos para sumarlo al final. El segundo sumando es: C’.B.A, Situaremos una
puerta de tipo NOT, a continuación de C, con lo que tendremos C’, ahora podemos hacer un
producto lógico de C’ con el resultado del primer sumando (ver figura 3.1). El último sumando
es A’B’ que, aplicando las leyes de De Morgan, podría ser (A+B)’, por lo tanto, primero sumamos
A+B y después negamos el resultado con la puerta NOT.

3.10.2. Realización de esquemas con contactos

Podemos realizar las funciones del punto anterior mediante diagramas de contactos (figura
3.7).

37
EJEMPLO 1: En un determinado proceso industrial, disponemos de dos generadores de 15 Kw,
cada uno, para alimentar a tres motores de 5 Kw, 10 Kw y 15 Kw, los cuales no funcionan
siempre juntos (ver figura 3.8). Queremos realiza un automatismo que detecte los motores que
están funcionando en cada momento y haga entrar en funcionamiento al segundo generador
cuando sea necesario.

Partiendo del enunciado del problema y de la figura 3.3, podemos definir las entradas al
proceso, que serán los tres motores A, B y C. Estos motores serán 1 lógico cuando estén
funcionando y 0 lógico cuando estén parados.
El paso siguiente es realizar la tabla de la verdad. A partir de las
A B C F
condiciones de principio, sólo tendremos que comprobar cuándo la
0 0 0 0
suma de las potencias de los motores que están funcionando en cada 0 0 1 0
momento es mayor de 15 KW: 0 1 0 0
Realizamos la función por unos: 0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1

Y el circuito que nos realiza este automatismo será, mediante puertas lógicas (figura 3.9).

38
Y mediante diagrama de contactos (figura 3.10).

3.10.3. Otras funciones importantes

Como complemento a las puertas lógicas vamos a ver otras funciones muy importantes en
electrónica digital y que conviene conocer.

Del teorema de De Morgan se obtiene dos nuevas funciones: las funciones NOR y NAND (Figura
3.11 superior).

39
La función OR-EXCLUSIVA (Figura 3.11 inferior) de dos variables A y B es aquella que toma el
valor 1 cuando una de las variables toma el valor 1 y la otra el valor 0. Se representa con un
signo + (más) dentro de un círculo. La tabla de la verdad es la representada anteriormente.

3.11. Definición de sistemas Combinacionales

Se definen como sistemas combinacionales aquellos sistemas lógicos cuya salida depende en
todo momento de los valores binarios que adopten las variables de entrada. Es decir, un
sistema combinacional es la realización física de las funciones booleanas. Se pueden
caracterizar, por lo tanto, mediante una ecuación, mediante sus funciones o mediante
cualquiera de las formas gráficas descritas. Resulta normal definir al circuito combinacional
mediante su tabla de la verdad asignando a cada una de las variables el valor correspondiente a
la variable de salida.

A partir de la tabla de la verdad de una función puede construirse directamente su expresión en


forma canónica y, también, representarla mediante la tabla de Karnauhg (ver punto siguiente),
que permite su minimización.

3.12. Síntesis de Sistemas Combinacionales. Tabla de


Karnauhg
Tal como hemos visto hasta ahora, las expresiones algebraicas de las funciones nos sirven para
realizar el programa del automatismo que queremos realizar. Resulta, por tanto, evidente que,
cuanto más sencilla sea la expresión algebraica, tanto más sencillo será el programa resultante.

40
Existen varias formas para simplificar las expresiones algebraicas, entre ellas el método de
Karnaugh es el más importante.

Para simplificar por este método las funciones se realiza el siguiente procedimiento:

1.-Se parte de la tabla de la verdad.

2.-Se escribe dicha tabla de la verdad en una de las tres formas siguientes según que la función
tenga dos, tres o cuatro variables (para más variables se utilizan otros métodos).
AB 0 1
0
1

AB 00 01 11 10
C
0

AB 00 01 11 10
CD

00

01

11

10

3.-Podemos realizar la función por unos o por ceros. Si la realizamos por unos debemos agrupar
los unos que aparezcan en la tabla en grupos que sean potencia de dos (2n = 1, 2, 4, 8) y,
además, dichos grupos deben de formar una estructura rectangular o cuadrada. Hay que tener
en cuenta que los lados opuestos de las tablas a efectos de agrupación están unidos, es decir,
puedo agrupar un 1 (uno) del extremo superior derecho, con otro 1 (uno) del extremo superior
izquierdo.

41
La función será igual a tantos sumandos como grupos se hayan realizado y cada sumando estará
formado por el producto de las variables que se repitan en el grupo, en forma normal si valen 1
y negada si valen 0.

Si realizamos la función por ceros hemos de agrupar de la misma manera indicada para los
unos, todos los ceros de la función. La función será igual a tantos productos como grupos de
ceros hayamos hecho y cada producto será la suma de las variables que se repitan en forma
normal si valen 0 y negada si valen 1.

EJEMPLO 2: Obtener ecuación de Karnaugh de la tabla de cuatro variables siguiente (figura


3.12):

Realicemos la función por unos:

En el primer grupo de unos de la izquierda A y B valen cero para cada uno de los unos del grupo,
luego pondríamos A’. B’; C también vale 0, sería C’; sin embargo, D vale 0 para el primer uno de
grupo y 1 para el segundo, luego no se pondría. En el segundo grupo A varía, no se pone; B vale
1, C vale 0 y D también varía, luego quedaría B.D. De la misma forma en el tercer grupo tan sólo

F=A.B.C+B.D+A.C.D

varía B, luego quedaría A’.C.D’. La función completa será:


EJERCICIO: Simplifica la tabla anterior por ceros.

42
Actividades de repaso
3.1. La función f(a,b,c,d) cumple la siguiente tabla de la verdad:

ABCD F
0000 1
0001 1
0010 0
0011 0
0100 1
0101 0
0110 1
0111 1
1000 1
1001 0
1010 0
1011 0
1100 1
1101 1
1110 0
1111 0

a.-Obtener las expresiones de la función por unos y por ceros.


b.-Simplificar mediante el método de Karnaugh.
c.-Realizar la función con puertas lógicas y con diagramas de contactos.

3.2. Representar la tabla de la verdad de la función:

F= A+B +A.B.C+ A(B+C)

3.3. Una función de tres variables ha de tomar el valor cero cuando la variable "B" se encuentra
en estado 1 y la variable "A" no esté en estado 1. En los demás casos posibles ha de estar en
estado uno.

a.-Rellenar la tabla de la verdad.


b.-Realiza la función con puertas lógicas y con diagramas de contactos.

3.4. Comprobar que el circuito de la figura cumple la siguiente función:

43
3.5. Sea la función F(A, B, C, D) que debe tomar el valor uno cuando solamente dos variables
cualesquiera adoptan dicho estado. Realiza la función y simplifícala por el método de Karnaugh.

3.6. Se desea diseñar un sistema para hacer funcionar


la batidora industrial del dibujo. El motor se pondrá
en marcha cuando el depósito esté lleno y, al menos,
uno de los sensores de temperatura esté activado, o
bien, cuando los dos sensores de temperatura estén
activos, aunque el depósito no esté lleno.

3.7. Se desea automatizar un sistema de riego que


tiene dos sondas de humedad: A y B. Estas sondas se
ponen a 0 cuando no tienen humedad.
El riego sólo se hará por la noche. Para ello
disponemos de un sensor de iluminación (C) que se
pondrá a 0 cuando es de noche. El agua del riego vendrá de un depósito con un sensor de nivel
(D) que se pondrá a 0 cuando no tenga agua.
Diseñar el sistema de riego que active la bomba cuando sea de noche, tenga nivel del depósito
de agua y cualquiera de las dos sondas de humedad detecte falta de humedad.

3.8. Diseñar un sistema para controlar el nivel de un depósito de líquido. Utilizando los
siguientes elementos:
- Tres sondas que marcan: El nivel de vacío, el nivel de lleno y el nivel de rebose.
- Dos bombas para elevar el agua B1 y B2.
- cinco indicadores: Vacío, llenándose, lleno, rebose y alarma.
44
Su funcionamiento será el siguiente:
- Cuando ninguna sonda esté mojada se entiende que el depósito está vacío se accionan
las dos bombas y se activa el indicador de “vacío”.
- Cuando el nivel de agua moje la sonda de vacío seguirán activadas las dos bombas y se
iluminará el indicador de “llenándose”.
- Cuando el agua moje la sonda de lleno se parará la bomba B2 y se iluminará el indicador
de “lleno”.
- Cuando el agua llegue a la sonda de rebose se parará la bomba B1 y se encenderá la luz
de “rebose”.
- Cuando se produzca un fallo de funcionamiento en las sondas, por ejemplo, que se
active la sonda de lleno y no se active la de vacío se paran las dos bombas y se
encenderá el indicador de “alarma”.
Realiza la tabla de la verdad y el esquema de funcionamiento con puertas lógicas.

3.9. En una planta química existen cuatro tanques que contienen líquidos que están siendo
calentados. Se usan sensores de nivel de líquido para detectar cuándo en los tanques A y B el
nivel sube por encima de un nivel máximo prefijado, sensores de temperatura en los tanques C
y D que detectan cuando la temperatura en esos tanques cae por debajo de un límite.
Supóngase que las salidas de los sensores de nivel líquido A y B están bajas cuando el nivel es
satisfactorio y altas cuando llegan al nivel máximo. Las salidas de los sensores C y D son bajas
cuando la temperatura es satisfactoria y altas en caso contrario.
Diseñar un circuito lógico que detecte cuándo el nivel en el tanque A o en el B es alto y al mismo
tiempo la temperatura en cualquiera de los tanques C o D es alta.

Realizar los esquemas:

• Utilizando las reglas del álgebra de Boole utilizando el mínimo número de puertas distintas.
• Relación de puertas lógicas y circuitos integrados utilizados.

45

También podría gustarte