Está en la página 1de 94

Código binario

De Wikipedia, la enciclopedia libre

Saltar a navegación, búsqueda


Para consultar acerca del sistema de numeración binario, diríjase al artículo
Sistema binario

Un código binario es cualquier código formado por dos símbolos que pueden ser
combinados para codificar información. Por lo general, los dos símbolos empleados son
el 0 y el 1. Sin embargo, podría usarse cualquier par de símbolos. A cada uno de los
dígitos (dígitos binarios) que forman las combinaciones del código se los denomina bits.

La importancia de los códigos binarios se pone de manifiesto en su mayor exponente en


informática y telecomunicaciones, donde son usados para codificar, tratar y transmitir la
información. Además, al plantearse los problemas de la transmisión de la información,
surgen nuevos códigos binarios que no sólo permiten codificar la información, sino
también conocer si la transmisión de los datos se ha producido correctamente e incluso,
en ocasiones, corregir posibles errores.

Tabla de contenidos
[mostrar]

Tipos de códigos binarios [editar]


Código binario natural [editar]

Artículo principal: Sistema binario

El código binario natural (más conocido simplemente como código binario) se


corresponde con el sistema de numeración binario. En él se dispone de dos símbolos
con los que se pueden representar infinitas combinaciones numéricas que tienen su
equivalente decimal. Generalmente, los símbolos que se usan son el 0 y el 1.

El sistema binario es un sistema de numeración posicional ponderado de base 2. Por


tanto, como se ha dicho, se emplean dos símbolos y sirve para representar cantidades
numéricas. A cada dígito de una combinación se le llama bit. Al ser la base igual a 2, la
representación decimal de un número binario se halla por el Teorema Fundamental de la
Numeración como sumas de potencias de 2. Además, se cumple que con una cadena de
n bits se pueden representar 2n combinaciones.

Códigos BCD [editar]

Artículo principal: Código binario decimal

Los códigos BCD (decimal codificado en binario, del inglés: Binary-Coded Decimal)
son códigos de 4 bits en los que solamente existen diez combinaciones válidas, que se
usan para representar las cifras del 0 al 9 y que servirán para codificar cada una de las
cifras de un número decimal por medio de combinaciones binarias. En esto se diferencia
del código binario natural, en el que cada número decimal tiene asociada una secuencia
de bits diferente (por lo que existen infinitas combinaciones posibles).

Algunos códigos BCD son ponderados, es decir, cada posición de la secuencia de bits
tiene un peso asociado, por lo que el equivalente decimal se puede hallar multiplicando
cada bit por el peso correspondiente a su posición y sumando todos estos resultados.
Ejemplos de códigos BCD ponderados son el BCD natural (o BCD 8421), el BCD
Aiken (BCD 2421) y el BCD 5421. Otros códigos BCD, como el BCD exceso a tres, no
son ponderados.

El ejemplo más sencillo de este tipo de códigos es el código BCD natural, que toma las
diez primeras combinaciones del código binario natural, correspondientes a los números
decimales del 0 al 9, de forma que las cifras de cualquier número decimal se podrán
codificar en binario.

Decimal BCD natural

0 0000

1 0001

2 0010

3 0011

4 0100

5 0101

6 0110

7 0111

8 1000
9 1001

De esta manera, los números decimales 17, 234 y 4598 se representarían en BCD
natural del siguiente modo:

 17: 0001 0111 (cifras 1 y 7)


 234: 0010 0011 0100 (cifras 2, 3 y 4)
 4598: 0100 0101 1001 1000 (cifras 4, 5, 9 y 8)

Cualquier otro código BCD se puede emplear de forma similar para codificar números
decimales, lo único que cambia es la combinación correspondiente a cada número
decimal, ya que cada código BCD posee distintas combinaciones binarias.

Códigos detectores de error [editar]

Artículo principal: Detección y corrección de errores

Los códigos detectores de error y los códigos correctores de error surgen como solución
al problema de la transmisión de datos por medio de impulsos eléctricos. Existen
diferentes factores que pueden provocar un cambio en la señal eléctrica en un instante
determinado, por lo que, de producirse esto, los datos binarios que están siendo
transferidos pueden verse alterados. El propósito de los códigos detectores de error es
detectar posibles errores en los datos, mientras que los códigos detectores y correctores
de error no sólo pretenden detectar errores, sino también corregirlos. Existen diferentes
métodos de detección de errores, el más usado es, posiblemente, el método del bit de
paridad. En cuanto a los códigos correctores, destacan algunos como el código de
Hamming.

Características de los códigos binarios [editar]


Ponderación [editar]

La mayoría de los sistemas de numeración actuales son ponderados, es decir, cada


posición de una secuencia de dígitos tiene asociado un peso. El sistema binario es, de
hecho, un sistema de numeración posicional ponderado. Sin embargo, algunos códigos
binarios, como el código Gray, no son ponderados, es decir, no tienen un peso asociado
a cada posición. Otros, como el mismo código binario natural o el BCD natural sí lo
son.

Distancia [editar]

La distancia es una característica sólo aplicable a las combinaciones binarias. La


distancia entre dos combinaciones es el número de bits que cambian de una a otra. Por
ejemplo, si se tienen las combinaciones de cuatro bits 0010 y 0111, correspondientes al
2 y al 7 en binario natural, se dirá que la distancia entre ellas es igual a dos (ya que de
una a otra cambian dos bits).
Además, con el concepto de distancia se puede definir la distancia mínima de un código.
Ésta no es más que la distancia menor que haya entre dos de las combinaciones de ese
código.

Adyacencia [editar]

La adyacencia es una característica que consiste en que de una combinación binaria a la


siguiente sólo varía un bit (distancia igual a uno). Esta propiedad es aplicable
únicamente a las combinaciones binarias de un código, no al código en sí mismo.

Continuidad [editar]

La continuidad es una característica de los códigos binarios que cumplen que todas las
posibles combinaciones del código son adyacentes, es decir, que de cualquier
combinación del código a la siguiente cambia un sólo bit. En este caso se dice que el
código es continuo. Cuando la última combinación del código es, a su vez, adyacente a
la primera, se trata de un código cíclico.

Autocomplementariedad [editar]

Se dice que un código binario es autocomplementario cuando el complemento a nueve


del equivalente decimal de cualquier combinación del código puede hallarse invirtiendo
los valores de cada uno de los bits (operación lógica unaria de negación) y el resultado
sigue siendo una combinación válida en ese código. Esta característica se observa en
algunos códigos BCD, como el código Aiken o el código BCD exceso 3. Los códigos
autocomplementarios facilitan las operaciones aritméticas.

Obtenido de "http://es.wikipedia.org/wiki/C%C3%B3digo_binario"

Sistema binario
De Wikipedia, la enciclopedia libre

(Redirigido desde Binario)


Saltar a navegación, búsqueda

El sistema binario, en matemáticas, es un sistema de numeración en el que los números


se representan utilizando solamente las cifras cero y uno (0 y 1).

Los ordenadores trabajan internamente con dos niveles de voltaje, por lo que su sistema
de numeración natural es el sistema binario (encendido 1, apagado 0).

Tabla de contenidos
[mostrar]

Historia [editar]

Página del artículo Explication de l'Arithmétique Binaire de Leibniz

El antiguo matemático hindú Pingala presentó la primera descripción que se conoce de


un sistema de numeración binario en el siglo tercero antes de nuestra era, lo cual
coincidió con su descubrimiento del concepto del número cero.

Una serie completa de 8 trigramas y 64 hexagramas, análogos a 3 bit y números binarios


de 6 bit, eran conocidos en la antigua china en el texto clásico del I Ching. Series
similares de combinaciones binarias también han sido utilizados en sistemas de
adivinación tradicionales africanos como el Ifá, así como en la geomancia medieval
occidental.

Un arreglo binario ordenado de los hexagramas del I Ching, representando la secuencia


decimal de 0 a 63, y un método para generar el mismo, fue desarrollado por el erudito y
filósofo Chino Shao Yong en el siglo XI. Sin embargo, no hay ninguna prueba de que
Shao entendió el cómputo binario.

En 1605 Francis Bacon habló de un sistema por el cual las letras del alfabeto podrían
reducirse a secuencias de dígitos binarios, la cuales podrían ser codificados como
variaciones apenas visibles en la fuente de cualquier texto arbitrario. En gran medida
para la teoría general de codificación de binario, él añadió que este método podría ser
usado con cualquier objeto en absoluto: "siempre que aquellos objetos sean capaces de
solo una diferencia doble; como por campanas, por trompetas, por luces y antorchas,
según el informe de Mosquetes, y cualquier instrumento de naturaleza parecida." (Ver el
código de Bacon).

El sistema binario moderno fue documentado en su totalidad por Leibniz, en el siglo


diecisiete, en su artículo "Explication de l'Arithmétique Binaire". En él se mencionan
los símbolos binarios usados por matemáticos chinos. Leibniz usó el 0 y el 1, al igual
que el sistema de numeración binario actual.

En 1854, el matemático británico George Boole, publicó un artículo que marcó un antes
y un después, detallando un sistema de lógica que terminaría denominándose Álgebra
de Boole. Dicho sistema jugaría un papel fundamental en el desarrollo del sistema
binario actual, particularmente en el desarrollo de circuitos electrónicos.

En 1937, Claude Shannon realizó su tesis doctoral en el MIT, en la cual implementaba


el Álgebra de Boole y aritmética binaria utilizando relés y conmutadores por primera
vez en la historia. Titulada Un Análisis Simbólico de Circuitos Conmutadores y Relés,
la tesis de Shannon básicamente fundó el diseño práctico de circuitos digitales.

En noviembre de 1937, George Stibitz, trabajando por aquel entonces en los


Laboratorios Bell, construyó un ordenador basado en relés - al cual apodó "Modelo K"
(porque lo construyó en una cocina, en inglés "kitchen")- que utilizaba la suma binaria
para realizar los cálculos. Los Laboratorios Bell autorizaron un completo programa de
investigación a finales de 1938, con Stibitz al mando. El 8 de enero de 1940 terminaron
el diseño de una Calculadora de Números Complejos, la cual era capaz de realizar
cálculos con números complejos. En una demostración en la conferencia de la Sociedad
Americana de Matemáticas, el 11 de septiembre de 1940, Stibitz logró enviar comandos
de manera remota a la Calculadora de Números Complejos a través de la línea
telefónica mediante un teletipo. Fue la primera máquina computadora utilizada de
manera remota a través de la línea de teléfono. Algunos participantes de la conferencia
que presenciaron la demostración fueron John Von Neumann, John Mauchly y Norbert
Wiener, el cual escribió acerca de dicho suceso en sus diferentes tipos de memorias en
la cual alcanzo diferentes logros.

Representación [editar]
Un número binario puede ser representado por cualquier secuencia de bits (dígitos
binarios), que a su vez pueden ser representados por cualquier mecanismo capaz de
estar en dos estados mutuamente exclusivos. Las secuencias siguientes de símbolos
podrían ser interpretadas todas como el mismo valor binario numérico:

1 0 1 0 0 1 1 0 1 0
| - | - - | | - | -
x o x o o x x o x o
y n y n n y y n y n

El valor numérico representado en cada caso depende del valor asignado a cada
símbolo. En un ordenador, los valores numéricos pueden ser representados por dos
voltajes diferentes y también se pueden usar polaridades magnéticas sobre un disco
magnético. Un "positivo", "sí", o "sobre el estado" no es necesariamente el equivalente
al valor numérico de uno; esto depende de la arquitectura usada.

De acuerdo con la representación acostumbrada de cifras que usan números árabes, los
números binarios comúnmente son escritos usando los símbolos 0 y 1. Cuando son
escritos, los números binarios son a menudo subindicados, prefijados o sufijados para
indicar su base, o la raíz. Las notaciones siguientes son equivalentes:

 100101 binario (declaración explícita de formato)


 100101b (un sufijo que indica formato binario)
 100101B (un sufijo que indica formato binario)
 bin 100101 (un prefijo que indica formato binario)
 1001012 (un subíndice que indica base 2 (binaria) notación)
 %100101 (un prefijo que indica formato binario)
 0b100101 (un prefijo que indica formato binario, común en lenguajes de
programación)

Operaciones con números binarios [editar]


Suma de números Binarios [editar]

Las posibles combinaciones al sumar dos bits son

 0+0=0
 0+1=1
 1+0=1
 1 + 1 = 10

100110101
+ 11010101
———————————
1000001010

Operamos como en el sistema decimal: comenzamos a sumar desde la derecha, en


nuestro ejemplo, 1 + 1 = 10, entonces escribimos 0 en la fila del resultado y llevamos 1
(este "1" se llama acarreo o arrastre). A continuación se suma el acarreo a la siguiente
columna: 1 + 0 + 0 = 1, y seguimos hasta terminar todas la columnas (exactamente
como en decimal).

Resta de números binarios [editar]

El algoritmo de la resta en binario es el mismo que en el sistema decimal. Pero conviene


repasar la operación de restar en decimal para comprender la operación binaria, que es
más sencilla. Los términos que intervienen en la resta se llaman minuendo, sustraendo y
diferencia.

Las restas básicas 0-0, 1-0 y 1-1 son evidentes:

 0-0=0
 1-0=1
 1-1=0
 0 - 1 = no cabe o se pide prestado al proximo.

La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada
de la posición siguiente: 10 - 1 = 1 y me llevo 1, lo que equivale a decir en decimal, 2 -
1 = 1. Esa unidad prestada debe devolverse, sumándola, a la posición siguiente. Veamos
algunos ejemplos:

Restamos 17 - 10 = 7 (2=345) Restamos 217 - 171 = 46 (3=690)


10001 11011001
-01010 -10101011
—————— —————————
00111 00101110

A pesar de lo sencillo que es el procedimiento, es fácil confundirse. Tenemos


interiorizado el sistema decimal y hemos aprendido a restar mecánicamente, sin
detenernos a pensar en el significado del arrastre. Para simplificar las restas y reducir la
posibilidad de cometer errores hay varias soluciones:

 Dividir los números largos en grupos. En el siguiente ejemplo, vemos cómo se


divide una resta larga en tres restas cortas:

100110011101 1001 1001 1101


-010101110010 -0101 -0111 -0010
————————————— = ————— ————— —————
010000101011 0100 0010 1011
 Utilizando el complemento a dos. La resta de dos números binarios puede
obtenerse sumando al minuendo el complemento a dos del sustraendo. Veamos
algunos ejemplos. Hagamos la siguiente resta, 91 - 46 = 45, en binario:

1011011 1011011
-0101110 C2 de 46 = 1010010 +1010010
———————— ————————
0101101 10101101

En el resultado nos sobra un bit, que se desborda por la izquierda. Pero, como el número
resultante no puede ser más largo que el minuendo, el bit sobrante se desprecia.

Un último ejemplo: vamos a restar 219 - 23 = 196, directamente y utilizando el


complemento a dos:

11011011 11011011
-00010111 C2 de 23 = 11101001 +11101001
————————— —————————
11000100 111000100
Y, despreciando el bit que se desborda por la izquierda, llegamos al resultado correcto:
11000100 en binario, 196 en decimal.

 Utilizando el complemento a 1. La resta de dos números binarios puede


obtenerse sumando al minuendo el complemento a uno del sustraendo y a su vez
sumarle el bit de overflow (bit que se desborda).

Producto de números binarios [editar]

El algoritmo del producto en binario es igual que en números decimales; aunque se lleva
cabo con más sencillez, ya que el 0 multiplicado por cualquier número da 0, y el 1 es el
elemento neutro del producto.

Por ejemplo, multipliquemos 10110 por 1001:

10110
1001
—————————
10110
00000
00000
10110
—————————
11000110

En sistemas electrónicos, donde se suelen utilizar números mayores, no se utiliza este


método sino otro llamado algoritmo de Booth.

División de números binarios [editar]

La división en binario es similar a la decimal, la única diferencia es que a la hora de


hacer las restas, dentro de la división, estas deben ser realizadas en binario. Por ejemplo,
vamos a dividir 100010010 (274) entre 1101 (13):

100010010 |1101
——————
- 0000 010101
———————
10001
- 1101
———————
01000
- 0000
———————
10000
- 1101
———————
00111
- 0000
———————
01110
- 1101
———————
00001

Conversión entre binario y decimal, binario y octal, y


binario y hexadecimal [editar]
Binario a decimal [editar]

Para realizar la conversión de binario a decimal, realice lo siguiente:

1. Inicie por el lado derecho del número en binario, cada número multiplíquelo por
2 y elévelo a la potencia consecutiva (comenzando por la potencia 0).
2. Después de realizar cada una de las multiplicaciones, sume todas y el número
resultante será el equivalente al sistema decimal.

Ejemplos:

 110101 (binario) = 53 (decimal). Proceso:

1*(2) elevado a (0)=1


0*(2) elevado a (1)=0
1*(2) elevado a (2)=4
0*(2) elevado a (3)=0
1*(2) elevado a (4)=16
1*(2) elevado a (5)=32
La suma es: 53
 10010111 (binario) = 151 (decimal). Proceso:

1*(2) elevado a (0)=1


1*(2) elevado a (1)=2
1*(2) elevado a (2)=4
0*(2) elevado a (3)=0
1*(2) elevado a (4)=16
0*(2) elevado a (5)=0
0*(2) elevado a (6)=0
1*(2) elevado a (7)=128
La suma es: 151
 110111 (binario) = 55 (decimal). Proceso:

1*(2) elevado a (0)=1


1*(2) elevado a (1)=2
1*(2) elevado a (2)=4
0*(2) elevado a (3)=0
1*(2) elevado a (4)=16
1*(2) elevado a (5)=32
La suma es: 55

Decimal a binario [editar]

Se divide el número decimal entre 2 cuyo resultado entero se vuelve a dividir entre 2 y
así sucesivamente. Una vez llegados al 1 indivisible se cuentan el último cociente, es
decir el uno final (todo número binario excepto el 0 empieza por uno), seguido de los
residuos de las divisiones subsiguientes. Del más reciente hasta el primero que resultó.
Este número será el binario que buscamos. A continuación se puede ver un ejemplo con
el número decimal 100 pasado a binario.

100 |_2
0 50 |_2
0 25 |_2 --> 100 1100100
1 12 |_2
0 6 |_2
0 3 |_2
1 1

Otra forma de conversión consiste en un método parecido a la factorización en números


primos. Es relativamente fácil dividir cualquier número entre 2. Este método consiste
también en divisiones sucesivas. Dependiendo de si el número es par o impar,
colocaremos un cero o un uno en la columna de la derecha. Si es impar, le restaremos
uno y seguiremos dividiendo por dos, hasta llegar a 1. Después sólo nos queda tomar el
último resultado de la columna izquierda (que siempre será 1) y todos los de la columna
de la derecha y ordenar los dígitos de abajo a arriba. Y luego se haría un cuadro con las
potencias con el resultado.

Ejemplo:

100|0
50|0
25|1 --> 1, 25-1=24 y seguimos dividiendo por 2
12|0
6|0
3|1
1|1 --> 100 1100100

Y también tenemos otro método el método de distribución en el que distribuimos el


número decimal y podemos tener el resultado en binario, trabaja de la siguiente manera
tenemos el número 151 lo que tenemos que hacer es distribuir este número buscando el
número más próximo; en este caso es 128 así que en la casilla donde hay capacidad de
contener el número que tenemos lo vamos marcando. y en las casillas que no
empleamos las marcaremos con un 0.

Ejemplo:

2^0= 1|1
2^1= 2|1
2^2= 4|1
2^3= 8|0
2^4= 16|1
2^5= 32|0
2^6= 64|0
2^7= 128|1 128+16+4+2+1=151
2^8= 256|0

Y sucesivos.

Binario a octal [editar]


Para realizar la conversión de binario a octal, realice lo siguiente:

1) Agrupe la cantidad binaria en grupos de 3 en 3 iniciando por el lado derecho. Si al


terminar de agrupar no completa 3 dígitos, entonces agregue ceros a la izquierda.

2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:

Número en binario 000 001 010 011 100 101 110 111

Número en octal 0 1 2 3 4 5 6 7

3) La cantidad correspondiente en octal se agrupa de izquierda a derecha.

Ejemplos:

 110111 (binario) = 67 (octal). Proceso:

111 = 7
110 = 6
Agrupe de izquierda a derecha: 67
 11001111 (binario) = 317 (octal). Proceso:

111 = 7
001 = 1
11 entonces agregue un cero, con lo que se obtiene 011 = 3
Agrupe de izquierda a derecha: 317
 1000011 (binario) = 103 (octal). Proceso:

011 = 3
000 = 0
1 entonces agregue 001 = 1
Agrupe de izquierda a derecha: 103.

Octal a binario [editar]

Cada dígito octal se lo convierte en su binario equivalente de 3 bits y se juntan en el


mismo orden. Ejemplo:

 247 (octal) = 010100111 (binario). El 2 en binario es 10, pero en binario de 3


bits es Oc(2) = B(010); el Oc(4) = B(100) y el Oc(7) = (111), luego el número
en binario será 010100111.

Binario a hexadecimal [editar]

Para realizar la conversión de binario a hexadecimal, realice lo siguiente:

1) Agrupe la cantidad binaria en grupos de 4 en 4 iniciando por el lado derecho. Si al


terminar de agrupar no completa 4 dígitos, entonces agregue ceros a la izquierda.
2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:

Núme
ro en 00 00 00 00 01 01 01 01 10 10 10 10 11 11 11 11
binari 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11
o

Núme
ro en
hexad 0 1 2 3 4 5 6 7 8 9 A B C D E F
ecima
l

3) La cantidad correspondiente en hexadecimal se agrupa de izquierda a derecha.

Ejemplos:

 110111010 (binario) = 1BA (hexadecimal). Proceso:

1010 = A
1011 = B
1 entonces agregue 0001 = 1
Agrupe de izquierda a derecha: 1BA
 11011110101 (binario) = 6F5 (hexadecimal). Proceso:

0101 = 5
1111 = F
110 entonces agregue 0110 = 6
Agrupe de izquierda a derercha: 6F5

Hexadecimal a binario [editar]

Ídem que para pasar de hexadecimal a binario, solo que se remplaza por el equivalente
de 4 bits, como de octal a binario.

Tabla de conversión entre decimal, binario,


hexadecimal, octal, BCD, Exceso 3 y Gray o Reflejado
[editar]

Decimal Binario Hexadecimal Octal BCD Exceso 3 Gray o Reflejado

0 0000 0 0 0000 0011 0000

1 0001 1 1 0001 0100 0001


2 0010 2 2 0010 0101 0011

3 0011 3 3 0011 0110 0010

4 0100 4 4 0100 0111 0110

5 0101 5 5 0101 1000 0111

6 0110 6 6 0110 1001 0101

7 0111 7 7 0111 1010 0100

8 1000 8 10 1000 1011 1100

9 1001 9 11 1001 1100 1101

10 1010 A 12

11 1011 B 13

12 1100 C 14

13 1101 D 15

14 1110 E 16

15 1111 F 17

Obtenido de "http://es.wikipedia.org/wiki/Sistema_binario"

Categorías: Wikipedia:Artículos destacados en w:vi | Aritmética computacional |


Sistemas de numeración posicional
LOS BITS Y LOS BYTES
Seguramente conoces que un ordenador constituye un dispositivo electrónico digital. La palabra
“digital” está relacionada con el término “dígito”, que a su vez significa “dedo”.

La etimología de esta palabra proviene de la época en que nuestros antepasados tenían que
contar con los dígitos o dedos las piezas que cazaban. De ahí también que las impresiones que
dejan nuestros dedos cuando tocamos un objeto se denominen “huellas digitales”.
Se supone que por la necesidad que tenían esos primeros “homo
sapiens” de utilizar los diez dedos de las manos para contar (recurso
que aún utilizan muchos niños e incluso no muy niños), surgió el
sistema numérico que aprendemos desde muy temprano en la escuela,
compuesto por diez dígitos o números que van del “0” al “9”. Ese
sistema que todos conocemos, se denomina "sistema numérico
decimal", o "de base 10".

Pero en el mundo de las matemáticas el sistema decimal no es único que existe para realizar
cálculos simples o complejos. Coexisten, además, otros sistemas numéricos, prácticamente
desconocidos para la mayoría de las gentes, entre los que se encuentran el "sistema numérico
hexadecimal", de "base 16", y el "sistema numérico binario", de "base 2". Este último es el más
utilizado en informática y emplea para efectuar todas las operaciones matemáticas solamente el
“0” y “1”, dígitos con los cuales los ordenadores realizan todas las operaciones para las que
fueron concebidos. De ahí su denominación de "dispositivos digitales".

El sistema numérico binario fue el escogido por los ingenieros informáticos para el
funcionamiento de los ordenadores, porque era más fácil para el sistema electrónico de la
máquina distinguir y manejar solamente dos dígitos, o sea, el "0" y el "1" que componen el
sistema numérico binario, en lugar de los diez dígitos (del 0 al 9), que constituyen el sistema
numérico decimal.

De no haber existido el sistema matemático binario, el desarrollo de una tecnología para que los
ordenadores pudieran funcionar empleando el sistema decimal hubiera sido tan costosa que los
ordenadores no hubieran estado siquiera al alcance de la mayoría de las empresas, tal como
ocurría con las voluminosas computadoras o “mainframes” que se utilizaron a partir de los
años 50 del siglo pasado.

Esas enormes máquinas sólo la podían adquirir empresas muy poderosas, que las utilizaron
hasta que comenzaron a ser desplazadas, a partir de los años 80 del siglo pasado, por los
ordenadores o computadoras personales (PC).

Para su funcionamiento, tal como ya se mencionó, el ordenador utiliza el


sistema numérico binario basándose en un código o programa que le sirve
para recibir, interpretar y ejecutar los datos. Todos los programas,
instrucciones, textos y órdenes que introducimos en el ordenador éste las
recibe en código binario como una cadena de ceros y unos. Cada cero (“0”) y
cada uno (“1”), representa un “bit” de información. La palabra “bit”
constituye el acrónimo de Binary DigIT, que significa “dígito binario”.

Para formar cada carácter alfanumérico, es decir una letra, número o signo, los ingenieros
informáticos, después de realizar muchas pruebas, optaron por combinar ocho bits o cadena de
ceros y unos para formar un “octeto” al que denominaron “byte”.

A cada carácter alfanumérico le asignaron un byte de información y estructuraron 256 valores


binarios distintos en un código que llamaron ASCII (American Standard Code for Information
Interchange – Código Estándar Americano para Intercambio de Información).

En el Código ASCII los valores binarios entre 0 y 31 corresponden a instrucciones, entre 32 y


127 corresponden al alfabeto alfanumérico y entre 128 y 255 a caracteres de otros idiomas y
signos menos convencionales.

ASÍ FUNCIONAN LOS BITS Y LOS BYTES EN EL ORDENADOR


Por un acuerdo conjunto entre los ingenieros y científicos, se le asignó al dígito “1” la
existencia de un pulso eléctrico y al dígito “0” la no existencia de pulso eléctrico. Por tanto,
para el ordenador sólo existen dos estados físicos que le permiten comprender las órdenes o
instrucciones antes de ejecutarlas: “la existencia de pulsos eléctricos o la no existencia de
ellos”.

Por ejemplo, cuando se escribe en el teclado la letra “A” mayúscula, se generan


automáticamente 8 bits u octeto, equivalentes a un byte, que representan esa letra. El código
numérico que se genera, para que el ordenador reconozca que se ha escrito la letra “A” , es:
0100 0001. Cada uno de los bits correspondientes a los dígitos “1” contenidos en ese byte de
información generan pulsos eléctricos, mientras que los representados por el dígito “0” no
generan prácticamente ningún pulso eléctrico.

En cualquier circuito electrónico digital, como el que posee el ordenador, el bit “0” puede estar
en ocasiones cercano a “0” volt y el bit “1” cercano a 3 ó 5 volt, de forma tal que la tensión o
voltaje que pueda llegar a tener el dígito “0” nunca llegará a alcanzar un valor alto, ni el dígito
“1” un valor muy bajo.

Gracias a ese mecanismo el circuito digital puede diferenciar perfectamente el valor


correspondiente a estos dos dígitos sin equivocarse, por lo que el riesgo de que se produzcan
confusiones o errores a la hora de reconocer el valor de ambos es prácticamente nula.

Cuando la memoria RAM del ordenador recibe una combinación de pulsos y no pulsos
eléctricos correspondientes a los unos y los ceros que forman el byte 0100 0001, reconoce que
le están enviando el código correspondiente a la letra “A”. De esa forma lo descifra y retiene
como tal, permitiendo, a su vez, que esa letra se pueda representar en la pantalla del monitor.

Esta operación resulta ser algo similar a lo que ocurría en el mundo analógico cuando un
telegrafista recibía a través de su aparato receptor el sonido de un punto y una raya ( · – ) en
código Morse. En cuanto éste oía ese sonido en el dispositivo receptor, sabía que le estaban
transmitiendo la letra “A”.

Lo mismo ocurría cuando las escobillas del sistema electrónico de las antiguas máquinas
tabuladoras IBM leían en la tarjeta las dos perforaciones correspondientes a la letra “A” o
cualquier otro signo alfanumérico para que la máquina lo interpretara e imprimiera. Por tanto,
cuando escribimos en el teclado del ordenador letras, números y signos, se forman cadenas de
bytes codificados que representan instrucciones y caracteres alfanuméricos que el ordenador
interpreta como tales.

Lógicamente, para escribir los programas, aplicaciones o “softwares” que el ordenador emplea
para trabajar, el programador utiliza un lenguaje de programación denominado “de alto nivel”,
que le permite crearlos escribiendo líneas de texto codificadas. Esas líneas de texto u órdenes el
programador las puede escribir, leer y entender, no así el ordenador mientras se mantengan
escritas de esa forma.

Para que el ordenador pueda entender las ordenes contenidas en un programa cualquiera escrito
por el programador en lenguaje de "alto nivel", es necesario que otro programa denominado
“compilador” las traduzca y convierta a código máquina “de bajo nivel”. Este código,
compuesto solamente de unos y ceros, es el único que entiende el ordenador y es el que le
permite interpretar las órdenes contenidas en los programas para que las pueda ejecutar.

Múltiplos del byte


La capacidad de almacenamiento de la memoria RAM y de los dispositivos empleados para
almacenar programas, documentos de texto, datos, música, fotos e imágenes en movimiento se
mide también en “bytes”. Pero cuando se trata de grandes cantidades de bytes contenidas en un
archivo o en una carpeta incluida dentro de un dispositivo de almacenamiento masivo de
información, como puede ser un disquete, disco duro, CD, DVD, etc., se utilizan los siguientes
múltiplos del byte:

 kilobyte (kB) = 1 024 bytes


 megabyte (MB) = 1 048 576 bytes

 gigabyte (GB) = 1 073 741 824 bytes

 terabyte (TB) = 1 099 511 627 776 bytes

Por eso, cuando queremos adquirir un ordenador o computadora personal, además de


interesarnos por el tipo de microprocesador que utiliza, debemos preocuparnos también por la
capacidad de almacenamiento de datos en megabytes (MB) o preferiblemente en gibabytes
(GB) que admiten tanto la memoria principal de trabajo (RAM), como el disco duro.

REPRESENTACIÓN DE ALGUNOS NÚMEROS DECIMALES Y SUS


EQUIVALENTES EN BINARIO Y EN OCTETO FORMANDO BYTES
Número Decimal Número Binario Octeto Binario
0 0 0000 0000
1 1 0000 0001
2 10 0000 0010
3 11 0000 0011
4 100 0000 0100
5 101 0000 0101
6 110 0000 0110
7 111 0000 0111
8 1000 0000 1000
9 1001 0000 1001
10 1010 0000 1010
20 1 0100 0001 0100
30 1 1110 0001 1110
40 10 1000 0010 1000
50 11 0010 0011 0010
60 11 1100 0011 1100
70 100 0110 0100 0110
80 101 0000 0101 0000
90 101 1010 0101 1010
100 110 0100 0110 0100
255 1111 1111 1111 1111
256  1 0000 0000 ---

Cualquier número decimal tiene su equivalente en el sistema numérico binario, el que


puede estar< formado por un solo dígito como mínimo, como en el caso del "0" y el
"1". A partir del número decimal< “256” la cifra que se obtiene en la conversión al
sistema numérico binario adquiere 9 dígitos, lo que< sobrepasa la cantidad requerida
para obtener el octeto necesario para integrar un byte de información.< Por esa razón
el Código ASCII sólo contiene 256 combinaciones posibles para formar los caracteres<
alfanuméricos.

TEMAS RELACIONADOS:

 Código ASCII (completo)

 Código del alfabeto Morse

 Semáforo de banderas para la transmisión de mensajes


El Código Binario Decimal
Codificado (BCD o BDC)
El BCD (el binario decimal codificado) es una forma directa asignada a un
equivalente binario. Es posible asignar cargas a los bits binarios de acuerdo a
sus posiciones. Las cargas en el código BCD son 8, 4, 2, 1.
Ejemplo:
Para representar el digito decimal 6 en código BCD sería:.
0110
Ya que 0 x 8 + 1 x 4 + 1 x 2 ÷ 0+1 = 6.
Es posible asignar cargas negativas a un código decimal, tal como se muestra en
el código 8, 4, -2, -1. En esta caso la combinación de bits 0110 se interpreta
como el digito decimal 2, l obtenerse de 0 x 8 + 1 x 4 + 1 x (-2) + 0 x (-1)=2.
Un código decimal que se ha usado en algunos computadores viejos en el código
de exceso a 3. Este último es un código sin carga, cuya asignación se obtiene del
correspondiente valor en BCD una vez se haya sumado 3.
Los números se representan en computadores digitales en binario o decimal a
través de un codigo binario. Cuando se estén especificando los datos, el usuario
gusta dar los datos en forma decimal. Las maneras decimales recibidas se
almacenan internamente en el computador por medio del código decimal. Cada
digito decimal requiere por lo menos cuatro elementos de almacenamiento
binario. Los números decimales ses convierten a binarios cuando las
operaciones aritméticas se hacen internamente con números representados en
binario. Es posible también realizar operaciones aritméticas directamente en
decimal con todos los números ya dejados en forma codificada. Por ejemplo, el
número decimal 395, cuando se convierte aq binario es igual a 112221211 y
consiste en nueve digitos binarios. El mismo número representado
alternamente en BCD, ocupa cuatro bits para cada digito decimal para un total
de 12 bits:001110010101.
Decimal Binario BCD
395 112221211 001110010101.
En el código BCD: los cuatro primeros bits representan el 3.Los siguientes
cuatro representan el 9 y los últimos cuatro el 5.
Es muy importante comprender la diferencia entre conversión de un número
decimal binario y la codificación binaria de un número decimal. En cada caso el
resultado final es una seria de bits. Los bits obtenidos de la conversión son
dígitos binarios. Los bits obtenidos de la codificación son combinaciones de
unos ceros arregladas de acuerdo a las reglas del código usado. Por tanto es
extremadamente importante tener en cuenta que una serie de unos y ceros en
un sistema digital puede algunas veces representar un número binario y otras
veces representar alguna otras cantidad discreta de información como se
especifica en un código binario dado. El código BCD por ejemplo, ha sido
escogido de tal manera que es un código y una conversión binaria directa
siempre y cuando los números decimales sean algún entero entre 0 y 9. Para
números mayores que 9, la conversión y la codificación son completamente
diferentes. Este concepto es tan importante que vale la pena repetirlo usando
otro ejemplo: la conversión binaria del decimal 13 es 1101; la codificación
decimal 13 con BCD es 00010011.
Decimal Conversión Binaria Codificación BCD
13 1101 00010011
El código BCD es uno de los más utilizados. Los otros códigos de cuatro bits
tienen una característica en común que no se encuentra en BCD. El exceso a 3,
el 2, 4, 2, 1 y el 8, 4, -2, -1, son códigos autocomplementarios, esto es que el
complemento a 9 del número decimal se obtiene fácilmente cambiando los más
por ceros y los ceros por más. Esta propiedad es muy útil cuando se hacen las
operaciones aritméticas internamente con números decimales (en código
binario) y la sustracción se hace por medio del complemento de 9.
El código biguinario mostrado a continuación es un ejemplo de un código de
siete digitos con propiedades de detección de error. Cada dígito decimal consiste
de 5 ceros y 2 unos colocados en las correspondientes columnas de carga.
La propiedad de detección de error de este código puede comprenderse si uno se
da cuenta de que los sistemas digitales representan el binario 1 mediante una
señal específica uno y el binario cero por otra segunda señal específica. Durante
la trasmisión de señales de un lugar a otro puede presentarse un error. Uno o
más bits pueden cambiar de valor. Un circuito en el lado de recepción puede detectar
la presencia de más (o menos) de dos unos y en el caso de que la combinación
permitida, se detectará un error.

Digito BCD 8421 Exceso a 3 84-2-1 2421 (Biguinario)


Decimal 5043210

0 0 11 0 0 0100001

1 1 100 111 1 0100010

2 10 101 110 10 0100100

3 11 110 101 11 0101000

4 100 111 100 100 0110000

5 101 1000 1011 1011 1000001

6 110 1001 1010 1100 1000010

7 111 1010 1001 1101 1000100


8 1000 1011 1000 1110 1001000

9 1001 1100 1111 1111 1010000

III. FLIP FLOP


Los bloques para construir los circuitos lógicos combinacionales son las puertas.
Los bloques básicos para construir los circuitos lógicos secuenciales son los
circuitos FLIP FLOPS . Eston también son denominados cerrojos o binarios.
Los FLIP - FLOP se interconectan para formar circuitos lógicos secuenciales
que almaenan datos, generan tiempos, cuenten y sigan secuencias.
Los flip flops se dividen así:
FLIP FLOP RS:
El flip flop básico se denomina flip-flop RS. El símbolo para el flip-flop RS se
muestra en la figura. El simbolo lógico tiene dos entradas, etiquetas con set (S)
y reset El Flip-Flop RS de este símbolo tiene activas las entradas en el nivel
BAJO, que se indican por los circuitos de las entradas S y R. De forma distinta a
las puertas lógicas, los Flip-Flops tiene dos salidas complementarias que se
denominan Q y -Q.

SET NORMAL
S
ENTRADAS FF SALIDAS
RESET COMPLEMENTARIA
R
Los FLIP-FLOP RS se pueden construir a partir de compuertas lógicas.

S R Q -Q

00
0100
1010
11XX
FLIP-FLOP RS SINCRONO
El cerrojobásico RS es un dispositivo asincrónico. No opera en conjunción con
un reloj o dispositivo de tremporización. Cuando se activa una entrada (como
ejemplo, la entrada set), se activa inmediatamente la salida normal como los
circuitos lógicos combinacionales. Los circuitos de puertas y los cerrojos RS
operan de forma asincrónica.
El flip-flop RS sincrono opera en conunción con el reloj o dispositivo de
temporización. En otras palabras opera sincronicamente. Un símbolo lógico
para el flip-flop RS sincrono se puede ver en el esquema. Tiene entradas de set
(S), reset ( R ) y la de reloj (CLOCK). También tiene las salidas normal (Q) y
complementaria (-Q).

SET

SQ
CLOCK

ENTRADAS CLK SALIDAS

RESET
R -Q
El Flip flop RS sincrono puede implementarse con compuertas NAND.
Las formas de onda o diagramas de tiempo, se emplean mucho y son muy útiles
para trabajar con FLIP-FLOP y circuitos lógicos secuenciales RS sincrono.
FLIP-FLOP D
El símbolo lógico para un tipo común de flip-flop se muestra en la figura. El flip-
flop D tiene solamente una entrada de datos (D) y una entrada de reloj (CLK).
Las salidas habituales Q y -Q se muestran en la parte derecha del símbolo. El
flip-flop D con frecuencia se denomina FLIP FLOP DE RETARDO. Este nombre
descriibe con precisión la operación que realiza. Cualquiera que sea el dato de
entrada (D), este aparece en la salida normal retardando un pulso de reloj. El
dato es transferido a la salida durante la transición de nivel BAJO al ALTO de
pulso de reloj.
DATO D Q

ENTRADAS FF SALIDAS

CLOCK
CLK -Q
FIGURA A. FLIP FLOP D Construído a partir de un flip-flop RS sincrono.

DATO

DQ

CLOCK FF SALIDAS

CLK -Q
FIGURA B. Símbolo lógico para el FLIP-FLOP D 7474 cpn entradas
asincrónicas.
PRESET

[ SET

DATO
DQ
SALIDAS

CLOCK FF
-Q
BORRADO

[ RESET
EL FLIP-FLOP JK
El símbolo logico para un flip-flop JK se mustra en la figura. Este dispositivo
puede considerarse como un flip-flop universal; los demás tipos pueden
construirse a partir de el. El símbolo lógico de la figura tiene tres entradas ( J, K,
y CLK). Las entradas J y K son entradas de datos, y la entrada de reloj trasfiere
el datos de las entradas y salidas. El símbolo lógico mostrado en la figura
también tiene la salida normal (Q) y la complementaria (-Q).
JQ

ENTRADAS Reloj FF SALIDAS

K -Q
PRESET CLEAR J K CLOCK Q -Q
11XXX11
10XXX10
01XXX01

0000
000101

001010

001111
DISPARO DE LOS FLIP-FLOPS
La mayor parte de los equipos digitales operan como un sistema secuencial
sincrono, lo que sugiere que un reloj maestro envía señales a todas partes del
sistema para coordinar la operación de mismo. Algunos flip-flops trasnfieren los
datos de la entrada a la salida en el flanco positivo de pulso de reloj. Estos flip-
flop se denominan flip-flop de disparos por flanco positivo. Otros flip-flop son
los disparados por flanco negativo, se muestra en las dos formas de ondas
inferiores. La central es la entrada de reloj. La inferior es la salida Q cuando el
flip-flop está en modo de conmutación. Observar que este flip-flop conmuta al
estado opuesto solamente en el flanco posterior (flanco negativo) del pulso del
reloj.
FF disparado por flanco positivo (modo conmutación)
Q SALIDA

ENTRADAS
CLK

FF disparado por flanco negativo (Modo conmutación)


Q SALIDA
II. CODIGOS ALFANUMERICOS
ASCII Y EBCD
Muchas de las aplicaciones de las computadoras dgitales requieren la
manipulación de datos que constan no sólo de números, sino también de letras.
Para representar cadenas de caracteres alfabéticos ers necesario tener un código
binario para el alfabeto. Además el mismo código binario debe representar
números y algunos otros caracteres especiales.
Un código alfanumérico es un código binario de un grupo de elementos que
constan de diez digitos decimales, las 26 letras del alfabeto y cierto número de
de símbolos especiales como el $. El número total de elementos en un grupo
alfanumérico es mayor de 36. Por lo tanto debe codificarse con un mínimo de
seis bits (2 6 = 64 , pero 2 3 = 32 no es suficiente).
Para superar los inconvenientes de la representación binaria real, se han
desarrollado varios códigos en base binaria de longitud fija. Estos códigos ponen
a disposición de la computadora letras y otros tipos de caracteres, así como
números en forma binaria. Debido a que son códigos de longitud fija, la
computadora puede con facilidad decir cuándo termina un carácter y empieza
otro.
El ASCII ( The American Standard Code for Information Interchange, Código
Estándar estadounidense para el intercambio de información) es un código
desarrollado por el Instituto Estadounidense de Normas y fue diseñado
originalmente como un código de 7 bits que podía representar 128 (2 7 )
caracteres.
El ASCII, es un código de siete bits que nace de la necesidad de representar
digitos decimales, letras minusculas, letras mayúsculas y gran número de
caracteres adicionales que antes no se podían expresar usando las 64
combinaciones del BCD. El ASCII se usa de forma muy extensa en la
comunicación de datos y es el código que se utiliza para representar los datos
internamente en las computadoras personales.
El código ASCII es un código consta de siete bits, pero en la práctica es un
código de ocho bits debido a que de manera invariable se agraga un bit por
paridad.
VI. CIRCUITOS SECUENCIALES
Un circuito secuencial es una interconexión de flip-flops y compuertas. Las
compuertas por sí mismas constituyen un circuito pero cuando se incluyen con
el flip-flop, el circuito total se clasifica como un circuito secuencial. Un diagrama
de cloques de un circuito secuencial de reloj se muestra a continuación. Consiste
en un circuito de combinación y dos flip-flops de reloj JK. En general se puede
encontrar cualquier número o tipo de flip-flops. La parte del circuito de
combinación recibe señales binarias de entradas externas y de las salidas de los
flip-flops. El genera señales binarias a salidas externas y a las entradas de los
flip-flops.

KΩJKΩJ

CP

Entradas Circuito de combinación Salidas

externas Externas
FUNCIONES DE ENTRADA DE FLIP-FLOP
Un ejemplo de un circuito secuencial se muestra a continuación. Tiene una
variable de entrada x, una variable de salida y , y dos flip-flop de reloj RS. Las
compuertas AND y el inversor forman la parte del circuito de lógica de
combinación. Las interconexiones entre las compuertas en el circuito de
combinación pueden ser especificadas por un conjunto de funciones Booleanas.
La parte del circuito de combinación que genera las entradas a los flip-flops se
describe por un conjunto de funciones Booleanas denominadas funciones de
entrada o ecuaciones de entrada del flip-flop. Adoptamos la convención de usar
dos letras de entrada del flip-flop y la segunda , el nombre del flip-flop. Así,
tenemos cuatro funciones de entrada designadas por flop RS, La segunda letra
es el nombre del símbolo flip-flop. Las funciones de entrada son funciones
Booleanas para las variables de entrada de Flip-flop pueden derivarse por
inspección de circuito.
AND marca RA, tiene entradas de B´ y x,. Puesto que esta salida llega a la
entrada R del flip-flop A escribimos la función de entrada como.
RA= B´ x
en donde RA es una variable binaria que tiene un símbolo de dos letras.
Similarmente, las otras funciones de entrada son:
SA = B x´
RB = Ax´
SB = A´x
El circuito secuencial también tiene una salida externa que es una función de la
variable de entrada y el estado de uno de sus flip-flop. Esta salida puede
especificarse algebraicamente por la expresión
y = A´x
A partir de este ejemplo, notamops que la función de entrada de un flip-flop es
una función Booleana para un circuito de combinación. La designación de dos
letras es el nombre de una variable binaria para la salida de un circuito de
combinación. Esta salida es siempre conectada al terminal de entrada del flip-
flop.
TABLA DE ESTADO
ESTADO ENTRADA ESTADO SIGUIENTE SALIDA
PRESENTE
ABXABY
000000
001011
010110
011011
100100
101000
110100
111110
DIAGRAMA DE ESTADO
No existe diferencia entre una table de estado y un diagrama de estado, excepto
en la forma de representación. La tabla de stado es fácil de derivar a partir del
diagrama de estado sigue directamente a la tabla de stado. El diagrama de
estado da una vista gráfica de la transición del estado y está en una forma
conveniente para la interpretación humana de la operación del circuito. El
diagrama de estado es a menudo utilizado como la especificación de diseño
inicial de un circuito.
V. DECODIFICADORES
Cantaidades discretas de información se presentan en sistemas digitales con
códigos binarios. Un código binario de n bits es capaz de representar hasta 2 n
elementos diferentes de información codificada. Un decodificador es un circuito
combinacional que convierte la información binaria de n líneas de entrada a un
máximo de 2 n salidas.
Decodificador en línea e 3 a 8 .
Como ejemplo tenemos un circuito decodificador en línea de 3 a 8. Las tres
entradas se decodifican en ocho salidas y cada salida representa uno de los
terminos mínimos de las variables de 3 entradas. Los tres inversores generan el
complemento de las entradas y cada una de las ocho compuertas AND generan
uno de los términos mínimos. Una aplicación particular de este decodificador
sería una conversión binaria a octal. Las variables de entrada podrían
representar un número binario y las salidas representarían los ocho dígitos en el
sistema de numeración octal. Sin embargo un decodificador en línea de 3 a 8
puede ser usado para decodificar cualquier código de 3 bits para generar ocho
salidas, una para cada elemento del código.
V. CODIFICADORES
Un codificador es una función digital que produce una operación invesa a la del
decodificador. Un codificador tiene 2n (o menos) líneas de entrada y n líneas de
salida. Las líneas de salida generan el código binario para las 2 n variables de
entrada.
Como ejemplo tenemos un codificador cotal a binario consiste en ocho entradas
una para cada uno de los ocho dígitos y tres salidas para generar el número
binario correspondiente. Este se construye com compuertas OR, cuyas entradas
se determinan a partir de la tabla de verdad . Losbits de salida de bajo orden z
son 1 si los digitos octales de entrada son impares. La salida y es 1 para los
dígitos octales 2 , 3, 6 ó 7. La salida x es 1 para los dígitos octales 4, 5, 6 ó 7 . D 0
no se conecta a ninguna compuerta OR; la salida binaria debe ser sólo ceros en
este caso. Una salida de sólo ceros se obtiene también cuando todas las entradas
sean cero. Esta discrepancia puede resolverse agragando una salida más para
indicar el hecho de que todas las entradas no son ceros.
Este codificador asume que una línea de entrada puede ser igual a 1 en cualquier
momento; de otra forma el circuito no tiene significado. El circuito tiene ocho
entradas y podría tener 28 = 256 combinaciones de entrada posibles. Solamente
ocho de estas combinaciones tienen significado. Las otras combinaciones son
condiciones de no importa.
http://www.scribd.com/doc/505819/Circuitos-Logicos-Combinacionales-Secuenciales-
FlipFlops-y-Contador-de-0-a-9-en-la-Protoboard

MATERIAL:

CIRCUITO INTEGRADO 7408.

CIRCUITO INTEGRADO 7432.

CIRCUITO INTEGRADO 7404.

PROTO.

3 RESISTENCIAS DE 330 .

FUENTE DE 5V.

MULTIMETRO DIGITAL.

3 LEDS DE COLORES.

INTRODUCCIÓN:

A CONTINUACIÓN SE MUESTRAN LAS TANLAD E VERDAD DE LA COMPUERTAS LOGICAS AN , OR Y NOT, LAS


CUALES UTILIZAREMOS PARA LA ELABORACIÓN DE ESTA INTERESANTE
PRACTICA:

AND 7408

A B SALIDA

1 1 1

1 0 0

0 1 0

0 0 0

NOT 7404

ENTRADA SALIDA

1 0

0 1

OR 7432
A B SALIDA

1 1 1

1 0 1

0 1 1

0 0 0

LOS SÍMBOLOS DE LAS COMPUERTAS SON LOS SIGUIENTES:

CONCLUSIONES:
7400

El 7400 consta de 4 compuertas nand independientes

Diagrama de conexiones

Tabla de verdad
Características generales

Encapsulado tipo PDIP

7402

El 7402 consta de 4 compuertas NOR independientes de 2 entradas cada una

Diagrama de conexiones

Tabla de verdad
Características generales

Encapsulado tipo PDIP

7404

El 7404 consta de 6 compuertas NOT independientes

Diagrama de conexiones
Tabla de verdad

Características generales

Encapsulado tipo PDIP

7408
El 7408 consta de 4 compuertas AND independientes de 2 entradas cada una

Diagrama de conexiones

Tabla de verdad

Características generales

Encapsulado tipo PDIP

7410
El 7410 consta de 3 compuertas nand independientes de 3 entradas cada una

Diagrama de conexiones

Tabla de verdad

Características generales

Encapsulado tipo PDIP


7420

El 7420 consta de 2 compuertas NAND independientes de 4 entradas cada una

Diagrama de conexiones

Tabla de verdad

Características generales

Encapsulado tipo PDIP


7432

El 7432 consta de 4 compuertas OR independientes de 2 entradas cada una

Diagrama de conexiones

Tabla de verdad

Características generales
Encapsulado tipo PDIP

7486

El 7486 consta de 4 compuertas EX-OR independientes de 2 entradas cada una

Diagrama de conexiones

Tabla de verdad
Características generales

Encapsulado tipo PDIP

7447

El 7447 es un decodificador BCD a 7 SEGMENTOS usado principalmente en el control


de displays

Diagrama de conexiones

Diagrama interno
Tabla de verdad
Características generales

Encapsulado tipo PDIP

7474

El 7474 consta de 2 FLIP-FLOP tipo D

Diagrama de conexiones
Tabla de verdad

Características generales

Encapsulado tipo PDIP


7476

El 7476 consta de 2 FLIP-FLOP JK

Diagrama de conexiones

Tabla de verdad

Características generales
Encapsulado tipo PDIP

7483

El 7483 es un sumador completo de 4 bits con acarreo

Diagrama de conexiones

Diagrama Interno
Tabla de verdad
Características generales
Encapsulado tipo PDIP

7493

El 7493 es un contador binario de 4 bits

Diagrama de conexiones
Diagrama Interno

Tabla de verdad
Características generales

Encapsulado tipo PDIP

74151

El 74151 es un Multiplexor de 8 bits de entrada 2 de salida y 3 de selección

Diagrama de conexiones
Diagrama Interno

Tabla de verdad
Características generales

Encapsulado tipo PDIP

74155

El 74155 es un demultiplexor de 2 a 4 líneas

Diagrama de conexiones
Diagrama Interno

Tabla de verdad
Características generales
Encapsulado tipo PDIP

74157

El 74157 es un cuádruple multiplexor de 2 a una línea

Diagrama de conexiones

Diagrama Interno
Tabla de verdad

Características generales

Encapsulado tipo PDIP


74161

El 7461 es un contador sincrónico de 4 bits

Diagrama de conexiones

Diagrama Interno

Características generales
Encapsulado tipo PDIP

74194

El 74194 es un registro de 4 bits PIPO

Diagrama de conexiones

Diagrama Interno
Tabla de verdad

Características generales
Encapsulado tipo PDIP

74195

El 74195 es un registro de acceso paralelo de 4 bits

Diagrama de conexiones

Diagrama Interno
Características generales

7730
El 7730 es un displey de ánodo común
Función de Pines

Diagrama Interno

Características
El 555

Este es un circuito timer o temporizador que puede funcionar como astable o


monostable.

Diagrama de conexión

Características Eléctricas
Diagrama interno

Formula de frecuencia

Circuito para Monoestable

Circuito para astable


Precio de los integrados

Compuertas = 8 pesos
Contadores y registros = 12 pesos
displey = 9 pesos
555 = 6 pesos
Fanout
From Wikipedia, the free encyclopedia

Jump to: navigation, search

Fanout is a measure of the ability of a logic gate output, implemented electronically, to


drive a number of inputs of other logic gates of the same type. In most designs, logic
gates are connected together to form more complex circuits, and it is common for one
logic gate output to be connected to several logic gate inputs. The technology used to
implement logic gates usually allows gate inputs to be wired directly together with no
additional interfacing circuitry required.

A perfect logic gate would have infinite input impedance and zero output impedance,
allowing a gate output to drive any number of gate inputs. However, since real-world
fabrication technologies exhibit less than perfect characteristics, in reality a limit will be
reached where a gate output cannot drive any more current into subsequent gate inputs -
attempting to do so causes the voltage to fall below the level defined for the logic level
on that wire, causing errors.

The fanout is simply the number of inputs that can be connected to an output before the
current required by the inputs exceeds the current that can be delivered by the output
while still maintaining correct logic levels. The current figures may be different for the
logic zero and logic one states and in that case we must take the pair that give the lower
fanout. This can be expressed mathematically as

( is the floor function).

Going on these figures alone TTL logic gates are limited to perhaps 2 to 10, depending
on the type of gate, while CMOS gates have DC fanouts that are generally far higher
than is likely to occur in practical circuits (e.g. using NXP Semiconductor specifications
for their HEF4000 series CMOS chips at 25 °C and 15 V gives a fanout of 34
thousand).

However inputs of real gates have capacitance as well as resistance to the power supply
rails. This capacitance will slow the output transition of the previous gate and hence
increase its propagation delay. As a result, rather than a fixed fanout the designer is
faced with a trade off between fanout and propagation delay (which affects the
maximum speed of the overall system). This effect is less marked for TTL systems,
which is one reason why they maintained a speed advantage over CMOS for many
years.

Dynamic or AC fanout, not DC fanout, is therefore the primary limiting factor due to
the speed limitation. For example, suppose a microcontroller has 3 devices on its
address and data lines, and the microcontroller can drive 35 pF of bus capacitance at its
maximum clock speed. If each device has 8 pF of input capacitance, then only 11 pF of
trace capacitance is allowable. (Routing traces on printed circuit boards usually have 1-
2 pF per inch so the traces can be 5.5 inches long max.) If this trace length condition
can't be met, then the microcontroller must be run at a slower bus speed for reliable
operation. Or a buffer chip with higher current drive must be added- higher current
drive increases speed since I= C*dV/dt.

Unfortunately, due to the higher speeds of modern devices, IBIS simulation may be
required for exact determination of the dynamic fanout since dynamic fanout is not
clearly defined in most datasheets. (See the external link for more information.)
EL CIRCUITO
TEMPORIZADOR

El circuito electrónico que más se utiliza tanto en la industria como en


circuitería comercial, es el circuito temporizador o de retardo, dentro de la
categoría de temporizadores, cabe destacar el más económico y también
menos preciso consistente en una resistencia y un condensador, a partir de
aquí se puede contar con un sinfín de opciones y posibilidades. En este tutorial
se tratarán unos tipos sencillos para adquirir conocimiento de cómo conseguir
un retardo en un sistema que no requiera gran precisión y terminaremos por
analizar un temporizador de mayores prestaciones y precisión.

Cuando necesitamos un temporizador, lo primero que debemos considerar es


la necesidad de precisión en el tiempo, base muy importante para determinar
los elementos que vamos a utilizar en su concepción y diseño.

Como se ha mencionado anteriormente un temporizador básicamente consiste


en un elemento que se activa o desactiva después de un tiempo más o menos
preestablecido. De esta manera podemos determinar el parámetro relacionado
con el tiempo que ha de transcurrir para que el circuito susceptible de
temporizarse, se detenga o empiece a funcionar o simplemente cierre un
contacto o lo abra.

EL MÁS SENCILLO.
El más simple de los retardos, requiere de una resistencia de cierto valor y un
condensador de considerable capacidad.

Veamos, se necesita un retardo en una máquina cizalla de corte, la cual


conlleva cierto riesgo de accidentar al operario que la maneja.

1. Necesitamos un sistema de seguridad para que sólo cuando el


operario esté fuera de peligro, la cuchilla pueda bajar.
2. Otro sistema de seguridad, consiste en producir un retardo y al
mismo tiempo un sonido o luz intermitente de aviso.

El primer caso, se puede lograr con la combinación de unos fines de carrera y


un par de pulsadores, localizados fuera del recorrido de la cuchilla y sus
alrededores.

Para el segundo punto, podemos optar por un diodo rectificador D1, una
resistencia R1 y un condensador C1. El montaje sumamente sencillo se
muestra en la figura 1.
Fig. 1

El diodo D1 se encarga de rectificar la corriente proporcionada por un


secundario de un transformador o simplemente de la red a la que se conectará
el equipo al que se ha de controlar, para lo cual deberá observarse las
precauciones básicas y elementales a la hora de seleccionar los diferentes
elementos mencionados, respetando un margen de seguridad en la tensión a la
que se someterán en el montaje.

A continuación se intercala la resistencia R1 que será la responsable directa


del tiempo de carga del condensador, es decir, a mayor valor ohmico le
corresponde un mayor tiempo de carga del condensador.

El siguiente elemento, el condensador, debe escogerse de una considerable


capacidad cosa muy determinante, pero sin perder de vista la tensión a la que
se verá sometido, para evitar que se perfore y quede definitivamente inservible.
A la hora de elegir el condensador, es conveniente considerar su tamaño y
siempre que sea posible debería optarse por un modelo electrolítico (de ahí el
uso del diodo), como digo electrolítico debido esencialmente a la mayor
capacidad y menor tamaño, cosa que en algunos casos no es posible,
utilizando en tal caso uno de los no polarizados industriales de unos 8 a 12 µf y
por seguridad 400V, los que suelen utilizar en los motores de las lavadoras o
frigoríficos.

Bien, veamos que ocurre cuando se aplica una tensión a la figura 1 a, la


corriente al atravesar el diodo D1, se rectifica a media onda, esto la reduce
aproximadamente a la mitad, esta tensión se enfrenta al paso de la resistencia
R1, que le restringe su paso a un valor previsto por el diseñador.

A la salida de R1, la tensión se precipita para cargar el condensador C1, que es


el camino que menor resistencia le ofrece y, ese tiempo de carga, justamente
es el tiempo que se pretende controlar, ya que durante ese tiempo de carga, la
corriente no fluirá más allá del condensador. Hay que tener en cuenta que el
tiempo de carga, no representa más que dos tercios (2/3) de la capacidad total
de C, rebasada la cual, la corriente empezará a fluir hacia el siguiente elemento
conductor que encuentre, terminando así el retardo.

De lo expuesto, se puede asegurar que la corriente que atraviesa el circuito,


recorre dos caminos; uno el representado por la línea de trazos (Ic) durante los
primeros 2/3 de carga, y otro, el de la salida (Id). La salida puede conectarse a
un relé que se encargará de producir el efecto deseado conectar/desconectar,
según lo previsto. Este sistema se estuvo utilizando hasta los años 70 en cierto
control de los ferrocarriles de España, en el sistema de seguridad llamado
'hombre muerto'

Este caso digamos que es el directo, también se puede utilizar una forma más,
digamos sofisticada, a esta se conecta el relé RL, en serie con la resistencia
R1, a la cual se le calculará su valor, de manera que la corriente que la
atraviese, active el relé sólo cuando el condensador C, se haya cargado. la
tensión de trabajo del relé deberá ser la que corresponda a la tensión nominal
de alimentación del circuito, para evitar que se queme cuando se active
mediante la corriente de paso en carga.

En ambos circuitos, se percibe que el control no es tal, ya que la carga del


condensador se ve influenciada por muchos imponderables, además de poco
fiable. Se necesita un mayor control y rango de tiempos.

La solución puede estar en los transistores que permiten un mayor control de


los diferentes parámetros. Debido al control de ganancia y paso de corriente
que nos permite el transistor y mediante un montaje adecuado, podemos lograr
una mejora en los tiempos y por lo tanto más fiabilidad, al utilizar
condensadores más pequeños. Véase en la figura 2, la báscula formada por T1
y T2 a los que se ha añadido un tercer transistor para mejorar la carga del relé
a su salida. El funcionamiento de la báscula determina mediante el ajuste de
los potenciómetros P1 y P2 los tiempos de basculamiento obteniendo un mejor
control de amplitud del tiempo de retardo.

No obstante y a pesar de lograr una considerable reducción en la capacidad de


los condensadores, lo que conlleva una mayor seguridad y control, no es
bastante fiable en algunos casos y la industria necesitaba algo más compacto
que le dotara de tiempos mas largos y fiables. Esto se lograría mediante el
circuito integrado temporizador µA555.
Fig. 2

EL TEMPORIZADOR µA 555

   

Creo que es hora de que utilicemos un circuito integrado, en la industria se


viene utilizando desde los años 70, uno muy popular que además de sencillo es
muy eficaz y versátil a la hora de producir temporizaciones, estoy hablando del
socorrido µA555PC, que nos permite construir un temporizador mediante unos
pocos componentes de bajo coste. Su estabilidad con la temperatura es de
0'005 % por grado centígrado. Aquí, se describen de forma simple algunos
aspectos de este CI. En otro manual, se entrará con mayor detalle.

Veamos el esquema teórico en la figura 3 en la versión como monoestable y en la


figura 4, con el modo astable .
Fig. 3 Fig. 4

Aplicando una señal de disparo, el ciclo de temporización se inicia y una


báscula interna le inmuniza frente a futuras señales de disparo. Al aplicar una
señal de reposición (rest), el ciclo de retardo se interrumpe dándose por
finalizada la temporización. Entre sus características más importantes, hay que
destacar el amplio margen de control de tiempo desde microsegundos a horas. 

Funcionando como astable o monoestable, el ciclo de trabajo es capaz de


proporcionar 200 mA de corriente en su salida.

Funcionamiento monoestable
En el apartado anterior vimos cómo producir un retardo o temporización, la
referida figura 3 esta aquí, el esquema que se presenta es bastante sencillo y
corresponde a un montaje monoestable, el cual se caracteriza por el modo de
conexión de la patilla 2, Disparo, la cual debe permanecer en nivel alto, hasta
el momento de empezar la temporización, hemos de hacer notar que esta
patilla, debe ser repuesta a su nivel alto, antes de terminar la temporización, si
se quiere ampliar el retardo, para evitar disparos fortuitos que variarían el
tiempo previsto. 

La salida es capaz de entregar una corriente de 200 mA máximo, en caso de


necesitar mas corriente, utilizar un relé con contactos que soporten una mayor
corriente. Mientras la patilla de disparo esté a nivel alto, la salida patilla 3,
permanecerá a nivel bajo, esto debe tenerse en cuenta, para un mejor
aprovechamiento del dispositivo.

Mediante este principio de esquema, podemos trazar un temporizador que


encienda o apague una luz con un retraso de tiempo que vendrá calculado
mediante la siguiente formula: 

T = 1.1*Ra*C
Fig. 5

En la figura 5, se presenta el esquema que cumple con las exigencias


descritas, con un retraso en el enciendo o apagado, de un diodo led. El circuito
como se menciona, puede utilizarse tanto para el encendido como para el
apagado de un diodo led o una lámpara, así mismo mediante un relé, se puede
poner en marcha o parar un motor. En las figuras, se pueden cambiar el diodo
led, por un relé para dotar si es necesaria de mayor potencia a la salida.

En el caso de necesitar encender el led durante un tiempo previsto, dicho led


se conectará entre la salida, patilla 3 y la masa o negativo, permaneciendo
encendido hasta transcurrido el tiempo establecido desde el impulso de
disparo, figura 6, un pulso de puesta a cero (PAC) en el reset reiniciará el
retardo. Una posible aplicación de seguridad, emitir una señal de alarma
durante un período de tiempo desde que se da la señal corte, hasta que baja la
cuchilla de la cizalla, evitando así accidentes laborales. 

Fig. 6

En el segundo caso, o sea, necesitamos que el led, permanezca apagado


durante un tiempo desde que se aprieta un pulsador y permanezca apagado
hasta que vuelva a pulsarse. En este caso se conectará el led entre el Vcc de
la alimentación y la patilla 3 de salida, ver figura 7. Una aplicación sería que no
se abra la puerta del garaje hasta que se le de la señal y pasado ese tiempo se
cierre de nuevo hasta la siguiente señal de apertura.
Fig. 7

Estos son dos ejemplos bastante corrientes y que pueden ponerse en práctica
en cualquier momento por parte del alumno o del profesional en las labores
habituales con total seguridad. Como se verá, la resistencia Ra, es conveniente
ponerla del tipo ajustable para que sea más práctico el montaje. En la figura 8,
se muestran las señales de disparo flanco de subida, t el tiempo de retardo y
de salida del esquema monoestable.

Fig. 8

Funcionamiento astable.
En este caso es la figura 9, la que nos presenta el esquema básico de este
modo de funcionamiento. Puede ser interesante conocer su funcionamiento
como astable (también llamado redisparable ya que eso es lo que hace,
produciendo así cierta frecuencia), ya que uniendo sus terminales 2 y 6, el
circuito se auto dispara y trabaja como multivibrador.

Es de destacar que, el comportamiento de este esquema, a grandes rasgos,


genera una señal cuadrada en el tiempo, es decir, en la salida, el usuario
dispone de una señal cuadrada con un ciclo de completo que viene
determinado por la formula:

F = 1/T = 1.44 / [C*(Ra+2*Rb)]


Fig. 9

El condensador C1 se carga a través de Ra+Rb y se descarga a través de Rb.


De esta forma, dimensionando adecuadamente los valores de Ra y Rb, se
pueden modificar a voluntad el ciclo de trabajo (duración estado alto - duración
estado bajo), ver figura 9.

La señal cuadrada tendrá como valor alto = Vcc y como valor bajo = 0V
(aproximadamente). Si se desea ajustar el tiempo que está a nivel alto y bajo al
50%, se deben aplicar las fórmulas:

            Salida a nivel alto: T1 = 0.693*(Ra+Rb)*C


              Salida a nivel bajo: T2 = 0.693*Rb*C

En la figura 10, se presenta las señales del circuito astable con un ciclo del
50%. La duración del estado alto depende de Ra y Rb, mientras que la
duración del estado bajo, depende de Rb.

Fig. 10

En alguna aplicación muy concreta, puede aprovecharse esta particularidad


que ofrece el montaje astable, al producir un ciclo alto-bajo del 50%, lo que nos
permitirá (dimensionando adecuadamente los valores de las resistencias y el
condensador), disponer de un período activo seguido de otro período inactivo,
ambos lo suficientemente largos según nuestras necesidades.
Este último circuito integrado, con sus posibilidades, nos puede servir en
muchos casos, pero ya que somos perseverantes y son muchos los caso en los
que los tiempos a controlar deben ajustarse al tiempo real, debemos pensar en
un circuito con mayores garantías de lo que hemos visto hasta ahora.

Puede encontrar más información sobre el circuito 555 en el tutorial descrito en


este enlace.

Hasta aquí, hemos tratado de alguna forma los principios de los


temporizadores, desde lo más rutinario, que normalmente no utilizaremos, por
lo obvio que resulta su falta de seguridad, hasta el más popular de los circuitos
integrados, como el µA555, con sus dos vertientes de monoestable, en el caso
de necesitar disparar el retardo por cualquier medio y astable, en el caso de
necesitar un multivibrador o generador de frecuencias.

En esta parte, vamos a dar un paso más en la maraña de posibilidades que se


nos pueden presentar para trazar un temporizador o disparador con una señal,
retardo de tiempo programado.

En un principio, nos proveeremos de un circuito integrado de la familia CMOS,


utilizaremos éste, porque el margen de tensión para su alimentación y bajo consumo,
es bastante ancho con respecto al de otras familias. El circuito integrado en cuestión el
CD4093, se trata de 4 puertas NAND (NO-Y) de 2 entradas, que es muy popular y
económico, cuyas patillas y tabla de la verdad, se pueden ver en la figura 11,
obsérvese la particularidad de las puertas NAND, siempre que una entrada se
encuentre a nivel 0, la salida se encontrará a nivel 1.

Tabla de
la verdad
Fig. 11           

Bien, otra particularidad no muy conocida de las puestas lógicas es, su


capacidad de amplificación, que si bien es de baja ganancia y corriente de
salida, no impide que la podamos utilizar en modo amplificador analógico,
como vamos a hacer en este ejemplo, aunque como siempre sin entrar en
pormenores y formulas para un estudio exhaustivo ya que, no es el caso. 

Función Monoestable
Pongámonos en marcha, tomemos una de las 4 puertas disponibles en el
4011B y conectaremos la patilla 1 entrada a la patilla 14 que, es el positivo de
alimentación, la otra entrada patilla 2,  por un lado la conectaremos a la unión
de una resistencia R1 y el terminal positivo de un condensador electrolítico C1,
el polo negativo del mismo a masa o negativo de la alimentación, el otro
extremos de la R1 lo conectamos al positivo de alimentación, como se aprecia
en la figura 12.

Cuando a la entrada E, le aplicamos un impulso, en la salida, patilla 3,


podemos comprobar que tenemos un pulso de cierta duración, que viene
determinado por R1 (50k<R1<1M) y el condensador C1 (100pf<C1<1µf), véase
la figura 12.

Fig. 12

Se debe amplificar esta señal mediante un transistor, con una resistencia de


R2=10k en la base y otra en el emisor de 1k, donde se obtendrá la salida no
invertida. El motivo por el cual se debe utilizar este transistor separador, es
precisamente para evitar cargar en exceso la salida de la puerta provocando un
desequilibrio en su normal funcionamiento y sobre todo por que la corriente de
salida de estas puertas es muy baja.

Fig. 13

En cuanto a la patilla 1 de la puerta que, ahora tenemos conectada al positivo


de alimentación, si la desconectamos y la tiramos a masa temporalmente,
mediante una resistencia R3 (10k), nos sirve como control de inicio de la
temporización, véase la figura 13.

Función astable
Ahora, vamos a proceder con el conexionado de la puerta como
funcionamiento multivibrador o astable, el cual producirá una frecuencia dentro
de los márgenes de la familia CMOS, entre los 0'1 Hz. y los 20MHz. En este
caso, la disposición de la patilla 1, nos servirá como bloqueador de la
oscilación, cuando la dejemos puesta a masa por medio de R3. Cuando la
queramos habilitar, la pondremos a nivel 1 conectándola al +Vcc, lo que hará
que entre en oscilación. 
Si la habilitación y deshabilitación la producimos de forma controlada con una
frecuencia baja, se comportará como una portadora, produciendo lo que
llamamos trenes de impulsos. Véase la figura 14.

  

Fig. 14a        y         14b

Esta forma de conseguir realizar un temporizador o un oscilador controlados,


puede servirnos en multitud de casos, pero sigue siendo muy ineficiente, me
explico, no tenemos un control del tiempo real transcurrido, es muy poco fiable,
no se puede decir que sea exacto. Para lograr controlar los tiempos de retardo
con una precisión de centésimas de segundo o mejor, tenemos que servirnos
de la tecnología digital en su forma más natural, es decir mediante una señal
de reloj.

Llegados hasta aquí, debo recomendar la lectura del tutorial 'base de tiempos',
que se encuentra en el apartado de glosarios, del mismo autor.

En dicho tutorial o manual, se trata de forma simple cómo generar una señal de
reloj con alta precisión, realizada mediante un cristal de cuarzo de uso
cotidiano, así obtendrá una serie de señales patrón, de forma económica tanto
para el profesional como para el estudiante.

Siguiendo dicho estudio, podemos construir un contador, como el descrito en la


lección 6, donde se aborda la construcción de un contador con preselección, lo
que nos permite fijar una cuenta máxima con dicho preselector, pasada la cual,
el contador se pone a cero de forma automática, dando una señal de salida y
vuelve a iniciar la cuenta, si así se desea. O por el contrario, habilitando la
patilla adecuada del contador, puede contar a la baja o descontar desde una
cuenta preseleccionada, pero eso se describe como se ha dicho en la lección
6.

El circuito temporizador digital tiene que cubrir las mismas prestaciones que los
analógicos y además obtener la máxima exactitud posible, lo que le confiere
unas posibilidades adecuadas para la mayoría de los casos.

Algo más arriba, hemos tratado la forma de realizar un temporizador o un


oscilador controlados, que puede servirnos en multitud de casos, también
vimos que no es muy eficiente, por falta de un control del tiempo real
transcurrido, es por esto  muy poco fiable. Vamos a utilizar la tecnología digital
para conseguir una señal de reloj, es decir, una señal de 1herzio/segundo, para
a partir de ella lograr una temporización con la mayor fiabilidad posible.

Si ha leído el tutorial 'base de tiempos', que se encuentra en el apartado de


glosarios, puede seguir con mas facilidad lo que sigue, ya que apoyándose en
una señal de reloj, podemos construir un contador, como se describe en la
lección 6, donde se aborda la construcción de un contador con preselección, lo
que nos permite fijar una cuenta máxima con dicho preselector, pasada la cual,
el contador se pone a cero de forma automática, dando una señal de salida y
vuelve a iniciar la cuenta, si así se desea. O por el contrario, habilitando la
patilla adecuada del contador, puede contar a la baja o sea descontar desde
una cuenta preseleccionada.

Veamos como conseguir lo propuesto en el apartado anterior. En principio,


tomaremos la base del contador descrito como hemos dicho, en la lección 6 (en
el esquema de la figura 8), vemos la forma de conexión del circuito integrado
74HCTLS192 junto a tres puertas NAND de dos entradas, mediante las cuales
conseguiremos que el contador así dispuesto, avance o retroceda en su cuenta
dependiendo de la posición del conmutador C up/dw, dispuesto a tal efecto.

Dos de las tres puertas NAND, se utilizan para direccionar el modo de cuenta
arriba (avanzando) o abajo (retrocediendo), el efecto se logra con la tercera
puerta conectada como inversor, al unir sus dos entradas al contacto común
del conmutador de cuenta C up y al mismo tiempo a las entradas libres de
estas dos puertas. La salida de cada puerta NAND se conecta una a Eu y la
otra a Ed del 74HCTLS192, observar que ambas son complementarias entre si,
ya que es condición necesaria. 

La cuenta puede iniciarse en cualquier punto, incluso diferente de 0(cero), es


decir, podemos preestablecer el punto de conteo y la dirección de la cuenta
según nos convenga en cada caso, mediante los mini-dips de preselección
MD. 

Bien, ahora fijémonos en las dos salidas del 74LS192, me refiero a las Sc
(salida de acarreo) y Sb (salida de borrado), aquí en estas dos patillas, esta la
clave del temporizador. Veamos.

Estando en la función de conteo hacia arriba, cuando la cuanta llega a 9, la


salida Sc, se pone en nivel H (alto) y permanece así hasta que el contador
pasa a 0 (cero), lo que sirve para pasar una unidad de cuenta al posible
contador siguiente de las decenas. En cambio en la función de regresión o
conteo hacia a 0, la salida Sb, no se activa hasta que dicha cuenta no pasa por
0, descontando una unidad en el contador de la anterior década si es que
existe.

Para comprender mejor lo expuesto en el párrafo anterior, vamos a considerar


que tenemos un contador como el descrito con dos dígitos, lo que supone
poder contar 100 unidades, desde 00 hasta 99, además, el contador lo hemos
preseleccionado de manera que cuente desde 00 hasta 99.

Cada vez que le llega un impulso de conteo a la patilla de entrada E u, el display


nos muestra en el primer dígito que cambia de 0 a 1 en el primer paso, de 1 a 2
en el segundo y así sucesivamente, pero qué ocurre cuando llega a 9. Que
cuando rebasa dicha cuenta por llegar un nuevo impulso, el contador pasa de
nuevo a 0, lo que hace que la patilla de salida Sc, envíe a su vez un impulso de
la misma duración que el de entrada hacia el siguiente contador, propagando
de esta forma la cuenta más allá de 9, reflejándose en el segundo dígito que
hasta ahora marcaba 0 y pasa a su vez a marcar 1 (una decena).

El conjunto de los dos dígitos del display muestran sucesivamente 00, 01, 02,
03, 04, 05, 06, 07, 08, 09, 10 y así continúa mientras le lleguen impulsos de
conteo a la puerta de entrada. Qué ocurre cuando la cuenta llegue a 99,
sencillamente la salida Sc del segundo contador nos dará un nivel alto durante
el paso del impulso de 99 a 00 que es el siguiente número a mostrar,
reiniciándose la cuenta.

Bien, llegados a este punto, aprovecharemos este impulso de la salida Sc del


segundo contador, para mediante una resistencia, conectada a la base de un
transistor activar la carga que deseemos aplicar a su salida. Dado que el primer
dígito del contador también dispone de una salida Sb, esta se aplicará a través
de la resistencia adecuada a la base del transistor que activará la carga puesta
en su colector al pasar el contador de 99 a 00.

Se deduce que la carga del transistor dispuesto se activará cada 100 impulsos
de reloj o lo que es lo mismo 100 segundos, ahora bien, si queremos que las
cuentas nos salgan redondas y ya que hablamos de tiempo, sería interesante
que los pulsos a contar se consideren minutos, es necesario poner el segundo
contador en 6 mediante los preselectores y de esta forma, contará 60 segundos
cada vez que pase por 00, tanto si cuenta como si descuenta. Se dispone de
un pulsador Clear, para reponer la cuenta y digo reponer debido a que la
cuenta como se indica puede empezar desde el punto que se desee.

Es conveniente ver la siguiente figura, para aclarar las dudas.

Fig. 15

Este modo de aplicación de un contador digital para producir un temporizador,


sin duda es más complejo que cualquiera de los descritos anteriormente, no
obstante hemos de convenir en que, a la hora de utilizarlo resultará más
flexible, más fiable y exacto que cualquiera de aquellos. Esta forma, nos
permite preestablecer con total precisión, los tiempos de retardo necesarios
para cada necesidad, además de permitirnos una visión directa, mediante la
presentación gráfica con unos dígitos dispuestos a tal efecto, lo que podemos
apreciar en la siguiente figura 16, en la que se puede apreciar el transistor Tr
de salida con el relé Rc de carga y su diodo D1de seguridad, para evitar la
destrucción del transistor.
Fig. 16

Espero que haya quedado claro el tema, no obstante si el lector no entiende o


le necesita aclarar algún punto, puede ponerse en contacto con nosotros y le
atenderemos de forma personalizada. Por cierto, el relé que activará el
transistor, tan sólo se activa por un instante, es decir, durante el ancho del
impulso de conteo, esto se soluciona añadiendo un pequeño circuito (como los
descritos en anteriores lecciones), que mantenga dicho estado de activación
durante un período conveniente, según la necesidad que tengamos.
Biestable
De Wikipedia, la enciclopedia libre

Saltar a navegación, búsqueda

Un biestable, también llamado báscula (flip-flop en inglés), es un multivibrador capaz


de permanecer en un estado determinado o en el contrario durante un tiempo indefinido.
Esta característica es ampliamente utilizada en electrónica digital para memorizar
información. El paso de un estado a otro se realiza variando sus entradas. Dependiendo
del tipo de dichas entradas los biestables se dividen en:

 Asíncronos: sólo tienen entradas de control. El más empleado es el biestable RS.


 Síncronos: además de las entradas de control posee una entrada de sincronismo o
de reloj. Si las entradas de control dependen de la de sincronismo se denominan
síncronas y en caso contrario asíncronas. Por lo general, las entradas de control
asíncronas prevalecen sobre las síncronas.

La entrada de sincronismo puede ser activada por nivel (alto o bajo) o por flanco (de
subida o de bajada). Dentro de los biestables síncronos activados por nivel están los
tipos RS y D, y dentro de los activos por flancos los tipos JK, T y D.

Tabla de contenidos
[mostrar]

Biestable RS [editar]
Descripción

Cronograma del biestable RS

Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuyas entradas


principales, R y S, a las que debe el nombre, permiten al ser activadas:
 R: el borrado (reset en inglés), puesta a 0 ó nivel bajo de la salida.
 S: el grabado (set en inglés), puesta a 1 ó nivel alto de la salida.

Si no se activa ninguna de las entradas, el biestable permanece en el estado que poseía


tras la última operación de borrado o grabado. En ningún caso deberían activarse ambas
entradas a la vez, ya que esto provoca que las salidas directa (Q) y negada (Q') queden
con el mismo valor: a bajo, si la báscula está construída con puertas NO-O (NOR), o a
alto, si con puertas NO-Y (NAND). El problema de que ambas salidas queden al mismo
estado está en que al desactivar ambas entradas no se podrá determinar el estado en el
que quedaría la salida. Por eso, en las tablas de verdad, la activación de ambas entradas
se contempla como caso no deseado (N. D.).

Biestable RS asíncrono [editar]

Sólo posee las entradas R y S. Se compone internamente de dos puertas lógicas NO-Y o
NO-O, según se muestra en la siguiente figura:

Biestables RS con puertas NO-O, a), NO-Y, c), y símbolos normalizados respectivos b)
y d).

Su tabla de verdad es la siguiente (Q representa el estado actual de la salida y q el


estado anterior a la última activación):

Tabla de verdad biestable RS

R S Q (NO-O) Q' (NO-Y)

0 0 q N. D.

0 1 1 0

1 0 0 1

1 1 N. D. q

N. D.= Estado no determinado


Biestable RS síncrono [editar]

Circuito Biestable RS síncrono a) y esquema normalizado b).

Además de las entradas R y S, posee una entrada C de sincronismo cuya misión es la de


permitir o no el cambio de estado del biestable. En la siguiente figura se muestra un
ejemplo de un biestable síncrono a partir de una asíncrona, junto con su esquema
normalizado:

Su tabla de verdad es la siguiente:

Tabla de verdad biestable RS

C R S Q (NO-O)

0 X X q

1 0 0 q

1 0 1 1

1 1 0 0

1 1 1 N. D.

X=no importa

Biestable D [editar]

Símbolos normalizados: Biestables D a) activo por nivel alto y b) activo por flanco de
subida.
Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuya salida
adquiere el valor de la entrada D cuando se activa la entrada de sincronismo, C. En
función del modo de activación de dicha entrada de sincronismo, existen dos tipos de
biestables D:

 Activo por nivel (alto o bajo), también denominado registro o cerrojo (latch en
inglés).
 Activo por flanco (de subida o de bajada).

La ecuación característica del biestable D que describe su comportamiento es:

y su tabla de verdad:

D Q Qsiguiente

0 X 0

1 X 1

X=no importa

Esta báscula puede verse como una primitiva línea de retardo o una retención de orden
cero (zero order hold en inglés), ya que los datos que se introducen, se obtienen en la
salida un ciclo de reloj después. Esta característica es aprovechada para sintetizar
funciones de procesamiento digital de señales (DSP en inglés) mediante la transformada
en z.

==

Biestable T [editar]

Símbolo normalizado: Biestable T activo por flanco de subida.

Dispositivo de almacenamiento temporal de dos estados (alto y bajo). El biestable T


cambia de estado ("toggle" en inglés) cada vez que la entrada de sincronismo o de reloj
se dispara. Si la entrada T está a nivel bajo, el biestable retiene el nivel previo. Puede
obtenerse al unir las entradas de control de un biestable JK, unión que se corresponde a
la entrada T.

La ecuación característica del biestable T que describe su comportamiento es:


y la tabla de verdad:

T Q Qsiguiente

0 0 0

0 1 1

1 0 1

1 1 0

Biestable JK [editar]
Descripción

Cronograma de la báscula JK

Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuyas entradas


principales, J y K, a las que debe el nombre, permiten al ser activadas:

 J: El grabado (set en inglés), puesta a 1 ó nivel alto de la salida.


 K: El borrado (reset en inglés), puesta a 0 ó nivel bajo de la salida.

Si no se activa ninguna de las entradas, el biestable permanece en el estado que poseía


tras la última operación de borrado o grabado. A diferencia del biestable RS, en el caso
de activarse ambas entradas a la vez, la salida adquirirá el estado contrario al que tenía.

La ecuación característica del biestable JK que describe su comportamiento es:

Y su tabla de verdad es:

J K Q Qsiguiente

0 0 0 0
0 0 1 1

0 1 X 0

1 0 X 1

1 1 0 1

1 1 1 0

X=no importa

Una forma más compacta de la tabla de verdad es (Q representa el estado siguiente de la


salida en el próximo flanco de reloj y q el estado actual):

J K Q

0 0 q

0 1 0

1 0 1

1 1

El biestable se denomina así por Jack Kilby, el inventor de los circuitos integrados en
1958, por lo cual se le concedió el Premio Nobel en física de 2000.

Biestable JK activo por flanco [editar]

Símbolos normalizados: Biestables JK activo a) por flanco de subida y b) por flanco de


bajada

Junto con las entradas J y K existe una entrada C de sincronismo o de reloj cuya misión
es la de permitir el cambio de estado del biestable cuando se produce un flanco de
subida o de bajada, según sea su diseño. Su denominación en inglés es J-K Flip-Flop
Edge-Triggered. De acuerdo con la tabla de verdad, cuando las entradas J y K están a
nivel lógico 1, a cada flanco activo en la entrada de reloj, la salida del biestable cambia
de estado. A este modo de funcionamiento se le denomina modo de basculación (toggle
en inglés).
Biestable JK Maestro-Esclavo [editar]

Símbolos normalizados: Biestable JK Maestro-Esclavo a) activo por nivel alto y b)


activo por nivel bajo

Aunque aún puede encontrarse en algunos equipos, este tipo de biestable, denominado
en inglés J-K Flip-Flop Master-Slave, ha quedado obsoleto ya que ha sido reemplazado
por el tipo anterior.

Su funcionamiento es similar al JK activo por flanco: en el nivel alto (o bajo) se toman


los valores de las entradas J y K y en el flanco de bajada (o de subida) se refleja en la
salida.

Otra forma de expresar la tabla de verdad del biestable JK es mediante la denominada


tabla de excitación:

╔═══╦═══╦════╦═══╗
║ q ║ Q ║ J ║ K ║
╠═══╬═══╬════╬═══╣
║ 0 ║ 0 ║ 0 ║ X ║
║ 0 ║ 1 ║ 1 ║ X ║
║ 1 ║ 0 ║ X ║ 1 ║
║ 1 ║ 1 ║ X ║ 0 ║
╚═══╩═══╩════╩═══╝

Siendo q el estado presente y Q el estado siguiente.

Ejemplo con componentes discretos [editar]


Figura 1.- Circuito multivibrador biestable

Aunque, en general, los biestables utilizados en la práctica están implementados en


forma de circuitos integrados, en la Figura 1 se representa el esquema de un sencillo
circuito multivibrador biestable, realizado con componentes discretos, cuyo
funcionamiento es el siguiente:

Al aplicar la tensión de alimentación (Vcc), los dos transistores iniciaran la conducción,


ya que sus bases reciben un potencial positivo, TR-1 a través del divisor formado por R-
3, R-4 y R-5 y TR-2 a través del formado por R-1, R-2 y R-6, pero como los transistores
no serán exactamente idénticos, por el propio proceso de fabricación y el grado de
impurezas del material semiconductor, uno conducirá antes o más rápido que el otro.

Supongamos que es TR-1 el que conduce primero. El voltaje en su colector disminuirá,


debido a la mayor caída de tensión en R-1, por lo que la tensión aplicada a la base de
TR-2 a través del divisor formado por R-2, R-5, disminuirá haciendo que este conduzca
menos. Esta disminución de conducción de TR-2 hace que suba su tensión de colector y
por tanto la de base de TR-1, este proceso llevará finalmente al bloqueo de TR-2 (salida
Y a nivel alto).

Pero si ahora aplicamos un impulso de disparo de nivel alto por la entrada T, a través de
los condensadores C-1 y C-2 pasará a las bases de ambos transistores. En el caso de TR-
1 no tendrá más efecto que aumentar su tensión positiva, por lo que este seguirá
conduciendo. En la base de TR-2 el impulso hará que este transistor conduzca,
realizándose un proceso similar al descrito al principio, cuando el que conducía primero
era TR-1, que terminará bloqueando a este y dejando en conducción a TR-2 (salida Y a
nivel bajo).

La secuencia descrita se repetirá cada vez que se aplique un impulso en T. La salida


cambia de estado con el impulso de disparo y permanece en dicho estado hasta la
llegada del siguiente impulso, momento en que volverá a cambiar.
La caída de tensión en la resistencia común de emisores (R-7) elimina la indecisión del
circuito y aumenta la velocidad de conmutación.

Aplicación [editar]
Un biestable puede usarse para almacenar un bit. La información contenida en muchos
biestables puede representar el estado de un secuenciador, el valor de un contador, un
carácter ASCII en la memoria de un ordenador, o cualquier otra clase de información.

Un uso corriente es el diseño de máquinas de estado finitas electrónicas. Los biestables


almacenan el estado previo de la máquina que se usa para calcular el siguiente.

El biestable T es útil para contar. Una señal repetitiva en la entrada de reloj hace que el
biestable cambie de estado por cada transición alto-bajo si su entrada T está a nivel 1.
La salida de un biestable puede conectarse a la entrada de reloj de la siguiente y así
sucesivamente. La salida final del conjunto considerado como una cadena de salidas de
todos los biestables es el conteo en código binario del número de ciclos en la primera
entrada de reloj hasta un máximo de 2n-1, donde n es el número de biestables usados.

Uno de los problemas con esta configuración de contador (ripple counter en inglés) es
que la salida es momentáneamente inválida mientras los cambios se propagan por la
cadena justo después de un flanco de reloj. Hay dos soluciones a este problema. La
primera es muestrear la salida sólo cuando se sabe que esta es válida. La segunda, más
compleja y ampliamente usada, es utilizar un tipo diferente de contador síncrono, que
tiene una lógica más compleja para asegurar que todas las salidas cambian en el mismo
momento predeterminado, aunque el precio a pagar es la reducción de la frecuencia
máxima a la que puede funcionar.

Una cadena de biestables T como la descrita anteriormente también sirve para la


división de la frecuencia de entrada entre 2n, donde n es el número de biestables entre la
entrada y la última salida.

Secuenciación y metaestabilidad [editar]


Los biestables síncronos son propensos a sufrir un problema denominado
metaestabilidad, que ocurre cuando una entrada de datos o de control está cambiando en
el momento en el que llega un flanco de reloj. El resultado es que la salida puede
comportarse de forma imprevista, tardando muchas veces más de lo normal en
estabilizarse al estado correcto, o incluso podría oscilar repetidas veces hasta terminar
en su estado estable. En un ordenador esto puede suponer la corrupción de datos o
causar un fallo de programa.

En muchos casos, la metaestabilidad en los biestables se puede evitar asegurándose de


que los datos y las entradas de control se mantienen constantes durante un periodo de
tiempo especificado antes y después del flanco de reloj, denominados setup time (tsu) y
hold time (th) respectivamente. Esos tiempos están establecidos en la hoja de datos del
dispositivo en cuestión, y son típicamente entre unos pocos nanosegundos y unos pocos
cientos de nanosegundos para dispositivos modernos.
Desafortunadamente, no siempre es posible cumplir estos requisitos, porque los
biestables pueden estar conectados a entradas en tiempo real que son asíncronas, y
pueden cambiar en cualquier momento fuera del control del diseñador. En este caso, lo
único que puede hacerse es reducir la probabilidad de error a un determinado nivel,
dependiendo de la fiabilidad que se desee del circuito. Una técnica para reducir la
incidencia es conectar dos o más biestables en cadena, de forma que la salida de una se
conecta a la entrada de la siguiente, y con todos los dispositivos compartiendo la misma
señal de reloj. De esta forma la probabilidad de un suceso metaestable puede reducirse
considerablemente, pero nunca podrá eliminarse por completo.

Existen biestables robustos frente a la metaestabilidad, que funcionan reduciendo los


tiempos de setup y hold en todo lo posible, pero incluso estos no pueden eliminar por
completo el problema. Esto es debido a que la metaestabilidad es mucho más que un
problema de diseño. Cuando el flanco de reloj y la entrada de datos están
suficientemente juntos, el biestable tiene que elegir el evento que ocurrió antes. Y por
más rápido que se haga el dispositivo, siempre existe la posibilidad de que sucedan lo
suficientemente juntos como para que que no se pueda detectar cual es el que ocurrió
primero. Así pues, es lógicamente imposible el construir un biestable a prueba de
metaestabilidad.

Otro parámetro temporal importante de un biestable es el retardo reloj-a-salida (clock-


to-output tCO) o retardo de propagación (propagation delay tP), que es el tiempo que el
biestable tarda en cambiar su salida tras un flanco de reloj. El tiempo para una transición
alto-a-bajo (tPHL) es a veces diferente del de las transiciones de bajo-a-alto (tPLH).

Cuando se conectan biestables en cadena, es importante asegurar que el tCO de el


primero es mayor que el hold time (tH) del siguiente, ya que en caso contrario, el
segundo biestable no recibirá los datos de forma fiable. La relación entre tCO y tH está
garantizada normalmente si ambos biestables son del mismo tipo.

También podría gustarte