Introducción a la Electrónica Digital
Temas abordados
Introducción a la Electrónica Digital
Temas abordados
qxp
28/02/2007
18:42
Pgina 1
UNIDAD 1
Introduccin a la electrnica digital
Objetivos
Aprender para qu sirve un sistema electrnico digital, los
elementos bsicos de que consta, y los aspectos bsico
necesarios para su implementacin.
Conocer los motivos que justifican el estudio de las materias que se van a ensear en las dems unidades del libro.
28/02/2007
18:42
Pgina 2
El instrumento por el que los seres humanos son capaces de adaptar el entorno a sus necesidades es
la tecnologa. sta permite a los humanos controlar y actuar sobre el entorno para cambiar las condiciones fsicas o circunstancias del mismo por otras ms convenientes para su supervivencia o para su
bienestar.
Actualmente la principal tecnologa de control de procesos la proporciona la electrnica digital. Pero,
sea cual sea la tecnologa de control empleada, no hay que olvidar que lo que se pretende, en un principio, es sustituir la presencia de un ser humano por una mquina (el avance de la tecnologa permitir adems ampliar y superar las capacidades del ser humano en algunos aspectos). Es necesario, por
lo tanto, estudiar las caractersticas de los procedimientos de control para poder emularlos mediante
mquinas. En estos procedimientos intervienen en general tres elementos fundamentales, como se
muestra en la figura siguiente:
Los sensores: son los elementos que permiten observar el medio fsico.
El procesador: interpreta lo observado en relacin con el objetivo a conseguir.
Los actuadores: son los elementos que permiten actuar sobre el medio para cambiarlo.
El cuerpo humano posee estos tres elementos, que son
los sentidos, la inteligencia y los brazos y piernas respectivamente.
Una mquina que pretenda sustituir al hombre en las
tareas de control, tambin deber de tener estos tres
elementos, y para su desarrollo ser necesario conocer
la naturaleza de las magnitudes fsicas que se desean
controlar para disear los sensores y actuadores.
Tambin ser necesario conocer la naturaleza de los
procesos bsicos de la inteligencia humana para disear el procesador. En el estudio de la naturaleza de las
magnitudes fsicas, stas se pueden clasificar atendiendo a tres criterios:
Valor de la medida de la magnitud.
Magnitudes analgicas: la magnitud observable puede tomar cualquier valor dentro de un margen fsicamente razonable. Magnitudes analgicas son: la luminosidad, la intensidad elctrica,
el sonido, la velocidad, etc.
Magnitudes digitales: la magnitud observable no puede tomar cualquier valor dentro del margen fsicamente razonable, sino slo ciertos valores permitidos, habitualmente cantidades enteras. Magnitudes digitales son: nmero de perforaciones en un tubo, nmero de barriles de petrleo producidos, nmero de bombillas encendidas en un rbol de Navidad, etc.
Evolucin de la magnitud.
Magnitudes continuas: el modo de evolucin de las sucesivas medidas se hace de acuerdo con
un patrn continuo, es decir, entre cualquier par de medidas existen infinitas medidas.
Magnitudes continuas son: el voltaje de una pila a lo largo de un mes, el nmero de lobos de un
bosque a lo largo de un siglo, la potencia electromagntica de una onda en un rango de frecuencias, la altura de un terreno sobre el nivel del mar, etc.
Magnitudes discretas: el modo de evolucin de las sucesivas medidas se hace de acuerdo con un
patrn discreto, es decir, entre cualquier par de medidas existe un nmero limitado de medidas.
Magnitudes discretas son: la temperatura a las 8:00 de la maana a lo largo de un ao, las coordenadas geogrficas de las intersecciones entre ciertos meridianos y paralelos, el peso de las cien
primeras cajas de galletas de un lote de produccin, etc.
28/02/2007
18:42
Pgina 3
Teniendo en cuenta la naturaleza fsica del fenmeno que genera la magnitud observable, las
magnitudes se clasifican en:
Electromagnticas
Mecnicas
Trmicas
Hidrulicas
Neumticas
etc.
En las figuras siguientes se muestran representaciones grficas de algunos ejemplos de los diferentes
tipos de magnitudes que se pueden encontrar.
Del mismo modo que el ser humano dispone de sentidos, el procesador digital tambin deber de disponer de rganos que transformen la naturaleza fsica original de las magnitudes a controlar en naturaleza electrnica. Estos rganos son los sensores transductores. La magnitud fsica entregada por el
transductor se llama seal.
Puede
encontrarse
informacin
ampliada sobre seales y sistemas en los
documentos incluidos
en el disco proporcionado con el libro.
28/02/2007
18:42
Pgina 4
En la figura siguiente se resumen todos los procesos involucrados en un sistema de procesamiento digital (en el ejemplo, de 8 bits). Cada uno de los bloques representa un subsistema electrnico encargado de realizar la funcin especificada.
1.1 Sistemas de
numeracin y
codificacin
Las seales elctricas digitales proporcionan informacin al procesador digital, acerca de la magnitud fsica que se pretende controlar, mediante una
codificacin, que es una forma de asignar a cada
uno de los diferentes valores que puede tomar una
informacin, un smbolo o combinacin nica de
smbolos denominada cdigo, de acuerdo con unas
reglas de asignacin determinadas.
La codificacin empleada en los procesadores digitales es el sistema binario. A continuacin se describir este sistema, as como otros que tambin se
utilizan en el diseo de los procesadores digitales.
28/02/2007
18:42
Pgina 5
Trescientos veinticuatro: 3 2 4
contribuciones
trescientos
veinte
cuatro
trescientos veinticuatro
El sistema es posicional, lo que quiere decir que la contribucin de
un dgito de un nmero depende de la posicin de ese dgito. Por
ejemplo, el dgito 4 puede contribuir con la cantidad cuatro, cuarenta o cuatrocientos al total segn donde est situado:
cuarenta
cuatro
La cantidad con la que contribuye cada dgito se calcula multiplicando el valor base del dgito por un peso atribuido a la posicin
que ocupa:
valores base:
0: cero
1: uno
2: dos
3: tres
4: cuatro
5: cinco
6: seis
7: siete
8: ocho
9: nueve
28/02/2007
18:42
Pgina 6
nmero
75025
cinco
peso
contribucin:
valor base x peso
uno
cinco
suma
uno
dos
diez
veinte
dos
cero
cien
cero
setenta y cinco
tres
cinco
mil
cinco mil
mil veinticinco
cuatro
siete
diez mil
setenta mil
Ahora que ya est definido el sistema, se puede emplear el propio sistema para representar las cantidades, de modo que la tabla anterior se puede representar ms cmodamente como sigue:
nmero
75025
posicin
valor base
peso
contribucin:
valor base x peso
5x1=5
10
2x10=20
100
0x100=0
1000
5x1000=5000
10000
7x10000=70000
suma
75025
Aunque todo lo anterior pueda parecer una trivialidad, es necesario interpretar perfectamente los detalles del sistema de numeracin decimal para aplicar los mismos razonamientos a otros tipos de sistemas de numeracin, que por ser novedosos puede que parezcan complicados, pero no tienen ms ni
menos complejidad que el sistema decimal. La nica diferencia es que el uso cotidiano le hace al ser
humano olvidar los detalles del sistema de numeracin decimal hasta el punto de usarlo de modo
mecnico, parecindole una trivialidad. Hecho que, por otro lado, es la prueba de lo bien adecuado
que es el sistema a las caractersticas del procesador: el ser humano.
28/02/2007
18:42
Pgina 7
Cabra aqu la duda de si tal procesador, tecnolgicamente factible, podra tener algn inters prctico a la hora de controlar procesos, por estar basado en un sistema de numeracin tal como el binario.
La respuesta evidente (ah estn los ordenadores) es que s. En este libro se estudiarn las bases de
tales procesadores y se ver justificada la respuesta.
De momento, y ya que es de inters por ser el sistema que emplean los procesadores electrnicos digitales, es necesario estudiar el sistema binario. Se har de modo paralelo a como se hizo con el sistema decimal (en este caso, para representar las cantidades se usar el castellano o tambin el sistema
decimal segn convenga).
28/02/2007
18:42
Pgina 8
nmero
1101
posicin
valor base
peso=2posicin
contribucin
valor base x peso
0
1
2
3
1
0
1
1
20=1
21=2
22=4
23=8
1x1=1
0x2=0
1x4=4
1x8=8
binario
suma
13
decimal
Como se puede apreciar, el sistema binario y decimal siguen en esencia los mismos mecanismos; son
de hecho sistemas posicionales, en los que la nica diferencia es la base, 2 y 10 respectivamente. Sin
embargo, el sistema binario no parece muy adecuado para el procesador humano, ya que, como se ir
viendo con la prctica, cantidades no muy grandes requieren de bastantes dgitos para ser representadas en el sistema binario (por ejemplo: 174 en decimal es 10101110 en binario), y estas largas
secuencias de unos y ceros no son fciles de leer, memorizar e interpretar por parte del ser humano.
Por lo tanto, por un lado es necesario manejar el binario para poder disear procesadores electrnicos
digitales, pero por otro, el ser humano se maneja mejor en decimal. Ser necesario entonces conocer
tcnicas que permitan pasar fcilmente de un sistema al otro.
Adems, como se van a manejar cantidades en ambos sistemas, ser necesario establecer un mtodo
para diferenciar cundo un nmero est escrito en un sistema o en el otro. Por ejemplo, el nmero 1101
puede ser tanto binario como decimal. En los casos en que haya duda, se pondr al lado del nmero
un subndice indicando la base del sistema al que pertenece. Por ejemplo, cuando se quiera poner
1101 del sistema decimal, se pondr 110110, y cuando se quiera poner el 1101 del sistema binario, se
pondr 11012. En los casos en los que no exista duda no ser necesario poner el subndice.
dgitos
una columna los dgitos del nmero binario, y a su lado los pesos
correspondientes a los bits 1. Sumando los pesos se obtiene el
nmero decimal equivalente. Por ejemplo, pasar 10101110 a
decimal.
0
1
1
1
0
1
0
1
Disponer los dgitos del nmero binario en la columna dgitos, empezando por el LSB en la fila superior, y acabando
por el MSB en la fila inferior.
En la columna pesos, disponer junto a cada dgito, las
siguientes cantidades decimales:
suma ->
pesos
28/02/2007
18:42
Pgina 9
dgitos
pesos
0
1
1
1
0
1
0
1
0
2
4
8
0
32
0
128
suma ->
Sumar las cantidades que aparecen en la columna de los pesos. El resultado obtenido es el equivalente decimal del nmero binario que se quera convertir.
dgitos
pesos
0
1
1
1
0
1
0
1
0
2
4
8
0
32
0
128
suma ->
174
Paso de decimal a binario: con la ayuda de una tabla, dividir sucesivamente por 2 el nmero decimal, y formar el nmero binario tomando el ltimo cociente como MSB y los restos de las divisiones
hasta llegar al primer resto que ser el LSB. Por ejemplo, pasar 174 a binario.
Dividir por 2 el nmero decimal que se desea convertir, anotando el resto de la divisin (que
ser 1 0 necesariamente).
1
1
7
6
1
1
4
4
4
0
2
8 7
cociente
resto 0
Tomar el cociente de la divisin anterior y volverlo a dividir por 2, anotando de nuevo el resto
de la divisin.
8
8
0
7
7
6
1
2
4 3 cociente
resto 1
restos
174
cociente de 174/2
87
resto de 87/2
cociente de 87/2
43
resto de 43/2
28/02/2007
18:42
Pgina 10
21
10
5
2
1
restos
1
0
1
0
resto de 21/2
resto de 10/2
resto de 5/2
resto de 2/2 (ltimo resto)
Una vez acabadas todas las divisiones, tomar de la tabla el ltimo cociente como MSB, y continuar
construyendo el nmero binario aadiendo de izquierda a derecha, comenzando por el ltimo resto
obtenido, los dems restos de las divisiones tomados de abajo a arriba hasta llegar al LSB, que ser el
primero de los restos de la tabla.
cocientes y posteriores dividendos
174
87
43
21
10
5
2
1
MSB
10101110
0
1
1
1
0
1
0
restos
LSB
Ejemplo resuelto 1
Pasar los siguientes nmeros decimales a binario: 57 y 325.
Solucin
cocientes
57
28
14
7
3
1
restos
1
0
0
1
1
5710=1110012
cocientes
325
162
81
40
20
10
5
2
1
restos
1
0
1
0
0
0
1
0
32510=1010001012
Ejemplo resuelto 2
Pasar los siguientes nmeros binarios a decimal: 1110011 y 1010000111.
Solucin
dgitos
1
1
0
0
1
1
1
suma
peso
1
2
0
0
16
32
64
115
11100112=11510
10
dgitos
1
1
1
0
0
0
0
1
0
1
suma
pesos
1
2
4
0
0
0
0
128
0
512
647
10100001112=64710
28/02/2007
18:42
Pgina 11
Aunque la conversin entre los sistemas binario y decimal no es nada dificultosa, no es inmediata, ya
que requiere hacer algunas cuentas. Con la prctica, estas cuentas se pueden llegar a hacer con ms
o menos soltura, pero no sern inmediatas, salvo si son pequeas cantidades. Por lo tanto, en usos
intensivos del binario, el decimal como herramienta alternativa de manipulacin de cantidades puede
no ser del todo adecuada, debido al trabajo de conversin que supone.
0: cero
4: cuatro
8: ocho
1: uno
5: cinco
9: nueve
2: dos
6: seis
A: diez
3: tres
7: siete
B: once
C: doce
D: trece
E: catorce
F: quince
pesos: por ser base 16, el peso atribuido a la posicin n-sima es 16n. Las posiciones se cuentan de derecha a izquierda, empezando por el cero.
11
28/02/2007
18:43
Pgina 12
nmero
4D9A
posicin
dgito
valor base
en decimal
peso=16posicin
contribucin
valor base x peso
10
10x1=10
16
9x16=144
13
256
13x256=3328
4096
4x4096=16384
hexadecimal
suma
19866
decimal
Relacin hexadecimal-b
binario
Cada uno de los dgitos hexadecimales representa una cantidad del 0 al 15, que es su valor base. Estas
cantidades, expresadas en binario, pueden requerir hasta 4 bits, tal como se indica en la siguiente tabla:
hexadecimal binario
12
hexadecimal
binario
binario
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
28/02/2007
18:43
Pgina 13
Aclaracin importante
Obsrvese que la conversin entre hexadecimal y binario se hace directamente por la relacin dgito
hexadecimal cuatro dgitos binarios. Este mtodo no se puede aplicar para la conversin entre binario y decimal, ya que dara resultados errneos. Es decir, para pasar un nmero decimal a binario, no
se puede pasar dgito a dgito, sino por el mtodo expuesto en su momento.
Paso de hexadecimal a decimal: con la ayuda de una tabla, sumar los valores base de cada dgito
hexadecimal multiplicados por los pesos correspondientes a la posicin que ocupan. Por ejemplo,
pasar 4D9A16 a decimal.
nmero
posicin
dgito
valor base
en decimal
peso=16posicin
contribucin
valor base x peso
10
10x1=10
4D9A
16
9x16=144
13
256
13x256=3328
4096
4x4096=16384
hexadecimal
suma
19866
decimal
Paso de decimal a hexadecimal: con la ayuda de una tabla, dividir sucesivamente por 16 el nmero decimal y formar el nmero hexadecimal tomando el ltimo cociente como dgito de mayor peso y
los restos de las divisiones hasta llegar al primer resto que ser el dgito de menor peso. Por ejemplo:
pasar 1986610 a hexadecimal.
Dividir por 16 el nmero decimal que se desea convertir, anotando el resto de la divisin (que
ser 15 o menos necesariamente).
1
1
9
6
3
3
8 6
8
2
6 6
6 4
2
1
1
6 1 6
1 2
cociente
6
6
0 resto=10
Tomar el cociente de la divisin anterior y volverlo a dividir por 16, anotando de nuevo el resto
de la divisin.
13
28/02/2007
18:43
Pgina 14
2
1
1
1
4 1
2
2 1
1 2
9
1 6
7 7
cociente
resto=9
Volver a tomar el cociente de la divisin anterior y volverlo a dividir por 16, anotando de
nuevo el resto de la divisin. Y as sucesivamente hasta que el cociente obtenido no se pueda
dividir ms por 16 (ser por lo tanto 15 o menos). El proceso de divisiones sucesivas por 16
se puede anotar en una tabla como la que se muestra seguidamente:
cocientes y posteriores dividendos
restos
19866
1241
77
4
cociente de 19866/16
cociente de 1241/16
(ltimo cociente) cociente de 77/16
10
9
13
Una vez realizadas todas las divisiones, tomar las cantidades decimales del ltimo cociente
y de los restos obtenidos y transformarlas en un dgito hexadecimal, de acuerdo con la tabla
de valores base de los dgitos hexadecimales.
cocientes y posteriores dividendos
restos
19866
1241
77
4
ltimo cociente
10
9
13
dgitos hexadecimales
primer resto
A
9
D
4
ltimo resto
restos
10
9
13
dgitos hexadecimales
A
9
D
4
4D9A
Paso de hexadecimal a binario: obtener el nmero binario a partir de los equivalentes binarios de
cuatro bits de los dgitos hexadecimales. Por ejemplo: pasar 8C6EH a binario.
Sustituir cada uno de los dgitos del nmero hexadecimal por su equivalente binario de 4
bits.
dgitos
8
C
6
0110
equivalente en binario de 4 bits
1000
1100
0 aadido a la izquierda para completar los cuatro bits
1110
Formar el nmero binario buscado juntando los bits procedentes de cada dgito hexadecimal
en el mismo orden que stos.
dgitos
equivalente en binario de 4 bits
1000
14
C
6
1100
0110
1000110001101110
1110
28/02/2007
18:43
Pgina 15
Comenzando por el LSB (por la derecha), distribuir el nmero binario a convertir en grupos
de cuatro bits. Si el ltimo grupo no llega a cuatro bits, se deja como est.
nmero binario
orden a seguir en el agrupamiento
10101101111101
grupos formados
10
el ltimo grupo puede no ser de cuatro bits
1011
0111
1101
A partir del nmero binario de cuatro bits de cada grupo, obtener el equivalente en hexadecimal, que estar formado por un nico dgito por grupo.
Nmero binario
orden a seguir en el agrupamiento
grupos formados
equivalente hexadecimal
10101101111101
10
1011
0111
1101
Formar el nmero hexadecimal buscado juntando los dgitos procedentes de cada grupo y en
el mismo orden que stos.
nmero binario
orden a seguir en el agrupamiento
grupos formados
equivalente hexadecimal
10101101111101
10
1011
0111
1101
2B7D
Ejemplo resuelto 1
Pasar los siguientes nmeros hexadecimales a decimal y binario: F7 y D0C5.
Solucin
Paso a decimal:
nmero
F7
dgito
peso
15
16
240
suma: 247
F7H=24710
nmero
D0C5
dgito
peso
12
16
192
256
13
4096
53248
suma: 53445
DC05H=5355610
15
28/02/2007
18:43
Pgina 16
1111
0111
1101
0000
F9H=111101112
dgitos
equivalente en binario de 4 bits
1100
0101
D0C5H=11010000110001012
Ejemplo resuelto 2
Pasar los siguientes nmeros decimales a hexadecimal: 236 y 12587.
Solucin
cocientes
236
14
restos
12
hexadecimal
C
E
cocientes
12587
786
49
3
restos
11
2
1
23610=ECH
hexadecimal
B
2
1
3
1258710=312BH
Ejemplo resuelto 3
Pasar los siguientes nmeros binarios a hexadecimal: 1110011 y 1010000110.
Solucin
nmero binario
1110011
111
grupos formados
equivalente hexadecimal
nmero hexadecimal buscado
0011
73
11100112=73$
nmero binario
grupos formados
equivalente hexadecimal
10
1010000110
1000
0110
8
6
286
10100001102=286$
16
28/02/2007
18:43
Pgina 17
dgito
valor base
dgito
valor base
dgito
valor base
cero
uno
dos
tres
cuatro
cinco
seis
siete
suma
pesos: por ser base 8, el peso atribuido a la posicin n-sima es 8n. Las posiciones se cuentan de
derecha a izquierda, empezando por el cero.
4 7 0 3
Posicin cero: peso = 80 = 1
Posicin uno: peso = 81 = 8
Posicin dos: peso = 82 = 64
Posicin tres: peso = 83 = 512
El clculo de la cantidad que representa un nmero puede hacerse por lo tanto con la ayuda de una
tabla como la que sigue:
nmero
4703
posicin
dgito
valor base
en decimal
peso=8posicin
contribucin
valor base x peso
3x1=3
0x8=0
64
7x64=448
512
4x512=2048
octal
2499
decimal
17
28/02/2007
18:43
Pgina 18
Relacin octal-b
binario
Cada uno de los dgitos octales representa una cantidad del 0 al 7, que es su valor base. Estas cantidades, expresadas en binario, pueden requerir de hasta 3 bits, tal como se indica en la siguiente tabla:
octal
binario
octal
binario
octal
binario
octal
binario
000
001
010
011
100
101
110
111
La tabla anterior constituye el paso de octal a binario o viceversa para cantidades de 0 a 7. El paso
para cantidades mayores se hace en base a la tabla de equivalencias anterior de acuerdo con los mtodos siguientes:
Aclaracin importante
Igual que en el caso del hexadecimal, la conversin entre octal y binario se hace directamente por la
relacin dgito octal tres dgitos binarios. De nuevo es necesario insistir en que este mtodo no se
puede aplicar para la conversin entre binario y decimal, ya que dara resultados errneos.
nmero
4703
posicin
dgito
valor base
en decimal
peso=8posicin
contribucin
valor base x peso
3x1=3
0x8=0
64
7x64=448
512
4x512=2048
octal
Por lo tanto, 47038=249910
18
decimal
suma
2499
28/02/2007
18:43
Pgina 19
restos
19866
2483
310
38
4
2
3
6
6
Construccin del nmero octal comenzando por el ltimo cociente y siguiendo por los restos
tomados del ltimo al primero:
cocientes y posteriores dividendos
19866
2483
310
38
4
restos
2
3
6
6
46632
Paso de octal a binario: obtener el nmero binario a partir de los equivalentes binarios de tres bits
de los dgitos octales. Por ejemplo: pasar 37258 a binario.
Sustituir cada uno de los dgitos del nmero octal por su equivalente binario de 3 bits.
dgitos
3
7
2
010
equivalente en binario de 3 bits
011
111
0 aadido a la izquierda para completar los tres bits
101
Formar el nmero binario buscado juntando los bits procedentes de cada dgito octal en el
mismo orden que stos.
dgitos
011
3
7
111
010
011111010101
25
101
Por lo tanto, eliminando el cero ms a la izquierda, que no contribuye con ningn valor (igual que en
decimal, los ceros a la izquierda no cuentan), 37258=111110101012.
Paso de binario a octal: distribuir el nmero binario en grupos de tres bits comenzando por el LSB,
y sustituir cada grupo por su equivalente octal. Por ejemplo: pasar 10111111012 a octal.
Comenzando por el LSB (por la derecha), distribuir el nmero binario a convertir en grupos
de tres bits. Si el ltimo grupo no llega a tres bits, se deja como salga.
19
28/02/2007
18:43
Pgina 20
1011111101
011
grupos formados
1
el ltimo grupo puede no ser de tres bits
111
101
A partir del nmero binario de tres bits de cada grupo, obtener el equivalente en octal, que
estar formado por un nico dgito por grupo.
nmero binario
1011111101
equivalente octal
1
Formar el nmero octal buscado juntando los dgitos
mismo orden que stos.
nmero binario
orden a seguir en el agrupamiento
011
111
101
3
7
5
procedentes de cada grupo y en el
1011111101
grupos formados
equivalente octal
nmero octal buscado
011
1375
111
101
Ejemplo resuelto 1
Pasar los siguientes nmeros octales a decimal y binario: 74 y 1564.
Solucin
Paso a decimal:
nmero
dgito
peso
74
4
7
4
7
1
8
4
56
suma: 60
748=6010
nmero
dgito
peso
48
64
320
512
512
suma: 884
1564
15648=88410
Paso a binario:
dgitos
equivalente en binario de 3 bits
111
100
748=1111002
20
28/02/2007
18:43
Pgina 21
001
101
110
100
Ejemplo resuelto 2
Pasar los siguientes nmeros decimales a octal: 236 y 12587.
Solucin
cocientes
236
29
3
restos
cocientes
4
5
restos
12587
1573
196
24
3
3
5
4
0
23610=3548
1258710=304538
Ejemplo resuelto 3
Pasar los siguientes nmeros binarios a octal: 1110011 y 1010000110.
Solucin
nmero binario
1110011
grupos formados
equivalente octal
nmero hexadecimal buscado
110
011
3
163
11100112=1638
nmero binario
grupos formados
equivalente hexadecimal
1010000110
010
000
2
0
1206
110
10100001102=12068
1.1.8
Los sistemas operativos de la familia Windows ofrecen en sus ltimas versiones una calculadora que
permite trabajar en los sistemas de numeracin estudiados anteriormente, y que puede facilitar enormemente el trabajo con sistemas digitales binarios a la hora de hacer operaciones y conversiones entre
sistemas de numeracin.
Pero la existencia de esta herramienta no debe inducir a despreocuparse de hacer manualmente los
cambios de base y olvidar los detalles de los sistemas de numeracin estudiados. Al contrario, en un
principio debe emplearse como herramienta de apoyo en el estudio de los sistemas para la verificacin de los resultados obtenidos manualmente, y slo cuando se dominen perfectamente las tcnicas,
emplearla como herramienta de trabajo.
La calculadora de Windows tiene un funcionamiento semejante a una calculadora tradicional de sobremesa.
21
28/02/2007
18:43
Pgina 22
1.1.9
La calculadora de Windows se encuentra normalmente en el siguiente punto de los mens del sistema:
Inicio Programas Accesorios Calculadora
O bien, eligiendo:
Inicio Ejecutar
y escribiendo calc en la barra Abrir de la ventana Ejecutar que aparece y pulsando Aceptar.
Una vez realizada alguna de las instrucciones anteriores, aparecer la ventana de la aplicacin de la
calculadora de Windows. Esta calculadora tiene dos posibles apariencias: estndar o cientfica. La que
se necesita para trabajar con los diferentes sistemas de numeracin es la cientfica.
Si la versin que apareciese fuera la estndar, habra que cambiarla a la cientfica en la opcin:
Ver Cientfica
de la barra de mens de la calculadora, tal como se indica en la figura pequea. El aspecto de la calculadora cientfica es el siguiente:
A partir de este punto, el funcionamiento de la calculadora
es como el de cualquier otra,
con la particularidad de que
trabajar en el sistema de
numeracin seleccionado en la
barra correspondiente. En el
ejemplo de la figura siguiente
se puede ver que el sistema
seleccionado es el decimal.
Para seleccionar otro sistema
de numeracin simplemente
hay que pulsar con el puntero del ratn en el circulito blanco al lado del sistema deseado.
Para hacer una conversin de un sistema a otro se seguir el
siguiente procedimiento:
Seleccionar el sistema de numeracin de origen del nmero
a convertir. Por ejemplo, para convertir 2B7D16 a binario,
comenzar seleccionado hexadecimal (Hex). Obsrvese que al
seleccionar el sistema hexadecimal, los dgitos de la A a la F
que estn en la parte inferior de la calculadora, cambiaron
del color gris que tenan en el sistema decimal al color azul.
El color gris indicaba que esos dgitos no estaban permitidos en el sistema decimal, y el color
azul quiere decir que ahora s estn permitidos en el sistema hexadecimal
Introducir el nmero a convertir. En el ejemplo, escribir 2B7D.
Seleccionar el sistema de numeracin al que se quiere convertir el nmero introducido. En el
ejemplo, seleccionar binario (Bin). Obsrvese que al seleccionar binario, todos los dgitos cambian a gris salvo el cero y el uno, que son los nicos permitidos en este sistema.
En pantalla aparecer el equivalente binario del nmero introducido, que para el 2B7DH es el
101011011111012.
22
28/02/2007
18:43
Pgina 23
1.2.1
A partir de los dgitos 1 y 0 se establecen diferentes mtodos de codificacin de las cantidades para
obtener diferentes sistemas de numeracin binarios.
Binario natural: es el descrito en los apartados anteriores.
BCD: permite trabajar fcilmente con cantidades decimales en binario.
Binario mdulo-signo: permite representar cantidades enteras positivas y negativas.
Complemento a uno: permite representar cantidades enteras positivas y negativas.
Complemento a dos: permite representar cantidades enteras positivas y negativas.
Punto fijo: permite representar cantidades fraccionarias positivas y negativas.
Punto flotante: permite representar cantidades fraccionarias positivas y negativas.
Cdigo Gray, Jhonson, etc.
De los anteriores, se describir, por ahora, el sistema BCD.
1.2.2
Los mtodos descritos para el cambio base entre los sistemas decimal y BCD son los siguientes:
Paso de decimal a BCD: obtener el nmero BCD a partir de los equivalentes binarios de cuatro bits
de los dgitos decimales. Por ejemplo: pasar 187910 a BCD.
23
28/02/2007
18:43
Pgina 24
1
8
7
0111
equivalente en binario de 4 bits
0001
1000
0 aadido a la izquierda para completar los cuatro bits
1001
Formar el nmero BCD buscado juntando los bits procedentes de cada dgito decimal en el mismo
orden que stos.
dgitos
equivalente en binario de 4 bits
0001
8
7
1000
0111
1100001111001
1001
Paso de BCD a decimal: distribuir el nmero BCD en grupos de cuatro bits comenzando por el LSB,
y sustituir cada grupo por su equivalente decimal. Por ejemplo: pasar 10100101110101BCD a decimal.
Comenzando por el LSB (por la derecha), distribuir el nmero BCD a convertir en grupos de cuatro bits. Si el ltimo grupo no llega a cuatro bits, se deja como salga.
nmero BCD
orden a seguir en el agrupamiento
10100101110101
grupos formados
10
el ltimo grupo puede no ser de cuatro bits
1001
0111
0101
A partir del nmero binario de cuatro bits de cada grupo, obtener el equivalente en decimal, que
estar formado por un nico dgito por grupo. Si esto no ocurre, es que el nmero BCD est mal
construido, y realmente no se trata de BCD.
nmero BCD
orden a seguir en el agrupamiento
grupos formados
equivalente decimal
10100101110101
10
1001
0111
0101
Formar el nmero decimal buscado juntando los dgitos procedentes de cada grupo y en el
mismo orden que stos.
nmero BCD
orden a seguir en el agrupamiento
grupos formados
equivalente decimal
10100101110101
10
Ejemplo resuelto 1
Pasar los siguientes nmeros decimales a BCD: 35 y 5907.
24
1001
0111
9
7
2975
0101
28/02/2007
18:43
Pgina 25
0011
0101
3510=110101BCD
dgitos
equivalente en binario de 4 bits
101
1001
0000
0111
590710=101100100000111BCD
Ejemplo resuelto 2
Pasar los siguientes nmeros BCD a decimal: 1110011 y 1010000110.
Solucin
nmero BCD
1110011
111
0011
7
3
73
grupos formados
equivalente decimal
nmero decimal buscado
1110011BCD=7310
nmero BCD
grupos formados
equivalente decimal
10
1010000110
1000
0110
8
6
286
1010000110BCD=28610
25
28/02/2007
18:43
Pgina 26
2. Lgica proposicional
y lgebra de Boole
En este apartado se analizarn los aspectos relativos a los procesos de la inteligencia, de modo que se
sienten las bases para el desarrollo de procesadores electrnicos digitales que sean capaces de emular el razonamiento humano bsico, pudiendo realizar tareas de control.
2.1 La lgica
La lgica es la disciplina que estudia las condiciones bajo las que, a partir de ciertas premisas, se llega
correctamente a unas conclusiones; es decir, estudia los principios de los razonamientos correctos. No
se plantea la certeza o no de las premisas, sino la validez del razonamiento.
La lgica no garantiza que las conclusiones obtenidas sean siempre correctas, ya que algunas veces
las premisas de partida pueden ser errneas. Slo garantiza que en las conclusiones no surgen ms
errores que los posibles derivados de la falsedad de las premisas, no del razonamiento.
Proposicin
Un enunciado declarativo proposicional o simplemente proposicin es una frase en la que lo que se
declara puede ser verdadero o falso, pero no ambos a la vez.
Son proposiciones los siguientes enunciados declarativos, ya que son o verdaderos o falsos:
"Tres ms dos son cinco": la proposicin es verdadera.
"Cuatro ms seis son ocho": la proposicin es falsa.
"Maana va a llover": aunque hoy no se sepa, ser verdadera o falsa.
"Madrid est en Espaa y Roma en Francia": en conjunto se enunci una falsedad.
Los siguientes enunciados declarativos no son proposiciones, ya que de ninguno de ellos se puede
decir que sean verdaderos o falsos; son simplemente deseos, consejos o enumeraciones:
Estudiad un poco ms.
Haz el bien y no mires a quin.
Vivan los novios.
Una caja.
Valor lgico
Es el carcter de verosimilitud o falsedad de una proposicin.
En los ejemplos anteriores, la primera proposicin es verdadera, luego su valor es verdadero; la segunda es falsa, luego su valor es falso; la tercera ser verdadera o falsa, pero no se sabr hasta maana.
La cuarta es una proposicin que tiene una parte que es verdadera y otra falsa, pero tal como est
enunciada, en conjunto su valor lgico es falso.
Los valores lgicos se representan con los smbolos V para el verdadero y F para el falso.
26
28/02/2007
18:43
Pgina 27
Conectivas
Una conectiva es un mecanismo para obtener nuevas proposiciones a partir de otras ya existentes por
combinacin de ellas.
En el lenguaje humano, las conectivas vienen representadas por las conjunciones: copulativas, adversativas, disyuntivas, etc. Dada la riqueza y redundancia de los lenguajes, estas expresiones, formalmente distintas, muchas veces equivalen a una misma forma de combinacin lgica.
Las conectivas ms simples que se vern en esta unidad y el smbolo con el que se representan en el
lenguaje de la lgica, son las siguientes:
conectiva
Castellano
conjuncin
disyuncin
negacin
no
smbolo
V
ejemplo
llueve
no llueve
hace sol
p=llueve
q=hace sol
pVq
p
Expresin lgica
Es la representacin de una proposicin mediante las variables lgicas de las proposiciones que la
constituyen y las conectivas que las combinan. En el caso de proposiciones atmicas, su expresin lgica es simplemente la variable lgica que la representa. Ejemplos:
proposicin
expresin
comentario
no q
p y no q
r = p y no q
r o s = p y no q o s
27
28/02/2007
18:43
Pgina 28
Signos auxiliares
Son signos empleados en la notacin de las relaciones lgicas para evitar las ambigedades que, a
veces, presenta la lengua hablada. Se trata de parntesis, corchetes y llaves que agrupan adecuadamente las variables lgicas dentro de una expresin. Ejemplo:
proposicin
expresin
el reo va a la crcel
el reo muere
p y (q o r)
(p y q) o r
Aunque en la lengua hablada las dos ltimas proposiciones se expresen casi del mismo modo, expresan situaciones bien distintas, tal como se refleja en su expresin lgica. De ser ciertas en su conjunto
las anteriores proposiciones, en el primer caso, el reo va a ir fijo a la crcel, y all deber pagar una
multa si no quiere morir. En el segundo caso, el reo puede ir a la crcel y morir en ella, o bien librarse de todo pagando una multa. Como se ve, las situaciones son muy distintas.
Reglas de precedencia
Son reglas que definen el orden en el que se tienen que interpretar las relaciones lgicas dentro de una
expresin en la que aparecen varias conectivas. Ante una posible duda en la interpretacin, las conectivas de mayor precedencia son las que se aplican primero. El orden de precedencia de las conectivas
lgicas es el siguiente:
28
28/02/2007
18:43
Pgina 29
orden de precedencia
conectiva
mayor
no
y
menor
No es correcto:
y no r
p o q
y no r
1
no r)
(n
1
(poq)
2
( no r )
2
[ q y ( no r ) ]
p o [q
(p o q)
3
y ( no r )
3
y ( no r ) ]
El empleo de parntesis permite aclarar o alterar los rdenes de precedencia, haciendo que se evalen en primer lugar los trminos entre parntesis.
Las reglas de precedencia en la lgica funcionan igual que en el clculo aritmtico con las operaciones suma, multiplicacin, etc., por lo que su aplicacin no debe presentar mayores problemas.
Tabla de verdad
Una tabla de verdad es un mtodo para expresar la relacin lgica entre una proposicin compuesta
y sus proposiciones constituyentes. En una parte de la tabla se disponen las proposiciones constituyentes, debajo de las que se recogen todas sus posibles combinaciones de valores lgicos. En la otra parte
de la tabla se dispone la proposicin compuesta, debajo de la que se indica el valor lgico que toma
para cada una de las combinaciones de valores de las proposiciones constituyentes.
Por ejemplo, una proposicin representada por la expresin p o q. La tabla de verdad que describe la
relacin entre la proposicin compuesta y p y q ser:
p
F
F
V
V
q
F
V
F
V
poq
F
V
V
V
Debajo de p y q se recogieron todas las posibles combinaciones de valores lgicos que pueden presentar; a saber, las dos falsas, una verdadera y otra falsa, y viceversa, y las dos verdaderas. Al lado de
cada combinacin se indica el valor lgico que le corresponde a la expresin p o q de acuerdo con las
leyes de la lgica.
La anterior tabla de verdad constituye un buen mtodo de expresar el enunciado de la ley de la conectiva o, mejor que el lenguaje habitual empleado anteriormente para definirla.
Del mismo modo, cada una de las leyes elementales de la lgica se puede expresar por medio de su
tabla de verdad, como se muestra a continuacin:
29
28/02/2007
18:43
Pgina 30
p
F
F
V
V
Ley de la conectiva y
pyq
F
F
F
V
q
F
V
F
V
Ley de la conectiva o
poq
F
V
V
V
Ley de la negacin
no p
V
V
F
F
Expresiones equivalentes
Son expresiones equivalentes aquellas formalmente distintas, pero que conducen al mismo resultado
lgico para todos los valores de sus proposiciones constituyentes. Por lo tanto, dos expresiones son
equivalentes si tienen la misma tabla de verdad. Por ejemplo, ms adelante se podr comprobar que
la expresin no (p y q) es equivalente a no p o no q.
2.2.1
Ejemplo resuelto 1
Identificar los siguientes elementos lgicos de la proposicin enunciada:
Proposiciones elementales constituyentes de la proposicin, y asignacin de variables lgicas.
Expresin lgica de la proposicin.
Tabla de verdad de la expresin.
Proposicin enunciada: la temperatura es inferior a 20C y hay combustible en el depsito.
Solucin
Proposiciones elementales constituyentes de la proposicin y asignacin de variables lgicas: del
enunciado se deduce que hay dos proposiciones elementales ,por lo que se definirn dos variables:
p la temperatura es inferior a 20C.
q hay combustible en el depsito.
Expresin lgica de la proposicin: en el enunciado se ve que la conectiva empleada es y, luego
la expresin ser:
pyq
Tabla de verdad de la expresin: dado que hay dos variables, las posibles combinaciones de valores lgicos para ellas son cuatro: las dos verdaderas, las dos falsas, una verdadera y otra falsa, y
viceversa. El valor lgico de la expresin para cada combinacin se obtiene directamente de la
ley de la conectiva y, segn se muestra en la tabla:
p
pyq
F
F
V
V
F
V
F
V
F
F
F
V
Llegados a este punto, se podra continuar con el estudio del lenguaje de la lgica y de las leyes y
mtodos que incluye. Sin embargo, no se van estudiar ms elementos de este lenguaje que los ya
expuestos en los apartados anteriores, ya que en el mbito de la electrnica se emplea un lenguaje
ms generalista para el tratamiento de los elementos de la lgica, tal como es el lgebra de Boole, que
se ver en el apartado siguiente.
30
28/02/2007
18:43
Pgina 31
El lgebra de Boole es una teora matemtica que trata sobre las propiedades de un determinado tipo
de conjuntos que cumplen ciertas caractersticas o requisitos. Como toda matemtica, es una teora
abstracta, que puede ser aplicada a cualquier situacin real concreta que se ajuste a las condiciones
de la teora.
En el caso a tratar aqu, resulta que la estructura de la lgica proposicional se adapta perfectamente a las caractersticas del lgebra de Boole. Por lo tanto, todas las conclusiones y resultados que proporciona el lgebra de Boole pueden ser aplicados directamente a la lgica. Adems, el lenguaje
empleado en el lgebra de Boole se adapta muy bien para su aplicacin a los procesadores electrnicos digitales.
La adaptacin entre la lgica, el lgebra de Boole y la electrnica digital es tan fuerte, que constantemente se mezclan conceptos y trminos de unas con otras. En este sentido, a continuacin se
expondr el lgebra de Boole en sus propios trminos, pero algunos se irn sustituyendo por otros
que pertenecen, a la electrnica o a la lgica, segn es prctica comn en el mbito de la electrnica digital.
Definicin formal
Sea un conjunto B de elementos cualesquiera, sobre el que se definen dos operaciones internas. Para
representar estas operaciones se emplearn los smbolos "+" y "", por lo que a la primera operacin
se le llamar suma booleana y a la segunda producto booleano. No se deben de confundir estas operaciones con la suma y el producto aritmtico empleados habitualmente.
Por ser operaciones internas, a cada par de elementos de B se les hace corresponder otro elemento de
B. Esto se expresa como sigue:
B xB
B xB
(a,b) (a + b) B
(a,b) (a b) B
a+b=b+a
Conmutativa respecto del producto:
ab=ba
a (b + c ) = a b + a c
Distributiva respecto del producto:
a + (b c) = (a + b) (a + c)
a+0=a
31
28/02/2007
18:43
Pgina 32
a1=a
Los elementos 0 y 1 son nicos en el conjunto B y sirven para todos sus elementos, es decir, son universales en B.
a+a=1
Complemento respecto del producto:
aa=0
2.3.1
Una vez definido lo que es un lgebra de Boole, se podra comprobar la siguiente equivalencia entre
los elementos de la lgica y los del lgebra:
lgica proposicional
lgebra de Boole
valor lgico V
elemento 1
valor lgico F
elemento 0
conectiva y
operacin producto:
conectiva o
operacin suma: +
conectiva no
variable booleana
expresin lgica
expresin booleana
leyes de la lgica
La equivalencia anterior refleja el hecho de que la lgica proposicional es una entidad concreta que se
corresponde con el modelo matemtico del lgebra de Boole. En efecto:
El conjunto B
Es el conjunto de valores lgicos que puede tomar una proposicin lgica, es decir:
B={V, F}
Como en todo conjunto booleano tiene que haber un 0 y un 1, V y F se identifican necesariamente con
estos elementos. Como se ver ms adelante, F se corresponde con el 0 y V con el 1, segn las leyes
de la lgica.
En el mbito de la electrnica se habla de los valores lgicos 0 y 1, lo que es un abuso del lenguaje
por ser una mezcla de trminos, ya que 0 y 1 son valores booleanos, pero esto no supone ningn problema ni debe inducir a confusin.
Variables booleanas
Son las proposiciones o variables lgicas, que representan o toman uno de los dos valores lgicos V (1)
o F (0).
En el mbito de la electrnica, los trminos variable booleana y variable lgica se emplean indistintamente.
32
28/02/2007
18:44
Pgina 33
Las operaciones
poq Q p+q
Producto booleano: se corresponde con la conectiva y, de modo que se puede establecer la
siguiente equivalencia:
pyq Q pq
En el mbito de la electrnica, los trminos producto lgico, suma lgica, y producto booleano y suma
booleana, se emplean indistintamente.
El orden de precedencia en las operaciones booleanas es el mismo que en sus equivalentes lgicos, y
el mismo que en la aritmtica, por lo que no debe suponer ningn problema aplicarlo correctamente:
tiene mayor precedencia la negacin, seguida del producto y finalmente la suma. Los parntesis sirven para alterar este orden.
Los postulados
Segn las leyes de la lgica y con la ayuda de las tablas de verdad no es difcil comprobar que se cumplen. En efecto:
Propiedad conmutativa:
Por la ley de la conectiva o
p+qpoq=qopq+p
Por la ley de la conectiva y
pqpyq=qypqp
Propiedad distributiva:
Segn las leyes de la lgica se cumple la igualdad
p ( q + r ) p y ( q o r ) = ( p y q ) o ( p y r ) ( p q) + ( p r )
Segn las leyes de la lgica se cumple la igualdad
p + ( q r ) p o ( q y r ) = ( p o q ) y ( p o r ) ( p + q) ( p + r )
Elementos neutros: los neutros para la suma y el producto son respectivamente 0 F y 1 Q
V, ya que:
p+0poF=p
p1QpyV=p
Axioma del complemento: existe complemento para cualquier elemento de B, que en este
caso slo tiene dos elementos, de modo que:
0=1
ya que:
y:
1=0
ya que:
y:
0+0=0+1 F o V = V 1
00=01 F y V = F 0
1+1=1+0 V o F = V 1
11=10 V y F = F 0
De lo anterior se puede relacionar la existencia del complemento booleano con la conectiva lgica no, de forma que el resultado de aplicar la conectiva es el complemento booleano. Es decir, son
equivalentes:
no p p
En el mbito de la electrnica, el concepto de la conectiva no o equivalentemente del complemento booleano, se denomina habitualmente complemento lgico, lo que de nuevo es una mezcla de
trminos, pero que no supone ningn problema.
Como se acaba de ver, la lgica de proposiciones es un lgebra de Boole. En adelante, todas las
manipulaciones de conceptos lgicos se harn a partir de las herramientas que proporciona el lge-
33
28/02/2007
18:44
Pgina 34
2.3.2
A partir de los postulados del lgebra de Boole, se pueden deducir una serie de relaciones entre variables booleanas que resultan de inters por su aplicacin a la manipulacin de expresiones lgicas,
sobre todo de cara a su simplificacin. Simplificar una expresin es obtener otra expresin equivalente pero formalmente menos compleja.
A continuacin se da una enumeracin de algunas de estas relaciones booleanas a modo de teoremas.
No se incluyen las demostraciones de los teoremas ya que escapan a los objetivos del libro.
2.3.3
Los postulados y teoremas del lgebra de Boole establecen una serie de relaciones entre variables booleanas que resultan de inters por su aplicacin a la manipulacin de expresiones lgicas, sobre todo
de cara su simplificacin.
La tarea de la simplificacin empleando los teoremas del lgebra de Boole no tiene una regla fija, y
segn los teoremas que se apliquen se puede llegar a una u otra expresin. Alcanzar la ms simplificada es cuestin de experiencia en la eleccin del teorema ms adecuado para aplicar en cada caso,
adems de que se puede llegar de diferentes formas al mismo resultado.
Ejemplo resuelto 1
Simplificar la siguiente expresin:
abc+abc
34
28/02/2007
18:44
Pgina 35
a b c + a b c = a b (c + c )
Aplicando el axioma del complemento al parntesis:
a b (c + c ) = a b 1 = a b
Ejemplo resuelto 2
Simplificar la siguiente expresin:
abc+abc +abc+a
Solucin
Al primer y segundo trminos se les puede aplicar el resultado del ejemplo 1, y aplicando la ley
de absorcin a los tercer y cuarto trminos se tiene:
[a b c + a b c ] = a b
(a
bc+a)=a
[a b c + a b c ] = ( a b c + a ) = a b + a
Aplicando la segunda ley de absorcin:
ab+a=a+b
2.3.4
Funciones booleanas
f
( a 1 , a 2 , . . . , a n )
f ( a 1, a 2, . . . , a n) B
Dicho de otro modo, una funcin lgica o booleana es la forma matemtica de representar una relacin por la que a una proposicin se le asigna un valor lgico a partir de los valores lgicos de otra u
otras proposiciones.
Por ejemplo, cuando se dice hay que subir la temperatura si hace fro, el valor lgico de la proposicin hay que subir la temperatura depende del valor lgico de la proposicin hace fro. Si hace
fro es verdadero entonces tambin ser cierto que hay que subir la temperatura, mientras que si
hace fro es falso, entonces hay que subir la temperatura tambin es falso.
Funcin: adems de la aplicacin matemtica ya definida, la proposicin o variable que depende de otras se dice que es funcin de ellas, o simplemente que es la funcin. Matemticamente
sera la variable dependiente.
Variables: aunque lo sea tambin la variable dependiente (la funcin), en este contexto se llaman variables de la funcin o simplemente variables las proposiciones o variables lgicas de las
que depende la funcin. Matemticamente seran las variables independientes.
35
28/02/2007
18:44
Pgina 36
Expresin: la expresin lgica por la que se combinan las variables para asignarle un valor a la
funcin es la expresin de la funcin. En las expresiones aparecern las variables de la funcin
combinadas por operadores lgicos o booleanos.
Por ejemplo, cuando se dice hay que abrir el portn si hay coches en la entrada o si pulsan el interruptor, se pueden identificar las siguientes proposiciones, representadas por sendas variables lgicas:
f funcin
a, b variables
La dependencia de f con a y b se indica de la forma:
f=a+b
0
0
1
1
0
1
0
1
0
1
1
1
Como en este ejemplo, de ahora en adelante, en las tablas de verdad se van a emplear valores booleanos (1 y 0) abandonando en la notacin los valores lgicos (V y F).
36
28/02/2007
18:44
Pgina 37
Tipos de funciones
Funciones primitivas
Las funciones lgicas ms sencillas que se pueden definir se llaman funciones primitivas y se construyen a partir de las conectivas lgicas. De este modo se puede hablar de la funcin y, de la funcin o y de la funcin no. Adems de stas, tambin se puede definir la funcin identidad, que es
una funcin igual a la nica variable de la que depende: f (a)=a.
En el mbito de la electrnica digital es costumbre llamar a las funciones primitivas por su nombre en ingls. En la tabla siguiente se muestran las funciones primitivas, su nombre en ingls entre
parntesis y la tabla de verdad que define su funcionamiento.
funcin identidad
a
f =a
negacin (NOT)
a
f =a
funciones primitivas
suma o o (OR)
a
b
f =a+b
producto o y (AND)
a
b
f =ab
0
Funciones elementales
Son funciones que se definen a partir de relaciones lgicas sencillas que aparecen con frecuencia
en el mbito de la electrnica digital. Una de ellas es por ejemplo la funcin o exclusivo o suma
exclusiva, que representa la situacin lgica en la que la funcin es verdadera cuando exclusivamente slo una de las dos variables de las que depende es verdadera, y falsa cuando las dos variables son falsas o las dos son verdaderas.
Esta funcin refleja situaciones como por ejemplo la siguiente: en un cajero automtico, el pago
es correcto si se entrega un billete de 10 o dos de 5. Las posibles situaciones son: si no se entrega ningn billete (caso 1 de la tabla) el pago no es correcto. Si slo se entrega un billete de 10
(caso 2) el pago s es correcto. Si se entregan dos billetes de 5 (caso 3) el pago tambin es correcto. Finalmente, si se entrega un billete de 10 y tambin se entregan dos billetes de 5 (caso 4),
en total se entregan 20 por lo que el pago no es correcto, ya que slo se deban de entregar 10.
caso 1
caso 2
caso 3
caso 4
se entrega un billete de 10
el pago es correcto
0
0
1
1
0
1
0
1
0
1
1
0
La funcin lgica o exclusivo o suma exclusiva tiene su propio signo u operador, que para el lgebra de Boole es el siguiente:
a o exclusivo b Q a b
suma exclusiva
Las siguientes equivalencias pueden ser tiles para hacer simplificaciones:
ab=ab+ab
ab=ab+ab
Otras funciones elementales se definen a partir de las funciones primitivas combinadas con el operador de la negacin, de modo que se obtienen las funciones y negado, o negado, etc.
37
28/02/2007
18:44
Pgina 38
funciones elementales
o negado (NOR)
y negado (NAND)
f=ab
f=a+b
f=ab
f=ab
Funciones compuestas
Son funciones que definen relaciones ms complejas que las primitivas y las elementales, y estn
formadas por combinacin de funciones primitivas o elementales, por ejemplo f (a,b,c ) =a b c.
2.3.5
Una funcin lgica es la forma matemtica de representar una relacin por la que a una proposicin
se le asigna un valor lgico a partir de los valores lgicos de otra u otras proposiciones.
En el diseo de sistemas electrnicos digitales, el primer paso siempre consiste en identificar la funcin o funciones lgicas que se definen a partir del enunciado que describe el sistema a disear. En la
identificacin de las funciones se seguirn los siguientes pasos:
Identificar la funcin.
Identificar las variables de la funcin.
Identificar la relacin lgica que define la expresin de la funcin o bien su tabla de verdad.
Ejemplo resuelto 1
Identificar la funcin y las variables que se definen en el siguiente enunciado, y determinar su expresin o tabla de verdad:
"Un jurado formado por tres miembros emite un fallo favorable o desfavorable sobre cierta cuestin. El
fallo emitido se hace por mayora de los votos emitidos por cada uno de sus miembros".
Solucin
En este caso las funciones y las variables no se encuentran explcitamente en el enunciado, sino que
hay que interpretarlo como sigue (tambin son posibles otras interpretaciones):
Funcin: la nica proposicin que se puede encontrar que depende de otras es el fallo emitido
por el jurado, ya que depende de lo que vota cada uno de sus miembros. Por lo tanto, la funcin
se puede enunciar como sigue:
f el fallo emitido es favorable
Este enunciado puede ser verdadero o falso segn los votos de los miembros del jurado.
Variables: la funcin anterior depende de los votos de los tres miembros del jurado, luego habr
tres variables, que pueden ser enunciadas como sigue:
a el primer miembro vot favorablemente
b el segundo miembro vot favorablemente
c el tercer miembro vot favorablemente
las tres variables pueden ser verdaderas o falsas cada una de ellas, segn haya sido realmente
el voto de los miembros del jurado.
38
28/02/2007
18:44
Pgina 39
Relacin lgica: en este caso, encontrar la expresin que relaciona la funcin con las variables
no es sencillo a partir del enunciado. Sin embargo, s es posible hacer una tabla de verdad para
la funcin, planteando todos los casos posibles de votos del jurado, y el valor de la funcin (fallo
emitido) para cada uno de los casos. Puesto que son tres miembros, y cada uno slo tiene dos
opciones de voto: favorable (variable=1 por ser verdadera) o desfavorable (variable=0 por ser
falsa), las posibles combinaciones de votos son ocho. Para obtener las ocho combinaciones se
seguir el mtodo de generar las entradas de la tabla de verdad contando en binario con tres bits
segn se muestra en la siguiente tabla:
entradas
f (a,b,c)
0
1
2
3
4
5
6
7
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
Ejemplo resuelto 2
La alarma de una casa dispone de dos sensores V1 y V2 en sendas ventanas, y un sensor P en una
puerta. Los sensores se activan cuando se abren las ventanas o la puerta respectivamente. Adems, la
alarma dispone de un terminal de control A que sirve para poner la alarma en estado activo de vigilancia o bien desactivarla. El sistema presenta un terminal de salida S para indicar situaciones de estado de alarma, que se deber activar cuando la puerta o alguna ventana se abran, estando la alarma
en estado activo de vigilancia.
Determinar las funciones, las variables y la relacin lgica que las relaciona.
Solucin
Funcin: la nica funcin que hay en el enunciado es el estado del terminal de salida S, que
puede ser activo o no, y que depende del estado de apertura de las ventanas y de la puerta, y de
si el sistema est en estado de vigilancia. Si S=1 quiere decir que est activo y por lo tanto hay
situacin de alarma, y si S=0 significa que no est activo, y por lo tanto no hay estado de alarma.
Variables: las variables de las que depende la funcin son V1, V2, P y A, es decir, del estado activo o no de los sensores y del estado de vigilancia del sistema. Por ejemplo, si V1=1, el sensor de
la ventana est activo y si V1=0 no est activo.
Relacin lgica: en este caso se puede deducir la expresin lgica directamente del enunciado
del problema:
S ( A,V 1 ,V 2 ,P ) = A ( V 1 + V 2 + P )
2.3.6
Expresiones cannicas
Dada una funcin que depende de varias variables, se definen los siguientes conceptos:
Minterm o trmino cannico producto: es un producto donde aparecen multiplicadas todas las
variables, directamente o negadas, una y slo una vez. Por ejemplo, dada una funcin f (a,b,c,d):
son minterms
abcd
abcd
abcd
abcd
no son minterms
abc
acd
cd
abbcd
falta la variable d
falta la variable b
Faltan las variables a y b
la variable b aparece dos veces
39
28/02/2007
18:44
Pgina 40
Maxterm o trmino cannico suma: es una suma donde aparecen todas las variables, directamente o negadas, una y slo una vez. Por ejemplo, dada una funcin f(a,b,c,d):
son minterms
a+b+c+d
a+b+c+d
a+b+c+d
a+b+c+d
no son minterms
a+b+c
a+c+d
c+d
a+b+b+c+d
falta la variable d
falta la variable b
Faltan las variables a y b
la variable b aparece dos veces
Expresiones cannicas: de entre todas las expresiones equivalentes que puede tener una funcin, siempre se pueden encontrar un par de ellas que se llaman expresiones cannicas y que
tienen las siguientes caractersticas:
Expresin cannica suma: est formada nicamente por suma de minterms. Por ejemplo:
f ( a,b,c,d ) = abcd + abcd + abcd + abcd
Expresin cannica producto: est formada nicamente por producto de maxterms. Por
ejemplo:
f (x , y , z ) = (x y z ) + (x y z ) + (x y z )
Expresin reducida de la funcin: en relacin con lo anterior, existe una notacin que permite
representar abreviadamente la expresin de una funcin cuando viene dada en forma cannica:
Expresin cannica suma: se indica con el smbolo del operador sumatorio:
Expresin cannica producto: se indica con el smbolo del operador productorio:
Al pie del operador se indicar el nmero de variables de las que depende la funcin.
En el interior del operador se disponen los nmeros en decimal o hexadecimal de las entradas de la tabla referidas por los minterms o maxterms segn el caso. Por ejemplo:
f (a,b,c,d ) = a b c d + a b c d + a b c d + a b c d + a b c d = 4 (3,4,7,A,D )
g (x,y,z ) = (x + y + z ) (x + y + z ) (x + y + z ) = 3 (6,3,0)
40
28/02/2007
18:44
Pgina 41
2.3.7
Ejemplo resuelto 1
Obtener la tabla de verdad de la siguiente funcin, y expresarla en notacin reducida:
f (a,b,c,d ) = a b c d + a b c d + a b c d + a b c d + a b c d + a b c d
Solucin
Notacin reducida:
f (a,b,c,d ) = a b c d + a b c d + a b c d + a b c d + a b c d + a b c d
cambiar variables por 1 y negadas por 0
por ser expresin suma
v
0001
v
1
v
0011
v
3
v
0100
v
4
v
1001
v
9
v
1010
v
A
1111
v
F
f (a,b,c,d ) = 4 (1,3,4,9,A,F )
Tabla de verdad:
Asignar el valor 1 a las entradas de la tabla determinadas por los minterms:
entradas
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
f (a,b,c,d)
1
1
1
1
1
41
28/02/2007
18:44
Pgina 42
f (a,b,c,d)
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
Ejemplo resuelto 2
Obtener la expresin cannica suma y producto de la funcin dada por la tabla de verdad del ejercicio 1.10 del apartado de autoevaluacin de este tema.
Solucin
La tabla de verdad es la siguiente, a partir de la que se pueden obtener los minterms (los 1's) o los
maxterms (los 0's):
a
f(a,b,c,d)
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
minterms
maxterms
a+b+c+d
a+b+c+d
a+b+c+d
a+b+c+d
a+b+c+d
abcd
abcd
abcd
a+b+c+d
a+b+c+d
a+b+c+d
abcd
abcd
abcd
abcd
abcd
f (a,b,c,d ) = 4(5,6,7,11,12,13,14,15)=
=abcd+abcd+abcd+abcd+abcd +abcd +abcd +abcd
Expresin cannica producto:
f (a,b,c,d ) = 4(0,1,2,3,4,8,9,10)=
= (a + b + c + d ) (a + b + c + d ) (a + b + c + d ) (a + b + c + d )
(a + b + c + d ) (a + b + c + d ) (a + b + c + d ) (a + b + c + d )
Ejemplo resuelto 3
Obtener una expresin cannica de la siguiente funcin:
f (a,b,c,) = a b + a b +a c + a c
42
28/02/2007
18:44
Pgina 43
En este caso, la funcin ya casi est expresada como suma de productos no cannicos. Aplicando De
Morgan al tercer trmino, ya est completamente desarrollada:
f (a,b,c,) = a b + a b +a c + a c = a b + a b +a + c + a c
Para que cada trmino sea cannico se aadir la variable que falta del modo siguiente:
f (a,b,c,) =
ab
falta c v
+ ab
falta c v
faltan b y c v
faltan a y b v
ac
falta b v
f (a,b,c,) = a b (c + c )+ a b (c + c ) + a (b + b ) (c + c ) + c (a + a ) (b + b ) + a c (b+ b )
Obsrvese que multiplicar por trminos del tipo (x+x ) no cambia nada ya que por el postulado del complemento es igual que multiplicar por 1, lo que no altera los valores segn el postulado de los neutros.
Aplicando la distributiva a cada parntesis se obtienen trminos cannicos:
f (a,b,c,) = a b (c + c )+ a b (c + c ) + a (b + b ) (c + c ) + c (a + a ) (b + b ) + a c (b+ b ) =
= a b c + a b c + a b c + a b c + a b c + a b c + a b c + a b c + c a b + c a b +
c a b + c a b + a c b + a c b
Finalmente, aplicando la ley de idempotencia (x+x=x) para eliminar los trminos repetidos, se obtiene la expresin cannica:
f (a,b,c,d ) = a b c + a b c + a b c + a b c + a b c + a b c + a b c = 3(0,1,2,3,4,6,7)
P (C,I) = C + I
Esta funcin lgica est presente en la mente del controlador del portn cuando se trata de un ser
humano. En el caso de querer sustituirlo por un sistema electrnico digital, se debern de llevar a cabo
los siguientes procesos:
43
28/02/2007
18:44
Pgina 44
valor de la seal I
0V
0V
5V
5V
0V
5V
0V
5V
0V
5V
5V
5V
44
28/02/2007
18:44
Pgina 45
En el anterior ejemplo del portn, el valor lgico 1 (la verdad) estaba representado por la tensin de
5V y el valor lgico 0 (la falsedad) estaba representado por la tensin de 0V. Esta relacin es arbitraria, ya que de hecho, el problema se podra haber resuelto haciendo la asignacin contraria, es decir,
el 1 representado por 0V y el 0 por 5V; aunque el circuito resultante sera diferente, hara la misma funcin de control. El criterio queda a la eleccin del diseador.
La electrnica digital siempre trabaja con dos niveles distintos de tensin para representar el 0 y el 1
lgicos. Los valores concretos de tensin dependen de la tecnologa con que se trabaje. Segn el diseador elija, arbitrariamente por la conveniencia en cada caso, la relacin entre los valores lgicos y los
niveles de tensin, se hablar de dos tipos de lgica en la electrnica digital:
lgica positiva: el 1 est representado por el nivel mayor de tensin y el 0 por el nivel menor de
tensin.
lgica negativa: el 0 est representado por el nivel mayor de tensin y el 1 por el nivel menor de
tensin.
3. Autoevaluacin
Ejercicio 1.1
Pasar los siguientes nmeros hexadecimales a decimal y binario: E8, D1A, FE0, CACA, CAFE, DE5E0.
Ejercicio 1.2
Pasar los siguientes nmeros decimales a hexadecimal: 256, 3687, 12584, 698574, 12234842.
Ejercicio 1.3
Pasar los siguientes nmeros binarios a hexadecimal: 1100110, 1001111101, 110101010101,
111100000001110, 111110001101010100011110.
Ejercicio 1.4
Pasar los siguientes nmeros octales a decimal y binario: 2654, 5752, 25467, 2101445.
Ejercicio 1.5
Pasar los siguientes nmeros decimales a octal: 256, 3687, 12584, 698574, 12234842.
Ejercicio 1.6
Realizar los cambios de base de los ejercicios anteriores empleando la calculadora de Windows.
Ejercicio 1.7
Pasar los siguientes nmeros decimales a BCD: 38, 568, 785, 1111, 5566.
Ejercicio 1.8
Pasar los siguientes nmeros BCD a decimal: 1100110, 10110010110, 111100110000111,
10000000110000001.
Ejercicio 1.9
Simplificar la siguiente expresin:
(a+b+c)(a+b+c)(a+b+c)(a+c)(a+c)
45
28/02/2007
18:44
Pgina 46
Ejercicio 1.10
Identificar la funcin y las variables que se definen en el siguiente enunciado, y determinar su expresin o tabla de verdad:
"Una familia de cuatro miembros: Andrs, Beatriz, Carlos y Diana, votan para ir a cenar a uno de dos
posibles restaurantes: Casa Pepe o Casa Juan. El restaurante elegido es el vota-do por mayora. En caso
de empate, el restaurante elegido ser el que vot Beatriz".
Ejercicio 1.11
Obtener la tabla de verdad de la siguiente funcin, y expresarla en notacin reducida:
f(a,b) = ab+ab
Ejercicio 1.12
Obtener una expresin cannica de la siguiente funcin:
f (a,b,c ) = a (b +c ) + c
Ejercicio 1.13
Obtener una expresin cannica de la siguiente funcin:
f (a,b) = a b
46