You are on page 1of 66

ELECTRONICA DIGITAL

CARTILLA

INTRODUCCION

La electrónica digital es hoy en día una de las tecnologías mas avanzadas dentro
de la electrónica como tal, hoy en día el mundo analógico que nos rodea ha sido
transformado por el hombre para su observación, transformación y dominio en
simples valores discretos que permiten hacer una traducción idéntica de este
mundo analógico en el que vivimos. Hoy todas las tecnologías están dando un
vuelco total a la electrónica digital en todos los campos del desarrollo humano,
tales como las comunicaciones, la medicina, la industria, la astronomía, la
aviación, etc. Podemos decir que prácticamente todos los ambientes en los que se
desenvuelve el ser humano esta formando parte la electrónica digital. De ahí la
trascendental importancia de conocer sus principios, dispositivos, herramientas y
tecnologías, bienvenidos.

MODULO 1
CONCEPTOS INTRODUCTORIOS

REPRESENTACION ANALOGICA
En la representación analógica, una cantidad se representa con un voltaje,
corriente o movimiento de un indicador o medidor que es proporciona la valor de
esa cantidad. Un ejemplo de ello es el velocímetro de un automóvil, en el cual la
deflexión de la aguja es proporcional a la velocidad a la que se desplaza el auto.

REPRESENTACION DIGITAL
En la representación digital las cantidades no se representan por valores
proporcionales, sino por símbolos denominados dígitos. Un ejemplo,
consideremos un reloj (o cronometro) digital, el cual da la hora del día en forma de
dígitos decimales que representan horas o minutos ( y algunas veces segundos).
En otras palabras, esta representación digital de la hora del día varia en etapas
discretas, comparada con la representación analógica de la hora que da un reloj
de pulso, donde la lectura del cuadrante varia de modo continuo.
La diferencia principal entre las cantidades analógicas y las digitales se pueden
enunciar en forma simple de la manera siguiente:

Analógico = continuo.
Digital = discreto (paso a paso)

VENTAJAS DE LAS TECNICAS DIGITALES


Un número cada vez mayor de aplicaciones en electrónica, así como en muchas
otras tecnologías, emplea técnicas digitales para realizar operaciones que alguna
vez fueron hechas por medio de métodos analógicos. Las principales razones del
cambio hacia la técnica digital son:

1. Los sistemas digitales generalmente son mas fáciles de diseñar. Esto se


debe a que los circuitos empleados son circuitos de conmutación, donde no
son importantes los valores exactos de corriente y voltaje, sino únicamente
el rango en que éstos se encuentran (alto o bajo).
2. Mayor exactitud y precisión. Los sistemas digitales pueden manejar el
número de dígitos de precisión que usted necesite, simplemente añadiendo
mayor numero de circuitos de conmutación.
3. Facilidad para almacenamiento de información.
4. Programación de la operación. Es bastante sencillo diseñar sistemas
digitales cuya operación está controlada por medio de un grupo de
instrucciones archivadas denominada programa.
5. Se puede fabricar mas circuiteria digital sobre pastillas de circuito integrado.
INTRODUCCIÓN A LOS SISTEMAS DIGITALES

La palabra digital tiene origen latino: digitus = dedos (contar con los dedos)

En la técnica digital solamente existen dos posibles valores de la señal:

Valor lógico Símbolo Realización

Si / "1" 1 Hay corriente


Nivel de tensión alta (High)

No / "0" 0 No hay corriente


Nivel de tensión baja (Low)
Características
Técnica digital Técnica Analógica
- Sólo tensión "High" y "Low" son posibles - Cualquier valor de tensión es
- Gran escala de integración posible
- Alta seguridad - Problemas de ajuste y distorsión
- Ausencia de interferencias - Influencia de señales por
interferencia

VOLTAJES DIGITALES

En los Circuitos Análogos se trabaja con señales de voltaje o corriente que varían
en el tiempo tomando cualquier valor intermedio desde un minino hasta un
máximo.

En los Circuitos Digitales los voltajes tienen solo dos valores Alto (H) y Bajo (L), en
realidad son dos franjas de valores de voltaje que dependen de los elementos
usados en el circuito, se producen cambios de una franja a la otra, llamados
flancos, se producen en tiempos muy cortos que se pueden considerar en principio
intervalos de tiempo cero.
En una señal digital tenemos entonces cuatro elementos principales: nivel alto,
nivel bajo, flanco positivo o de subida y flanco negativo o de bajada.

En principio el éxito de estos circuitos se debe a que variaciones que pueden


llegar a ser hasta de unidades de voltio no generan error mientras permanezcan
dentro de la franja asignada para cada nivel, existen diversas combinaciones de
elementos de circuitos (tecnologías o familias) que producen el mismo resultado
con ventajes y desventajas relativas.

CLASIFICACIÓN DE CIRCUITOS DIGITALES

FAMILIAS O TECNOLOGÍAS

Una familia o tecnología de circuitos digitales corresponde al conjunto de circuitos


integrados están construidos con determinado tipo de elementos electrónicos, las
principales familias y subfamilias con algunas de sus características se presentan
en la siguiente tabla.

VOLTAJE DE NIVEL FAN


SIGLA FAMILIA O SUBFAMILIA NIVEL ALTO REF.
FUENTE BAJO OUT
TTL Lógica de transistor transistor 5 VDC 2.5v a 5.5v 0.0v a 0.8v 10 74XX
74LSXX
40XX
CMOS MOSFET complementario 50
45XX
ECL Lógica de emisor acoplado 5 VDC 0a1v 1.3 a 5.0 v 8
DTL Lógica de diodo transistor
HTL Lógica de alto umbral
I2L Lógica de inyección de corriente

Fan out se refiere a la cantidad máxima de compuertas de la misma familia que se


pueden conectar como carga a la salida de una compuerta sin que se afecte su
función.
XX se refiere a un número que identifica cada referencia de integrado particular.

ESCALA DE INTEGRACION

Es una clasificación por el número de transistores que han sido fabricados dentro
de un circuito integrado. Las clases son:

NOMBRE SIGNIFICADO NÚMERO DE TRANSISTORES


SSI Pequeña escala de integración Menos de 50
MSI Media escala de integración 50 a 500
LSI Grande escala de integración 500 a 50000
VLSI Muy grande escala de integración 50000 a 500000
ULSI Ultra alta escala de integración Más de 500000

Número de funciones por


Nivel de integración Ejemplos de aplicaciones
Chip
1965: SSI (Small Scale Circuitos básicos. Compuertas
> 100
Integration) AND, OR, NAND, NOT, etc.
1968: MSI (Medium Scale de 100 a 1000 Registros, contadores
Integration)
1972: LSI (Large Scale
de 1000 a 10000 Microprocesadores, memorias
Integration)
1976: VLSI: (Very Large Scale
de 10000 a 100000 Microprocesadores completos
Integration)
Microprocesadores múltiples,
1980 VVLSI (Very Very Large
> 100000 incluyendo memoria, puertos de
Scale Integration)
entrada y salida

La tecnología digital se puede manifestar en los siguientes campos

- Mecánico
- Electromecánico
- Neumático
- Hidráulico
- Electrónico

Los circuitos digitales representan el "hardware" de las computadoras, pero las


funciones lógicas también son posibles de realizar por la programación de las
computadoras mediante el "Software"

QUÉ ES UN CIRCUITO LÓGICO?

Un circuito lógico es aquel que maneja la información en forma de "1" y "0", dos
niveles de voltaje fijos. "1" nivel alto y "0" nivel bajo.

Estos circuitos están compuestos por elementos digitales como las compuertas:
AND (Y), OR (O), NOT (NO)

y combinaciones poco o muy complejas de estos. Estas combinaciones dan lugar


a otros tipos de elementos digitales como los compuertas, entre otros

- nand (No Y)
- nor (No O)
- or exclusiva (O exclusiva)
- multiplexores o multiplexadores
- de multiplexores o demultiplexadores
- decodificadores
- codificadores
- memorias
- flip-flops
- microprocesadores
- microcontroladores
- etc.

La electrónica moderna usa electrónica digital para realizar muchas funciones.


Aunque los circuitos electrónicos pueden resultar muy complejos, en realidad se
construyen de un número muy grande de circuitos muy simples.

En un circuito digital se transmite información binaria (ceros y unos) entre estos


circuitos y se consigue un circuito complejo con la combinación de bloques de
circuitos simples.

La información binaria se representa en la forma de "0" y "1", un interruptor


"abierto" o "cerrado", "On" y "Off", "falso" o "verdadero", en donde "0" representa
falso y "1" verdadero.

SISTEMAS NUMERICOS

Los modernos equipos de cómputo actuales no utilizan el sistema decimal para


representar valores numéricos, en su lugar se hace uso del sistema binario,
también llamado complemento de dos. Es importante entender cómo representan
las computadoras los valores numéricos, en éste capítulo analizaremos varios
conceptos importantes incluyendo los sistemas binario y hexadecimal, la
organización binaria de datos (bits, nibbles, bytes, palabras y palabras dobles),
sistemas numéricos con signo y sin signo, operaciones aritméticas, lógicas, de
cambio (shift) y rotación en valores binarios, campos de bits, empaquetado de
datos y el juego de caracteres ASCII.

El sistema numérico decimal

Hemos utilizado el sistema decimal (de base 10) por tanto tiempo que
prácticamente lo tomamos como algo natural. Cuando vemos un número, por
ejemplo el 123, no pensamos en el valor en sí, en lugar de ésto hacemos una
representación mental de cuántos elementos representa éste valor. En realidad, el
número 123 representa:

1*102 + 2*101 + 3*100

ó lo que es lo mismo:

100 + 20 + 3

Cada dígito a la izquierda del punto decimal representa un valor entre cero y
nueve veces una potencia incrementada de diez. Los dígitos a la derecha del
punto decimal por su parte representan un valor entre cero y nueve veces una
potencia decrementada de diez. Por ejemplo, el número 123.456 representa:

1*102 + 2*101 + 3*100 + 4*10-1 + 5*10-2 + 6*10-3

El sistema numérico binario

Los sistemas de cómputo modernos trabajan utilizando la lógica binaria. Las


computadoras representan valores utilizando dos niveles de voltaje (generalmente
0V. y 5V.), con éstos niveles podemos representar exáctamente dos valores
diferentes, por conveniencia utilizamos los valores cero y uno. Éstos dos valores
por coincidencia corresponden a los dígitos utilizados por el sistema binario.
El sistema binario trabaja de forma similar al sistema decimal con dos diferencias,
en el sistema binario sólo está permitido el uso de los dígitos 0 y 1 (en lugar de
0~9) y en el sistema binario se utilizan potencias de 2 en lugar de potencias de 10.
De aquí tenemos que es muy fácil convertir un número binario a decimal, por cada
"1" en la cadena binaria, sume 2n donde "n" es la posición del dígito binario a partir
del punto decimal contando a partir de cero. Por ejemplo, el valor binario
110010102 representa:

1*27 + 1*26 + 0*25 + 0*24 + 1*23 + 0*22 + 1*21 + 0*20


=128 + 64 + 8 + 2 =20210

Para convertir un número decimal en binario es un poco más difícil. Se requiere


encontrar aquellas potencias de 2 las cuales, sumadas, producen el resultado
decimal, una forma conveniente es trabajar en "reversa" por ejemplo, para
convertir el número 1359 a binario:

• 210=1024, 211=2048. Por tanto la mayor potencia de 2 menor que 1359 es


210. Restamos 1024 a 1359 y empezamos nuestro número binario poniendo
un "1" a la izquierda. El resultado decimal es 1359-1024=335. El resultado
binario hasta este punto es: 1.
• La siguiente potencia de 2 en orden descendente es 29=512 lo que es
mayor que el resultado de la resta del punto anterior, por lo tanto
agregamos un 0 a nuestra cadena binaria, ahora es: 10. El resultado
decimal es aún 335.
• La siguiente potencia es 28=256 por lo que lo restamos a 335 y agregamos
1 a la cadena binaria: 101. El resultado decimal es: 79.
• 27=128, esto es mayor que 79. Agregamos un 0 a la cadena binaria: 1010
en tanto que el valor decimal es: 79.
• Restamos 26=64 a 79. La cadena binaria es ahora: 10101. El resultado
decimal indica: 15.
• 15 es menor que 25=32, por tanto, Binario=101010, el valor decimal sigue
siendo: 15.
• 15 es menor que 24=16, de aquí, Binario=1010100, el valor decimal
continúa en: 15.
• 23=8 es menor que 15, así que agregamos un 1 a la cadena binaria:
10101001, en tanto que el nuevo valor decimal es: 7.
• 22 es menor que 7. Binario es ahora: 101010011, el resultado decimal ahora
vale: 3.
• 21 es menor que 3. Binario=1010100111, el nuevo valor decimal es: 1.
• Finalmente el resultado decimal es 1 lo que es igual a 20 por lo que
agregamos un 1 a la cadena binaria. Nuestro resultado indica que el
equivalente binario del número decimal 1359 es: 10101001111

Formatos binarios

En un sentido estricto, cada número binario contiene una cantidad infinita de


dígitos, también llamados bits que es una abreviatura de binary digits, por ejemplo,
podemos representar el número siete de las siguientes formas:

• 111
• 00000111
• 000000000000111

Por conveniencia ignoraremos cualquier cantidad de ceros a la izquierda, sin


embargo, como las instrucciones compatibles con los procesadores Intel 80x86
trabajan con grupos de ocho bits a veces es más fácil extender la cantidad de
ceros a la izquierda en un múltiplo de cuatro ú ocho bits, por ejemplo, el número
siete podemos representarlo así: 01112 ó 000001112. También es conveniente
separar en grupos de cuatro dígitos los número binarios grandes, por ejemplo, el
valor binario 1010111110110010 puede ser escrito así 1010 1111 1011 0010.
Además, en una cadena binaria asignaremos al dígito de la extrema derecha
como el bit de posición cero y cada bit subsecuente se le asignará el siguiente
número sucesivo, de ésta manera un valor binario de ocho bits utiliza los bits cero
al siete:
X7 X6 X5 X4 X3 X2 X1 X0
Al bit cero se le conoce como el bit de bajo orden en tanto que al bit de la extrema
izquierda diferente de cero se le llama bit de alto orden.

Organización de datos

En términos matemáticos un valor puede tomar un número arbitrario de bits, pero


las computadoras por el contrario, generalmente trabajan con un número
específico de bits, desde bits sencillos pasando por grupos de cuatro bits
(llamados nibbles), grupos de ocho bits (bytes), grupos de 16 bits (words, ó
palabras) y aún más. Como veremos mas adelante, existe una buena razón para
utilizar éste orden.

Bits

La más pequeña cantidad de información en una computadora binaria es el bit,


éste solamente es capaz de representar dos valores diferentes, sin embargo ésto
no significa que exista una cantidad muy reducida de elementos representables
por un bit, todo lo contrario, la cantidad de elementos que se pueden representar
con un sólo bit es infinito, considere ésto, podemos representar por ejemplo, cero
ó uno, verdadero ó falso, encendido ó apagado, masculino ó femenino. Más aún,
no estamos limitados a representar elementos antagónicos, un bit sencillo puede
representar cualesquiera dos valores, por ejemplo, blanco ó 432, perro ó caliente.
Y para ir aún más lejos, dos bits adyacentes pueden representar cosas
completamente independientes entre sí, lo que se debe tener en cuenta es que un
bit sencillo sólo puede representar dos cosas a la vez. Esta característica otorga a
las computadoras binarias un campo infinito de aplicaciones.
Nibbles

Un nibble es una colección de cuatro bits, esto no representaría una estructura


interesante si no fuera por dos razones: El Código Binario Decimal (BCD por sus
siglas en inglés) y los números hexadecimales. Se requieren cuatro bits para
representar un sólo dígito BCD ó hexadecimal. Con un nibble se pueden
representar 16 valores diferentes, en el caso de los números hexadecimales,
cuyos valores 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, y F son representados con
cuatro bits. El BCD utiliza diez dígitos diferentes (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) e
igualmente se requiere de cuatro bits. De hecho se puede representar 16
elementos diferentes con un sólo nibble pero los dígitos hexadecimales y BCD son
los principales representados por un nibble.

Bytes

Todavía se puede decir que el byte es la estructura de datos más importante


utilizada por los procesadores 80x86. Un byte está compuesto de ocho bits y es el
elemento de dato más pequeño direccionable por un procesador 80x86, ésto
significa que la cantidad de datos más pequeña a la que se puede tener acceso en
un programa es un valor de ocho bits. Los bits en un byte se enumeran del cero al
siete de izquierda a derecha, el bit 0 es el bit de bajo orden ó el bit menos
significativo mientras que el bit 7 es el bit de alto orden ó el bit más significativo.
Nos referimos al resto de los bits por su número. Observe que un byte está
compuesto de dos nibbles.
Como un byte contiene ocho bits, es posible representar 28, ó 256 valores
diferentes. Generalmente utilizamos un byte para representar valores numéricos
en el rango de 0 ~ 255, números con signo en el rango de -128 ~ +127, códigos de
carácter ASCII y otros tipos de datos especiales que no requieran valores
diferentes mayores que 256.
Words (palabras)

Una palabra (word) es un grupo de 16 bits enumerados de cero hasta quince, y al


igual que el byte, el bit 0 es el bit de bajo orden en tanto que el número quince es
el bit de alto orden. Una palabra contiene dos bytes, el de bajo orden que está
compuesto por los bits 0 al 7, y el de alto orden en los bits 8 al 15. Naturalmente,
una palabra puede descomponerse en cuatro nibbles. Con 16 bits es posible
representar 216 (65,536) valores diferentes, éstos podrían ser el rengo
comprendido entre 0 y 65,535, ó como suele ser el caso, de -32,768 hasta
+32,767. También puede ser cualquier tipo de datos no superior a 65,536 valores
diferentes.

El sistema numérico hexadecimal

Un gran problema con el sistema binario es la verbosidad. Para representar el


valor 20210 se requieren ocho dígitos binarios, la versión decimal sólo requiere de
tres dígitos y por lo tanto los números se representan en forma mucho más
compacta con respecto al sistema numérico binario. Desafortunadamente las
computadoras trabajan en sistema binario y aunque es posible hacer la conversión
entre decimal y binario, ya vimos que no es precisamente una tarea cómoda. El
sistema de numeración hexadecimal, o sea de base 16, resuelve éste problema
(es común abreviar hexadecimal como hex aunque hex significa base seis y no
base dieciséis). El sistema hexadecimal es compacto y nos proporciona un
mecanismo sencillo de conversión hacia el formato binario, debido a ésto, la
mayoría del equipo de cómputo actual utiliza el sistema numérico hexadecimal.
Como la base del sistema hexadecimal es 16, cada dígito a la izquierda del punto
hexadecimal representa tantas veces un valor sucesivo potencia de 16, por
ejemplo, el número 123416 es igual a:

1*163 + 2*162 + 3*161 + 4*160


lo que dá como resultado:

4096 + 512 + 48 + 4 = 466010

Cada dígito hexadecimal puede representar uno de dieciséis valores entre 0 y


1510. Como sólo tenemos diez dígitos decimales, necesitamos "inventar" seis
dígitos adicionales para representar los valores entre 1010 y 1510. En lugar de crear
nuevos símbolos para éstos dígitos, utilizamos las letras A a la F. La conversión
entre hexadecimal y binario es sencilla, considere la siguiente tabla:

Binario Hexadecimal
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

Ésta tabla contiene toda la información necesaria para convertir de binario a


hexadecimal y viceversa. Para convertir un número hexadecimal en binario,
simplemente sustituya los correspondientes cuatro bits para cada dígito
hexadecimal, por ejemplo, para convertir 0ABCDh en un valor binario:

0 A B C D (Hexadecimal)
0000 1010 1011 1100 1101 (Binario)
Por comodidad, todos los valores numéricos los empezaremos con un dígito
decimal; los valores hexadecimales terminan con la letra h y los valores binarios
terminan con la letra b. La conversión de formato binario a hexadecimal es casi
igual de fácil, en primer lugar necesitamos asegurar que la cantidad de dígitos en
el valor binario es múltiple de 4, en caso contrario agregaremos ceros a la
izquierda del valor, por ejemplo el número binario 1011001010, la primera etapa es
agregarle dos ceros a la izquierda para que contenga doce ceros: 001011001010.
La siguiente etapa es separar el valor binario en grupos de cuatro bits, así: 0010
1100 1010. Finalmente buscamos en la tabla de arriba los correspondientes
valores hexadecimales dando como resultado, 2CA, y siguiendo la convención
establecida: 02CAh.

Operaciones aritméticas y lógicas

Existen varias operaciones aritméticas que se pueden ejecutar en números


binarios y hexadecimales, por ejemplo, podemos sumar, restar, multiplicar, dividir y
otras operaciones aritméticas más, aunque es aconsejable que Usted sepa
ejecutar éstas operaciones a mano, es más recomendable que haga uso de una
calculadora apropiada, básicamente para evitar errores ya que nuestro
pensamiento está condicionado por años al sistema numérico de base 10. Por otra
parte, al intentar ejecutar una operación aritmética en formato binario es fácil caer
en errores debido a la verbosidad mencionada, en éste caso es recomendable que
primero haga la conversión a formato hexadecimal, ejecute las operaciones
necesarias y finalmente vuelva a convertir el resultado a formato binario.

Operaciones lógicas en bits

Existen cuatro operaciones principales que Usted puede ejecutar en números


binarios y hexadecimales: AND, OR, XOR (OR exclusivo), y NOT. Al contrario de
las operaciones aritméticas, no se requiere calculadora para ejecutar éstas
operaciones, por lo general es más fácil y rápido ejecutarlas a mano que
valiéndose de una calculadora. La operación lógica AND es como sigue:

0 and 0 = 0
0 and 1 = 0
1 and 0 = 0
1 and 1 = 1

Las operaciones lógicas se pueden representar con una tabla llamada tabla de
verdad, es parecida a las tablas aritméticas que sirven para sumar ó multiplicar, la
columna de la izquierda y el renglón superior representan los valores de entrada
de la operación especificada, el valor encontrado en la intersección de la columna
y el renglón para un particular par de valores de entrada es el resultado de
adicionar (ANDing) ambos valores. En palabras comunes, la operación AND se
describe así, "si el primer valor y (and) el segundo valor son 1, el resultado es 1,
caso contrario el resultado es 0".

AND 0 1
0 0 0
1 0 1

Un hecho importante acerca de la operación lógica AND es que se puede utilizar


para forzar un resultado a cero, si uno de los operandos es cero, el resultado es
siempre cero independientemente del otro operando, esto se puede verificar en la
tabla de verdad de arriba en donde tanto el renglón como la columna que
contienen ceros el resultado es cero, por el contrario, si uno de los operandos
contiene 1, el resultado es exactamente el valor del otro operando. Ésta
característica de la operación lógica AND es muy importante, particularmente con
cadenas de bits en donde deseamos forzar algún bit individual de la cadena a
cero.

El operador lógico OR se define así:

0 OR 0 = 0
0 OR 1 = 1
1 OR 0 = 1
1 OR 1 = 1

La tabla de verdad tiene la siguiente forma:

OR 0 1
0 0 1
1 1 1

En palabras decimos: si el primero de los operandos ó (OR) el segundo de los


operandos (ó ambos) es 1, el resultado es 1, de lo contrario el resultado es 0. A
ésta operación lógica también se le conoce como OR inclusivo. Si uno de los
operandos es uno, el resultado es siempre uno independientemente del valor del
segundo operando, si uno de los operandos es cero, el resultado es siempre el
valor del segundo operando. Esto es importante como veremos más adelante.

La operación lógica XOR (OR exclusivo) se define así:

0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0

La tabla de verdad es la siguiente:


XOR 0 1
0 0 1
1 1 0

Si el primer operando ó el segundo operando pero no ambos, es uno, el resultado


es uno, de lo contrario el resultado es cero. Si uno de los operandos en la
operación lógica OR exclusivo es uno, el resultado es siempre el inverso del otro
operando. Ésta característica le permite invertir bits selectivamente en una cadena
de bits.

El operador lógico NOT acepta solamente un operando y está definido como:

NOT 0 = 1
NOT 1 = 0

La tabla de verdad es la siguiente:

NOT 0 1
1 0

Operaciones lógicas en números binarios y cadenas de bits

Como dijimos en la sección previa, las funciones lógicas trabajan sólo con
operandos de un solo bit, como las computadoras utilizan grupos de ocho,
dieciséis ó treinta y dos bits, necesitamos extender la definición de éstas funciones
para trabajar con más de dos bits. Las funciones lógicas en los procesadores
80x86 operan en una base de bit por bit (en inglés es bitwise). Dados dos valores
en determinada posición, las funciones producen el resultado de la respectiva
posición, por ejemplo, para calcular la operación lógica AND en los siguientes dos
números de ocho bits se debe ejecutar la operación lógica AND en cada columna,
independientemente de las demás:

1011 0101
1110 1110
---------------
1010 0100

Ésta forma de ejecutar bit por bit (bitwise) puede fácilmente ser aplicada a otras
operaciones lógicas. Como hemos definido las operaciones lógicas en términos de
valores binarios encontrará que es mucho más fácil de ésta manera que utilizando
otras bases, por tanto es recomendable hacer la conversión a formato binario.

Números con signo y sin signo

Hasta éste momento, hemos tratado a los números binarios como valores sin
signo, el número binario .00000 representa al cero, ...00001 representa al uno,
...00010 representa al dos, y así seguido, pero ¿Qué hay con los números
negativos? En ésta sección discutiremos cómo representar números negativos
utilizando el sistema de numeración binario.
Para representar números con signo utilizando el sistema de numeración binario
tenemos que colocar una restricción a nuestros números, éstos deben tener un
número finito y fijo de bits. En lo que concierne a los procesadores 80x86 ésta
restricción no es muy importante, después de todo, los 80x86 sólo pueden
direccionar un número finito de bits. Para nuestros propósitos limitaremos el
número de bits a ocho, 16, 32 ú otro número pequeño de bits.
Con un número fijo de bits sólo podemos representar un cierto número de objetos,
por ejemplo, con ocho bits sólo podemos representar 256 objetos diferentes. Los
valores negativos son objetos por su propio derecho al igual que los números
positivos, por tanto necesitamos utilizar algunos de los 256 valores diferentes para
representar a los números negativos, en otras palabras, utilizaremos algunos de
los números positivos para representar números negativos, y aún más,
asignaremos la mitad de las posibles combinaciones para los números negativos y
la otra mitad para los números positivos. Así podemos representar los valores
negativos que van del -128...-1 y los valores positivos del 0...127 con un solo byte
de ocho bits. Con una palabra de 16 bits podemos representar valores en el rango
de -32,768 hasta +32,767. Con una palabra doble de 32 bits se pueden
representar valores que van de -2,147,483,648 hasta +2,147,483,647. En general,
con n bits podemos representar los valores con signo en el rango comprendido
entre -2n-1 hasta 2n-1-1.
Bien, ¿Cómo podemos representar valores negativos? Existen muchas formas
pero los procesadores 80x86 utilizan la notación de complemento de dos, en éste
sistema, el bit de alto orden de un número es el bit de signo. Si el bit de alto orden
es cero el número es positivo, si el bit de alto orden es uno, el número es negativo.
En el caso de un número positivo, éste es almacenado como un valor binario
estándar, pero si el número es negativo éste es almacenado en la forma de
complemento de dos, para ésto se utiliza el siguiente algoritmo:

1. Se invierten todos los bits en el número, es decir, se aplica la función lógica


NOT.
2. Se agrega uno al resultado invertido.

Por ejemplo, para calcular el equivalente en ocho bits de -5:

0000 0101 cinco (en binario)


1111 1010 Se invierten todos los bits.
1111 1011 Se suma uno para obtener el resultado.

Si tomamos el valor de menos cinco y le ejecutamos la operación de complemento


de dos obtenemos el valor original, como es de esperarse:
1111 1011 complemento de dos para -5.
0000 0100 se invierten todos los bits.
0000 0101 se suma uno para obtener el resultado (+5).

El código ASCII

El juego de caracteres ASCII (excluyendo los caracteres extendidos definidos por


IBM) está dividido en cuatro grupos de 32 caracteres. Los primeros 32 caracteres,
del código ASCII 0 hasta el ASCII 1Fh16 (3110) forman un juego especial de
caracteres no imprimibles llamados caracteres de control ya que ejecutan varias
operaciones de despliegue/impresión en lugar de mostrar símbolos, ejemplo de
éstos son el retorno de carro que posiciona el llamado cursor al lado izquierdo de
la actual línea de caracteres, avance de línea que mueve hacia abajo el llamado
cursor una línea en el dispositivo de salida. Desafortunadamente, los diferentes
caracteres de control ejecutan diferentes operaciones dependiendo del dispositivo
de salida ya que existe poca estandarización al respecto.

El segundo grupo de caracteres comprende varios símbolos de puntuación,


caracteres especiales y dígitos numéricos, los caracteres mas notables de éste
grupo son el carácter de espacio (código ASCII 20h) y los dígitos numéricos
(códigos ASCII 30h al 39h). Observe que los dígitos numéricos difieren de sus
respectivos valores sólo en el nibble de alto orden, restando 30h de un código
numérico ASCII dado se obtiene el equivalente numérico.

El tercer grupo de caracteres ASCII está reservado a las letras mayúsculas. Los
códigos ASCII para los caracteres "A" a la "Z" están en el rango comprendido
entre 41h y 5Ah (65 al 90 decimal). Como éstos caracteres están definidos de
acuerdo al alfabeto utilizado en el idioma inglés solo hay 26 diferentes caracteres
alfabéticos utilizando los seis códigos restantes para varios símbolos especiales.
El cuarto y último grupo de caracteres ASCII está reservado a las letras
minúsculas, cinco símbolos especiales adicionales y otro caracter de control
(borrar). Los caracteres ASCII para las letras minúsculas utilizan los códigos 61h al
7Ah. Si Usted convierte a binario los códigos correspondientes a las letras
mayúsculas y minúsculas observará que los símbolos para las mayúsculas difieren
de sus respectivas minúsculas en una posición de bit. Las letras mayúsculas
siempre contienen un cero en la posición cinco en tanto que las letras minúsculas
contienen un uno en la misma posición, es posible utilizar éste hecho para
convertir de mayúsculas a minúsculas y viceversa.

De acuerdo con lo ya expuesto podemos afirmar que los bits de posición seis y
cinco determinan qué caracteres ASCII estamos utilizando de acuerdo a la
siguiente tabla:

Bit 6 Bit 5 Grupo


0 0 Caracteres de control
0 1 Dígitos y puntuación
1 0 Letras mayúsculas y caracteres especiales
1 1 Letras minúsculas y caracteres especiales

En el código estándar ASCII el bit de posición siete siempre es cero, esto significa
que el juego de caracteres ASCII consume la mitad de la capacidad de
representación de un byte. IBM utiliza los restantes 128 códigos de carácter para
representar diferentes símbolos especiales incluyendo caracteres internacionales
(con respecto a EEUU) como letras acentuadas, símbolos matemáticos y
caracteres para dibujar líneas. Observe que éstos caracteres adicionales no están
estandarizados como una extensión del código ASCII, sin embargo la firma IBM
tiene suficiente peso de tal manera que prácticamente todas las computadoras
personales basadas en procesadores 80x86 soportan el juego de caracteres
extendidos IBM/ASCII. Esto también es válido para las impresoras.

COMPUERTAS LOGICAS
La compuerta AND o compuerta Y
Es una de las compuertas mas simples dentro de la Electrónica Digital. Su
representación es la que se muestra en las figuras. Como se puede ver tiene dos
entradas A y B, aunque puede tener muchas más (A,B,C, etc.) y sólo tiene una
salida X.

compuerta AND de 2 entradas compuerta AND de 3


entradas

La compuerta AND de 2 entradas tiene la siguiente tabla de verdad

A B X
0 0 0
0 1 0
1 0 0
1 1 1

Se puede ver claramente que la salida X solamente es "1" (1 lógico, nivel alto)
cuando tanto la entrada A como la entrada B están en "1".En otras palabras "La
salida X es igual a 1 cuando la entrada A y la entrada B son 1

Esta situación se representa en el álgebra booleana como:


X=A*B o X = AB.

Una compuerta AND de 3 entradas se puede implementar con interruptores de la


siguiente manera:
A B C Lámpara
A A A Apagada
A A C Apagada
A C A Apagada
A C C Apagada
C A A Apagada
C A C Apagada
C C A Apagada
C C C Encendida

A = Abierto C = Cerrado

Una compuerta AND puede tener muchas entradas. Una AND de múltiples
entradas puede ser creada conectando compuertas simples en serie. Si si se
necesita una AND de 3 entradas y no hay disponible, es fácil crearla con dos
compuertas AND en serie o cascada como se muestra en la siguiente figura:

Tabla de verdad
A B C X
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1

La compuerta NAND o No Y
Una compuerta NAND (NO Y) se puede implementar con la concatenación de una
compuerta AND con una compuerta NOT, como se muestra en la siguiente figura.

Símbolo de compuerta NAND Equivalente con compuertas AND y NOT

Al igual que en el caso de la compuerta AND, ésta se puede encontrar en


versiones de 2, 3 o más entradas.

La tabla de verdad de este tipo de compuerta es la siguiente:

A B X
0 0 1
0 1 1
1 0 1
1 1 0

Tabla de verdad de una compuerta NAND de 2 entradas

A B C X
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0

Tabla de verdad de una compuerta NAND de 3 entradas


Como se puede ver la salida X sólo será "0" cuando todas las entradas sean "1".

Compuerta NOT creada con una compuerta NAND

Tabla de verdad
I X
0 0
1 1

La compuerta OR o compuerta O

Es una de las compuertas mas simples dentro de la Electrónica Digital.. Su


representación y tabla de verdad se muestran a continuación:

Tabla de verdad

A B X
0 0 0
0 1 1
1 0 1
1 1 1

Y se representa con la siguiente función booleana: X = A + B o X=B+A


Esta misma compuerta se puede implementar con interruptores como se muestra
en la siguiente figura, en donde se puede ver que: cerrando el interruptor A "O" el
interruptor B se encenderá la luz

"1" = cerrado , "0" = abierto, "1" = luz encendida

En las siguientes figuras se muestran la representación de la compuerta "OR" de


tres entradas con su tabla de verdad y la implementación con interruptores

Representación de una compuerta OR de 3 entradas con su tabla de verdad.

Compuerta "OR" de 3 entradas implementada con interruptores

Se puede ver claramente que la luz se encenderá cuando cualquiera: A o B o C


este cerrada
La compuerta NOT o compuerta No o compuerta Inversora

Dentro de la electrónica digital, no se podrían lograr muchas cosas si no existiera


la compuerta NOT (compuerta NO), también llamada compuerta inversora, que al
igual que las compuertas AND y OR tiene una importancia fundamental.

La compuerta NOT se representa con el siguiente símbolo, y su tabla de verdad


es:

La salida de una compuerta "NOT" tiene el valor inverso al de su entrada. En el


caso del gráfico anterior la salida X = A. Esto significa que si a la entrada tenemos
un "1" lógico, a la salida hará un "0" lógico y si a la entrada tenemos un "0" a la
salida habrá un "1"

Nota: El apóstrofe en la siguiente expresión significa "negado": X = A’ y es igual


a X=A

La compuertas NOT se pueden conectar en cascada, logrando después de dos


compuertas, la entrada original. Ver la siguiente fig.

Compuerta OR-EX o XOR

Es OR EXclusiva en este caso con dos entradas (puede tener mas, claro...!) y lo
que hará con ellas será una suma lógica entre a por b invertida y a invertida por
b.
*Al ser O Exclusiva su salida será 1 si una y sólo una de sus entradas es 1*
Compuerta NOR-EX

Es simplemente la inversión de la compuerta OR-EX, los resultados se pueden


apreciar en la tabla de verdad, que bien podrías compararla con la anterior y notar
la diferencia, el símbolo que la representa lo tienes en el siguiente gráfico.

Buffer's

Ya la estaba dejando de lado..., no se si viene bien incluirla aquí pero de todos


modos es bueno que la conozcas, en realidad no realiza ninguna operación lógica,
su finalidad es amplificar un poco la señal (o refrescarla si se puede decir). Como
puedes ver en el siguiente gráfico la señal de salida es la misma que de entrada.

Hasta aquí de teoría, nos interesa más saber como se hacen evidente estos
estados en la práctica, y en qué circuitos integrados se las puede encontrar y más
adelante veremos unas cuantas leyes que se pueden aplicar a estas compuertas
para obtener los resultados que deseas...
Leyes de De Morgan

Se trata simplemente de una combinación de compuertas de tal modo de


encontrar una equivalencia entre ellas, esto viene a consecuencia de que en
algunos casos no dispones del integrado que necesitas pero si de otros que
podrían producir los mismos resultados que estas buscando.

Para interpretar mejor lo que viene, considera a las señales de entrada como
variables y al resultado como una función entre ellas. El símbolo de negación
(operador NOT) lo representaré por "~", por ejemplo: a . ~ b significa a AND
NOTb.

1º Ley:

El producto lógico negado de varias variables lógicas es igual a la suma lógica de


cada una de dichas variables negadas. Si tomamos un ejemplo para 3 variables
tendríamos..

~ (a.b.c) = ~a + ~b + ~c

El primer miembro de esta ecuación equivale a una compuerta NAND de 3


entradas, representada en el siguiente gráfico y con su respectiva tabla de verdad.

El segundo miembro de la ecuación se lo puede obtener de dos formas...


Fíjate que la tabla de verdad es la misma, ya que los resultados obtenidos son
iguales. Acabamos de verificar la primera ley.

2º Ley:

La suma lógica negada de varias variables lógicas es igual al producto de cada


una de dichas variables negadas...

~ (a + b + c) = ~a . ~b . ~c

El primer miembro de esta ecuación equivale a una compuerta NOR de 3 entradas


y la representamos con su tabla de verdad...

El segundo miembro de la ecuación se lo puede obtener de diferentes forma, aquí


cité solo dos...
Nuevamente... Observa que la tabla de verdad es la misma que para el primer
miembro en el gráfico anterior. Acabamos así de verificar la segunda ley de De
Morgan.

Para concluir... Con estas dos leyes puedes llegar a una gran variedad de
conclusiones, por ejemplo...
Para obtener una compuerta AND puedes utilizar una compuerta NOR con sus
entradas negadas, o sea... a . b = ~( ~a + ~b)

Para obtener una compuerta OR puedes utilizar una compuerta NAND con sus
entradas negadas, es decir...

a + b =~( ~a . ~b)

Para obtener una compuerta NAND utiliza una compuerta OR con sus dos
entradas negadas, como indica la primera ley de De Morgan...

~ (a.b) = ~a + ~b
Para obtener una compuerta NOR utiliza una compuerta AND con sus entradas
negadas, ...eso dice la 2º ley de De Morgan, asi que... habrá que obedecer...

~(a + b) = ~a . ~b

La compuerta OR-EX tiene la particularidad de entregar un nivel alto cuando una


y sólo una de sus entradas se encuentra en nivel alto. Si bien su función se puede
representar como sigue...

s = a . ~b + ~a . b

te puedes dar cuenta que esta ecuación te indica las compuertas a utilizar, y
terminarás en esto...

Para obtener una compuerta NOR-EX agregas una compuerta NOT a la salida
de la compuerta OR-EX vista anteriormente y ya la tendrás. Recuerda que su
función es...

s = ~(a . ~b + ~a . b)

Para obtener Inversores (NOT) puedes hacer uso de compuertas NOR o


compuertas NAND, simplemente uniendo sus entradas.
MODULO 3

PRACTICAS

PRÁCTICA NO.1

INVERSOR LÓGICO SIMPLE


OBJETIVOS DE LA PRACTICA.- Familiarizarse con el conexionado,
funcionamiento y comprobación de los estados lógicos de un C.I. compuesto por 6
inversores que realizan la función lógica No.

MATERIALES NECESARIOS.- C.I. 7404, diodos Leds (señalizadores de estado


lógico), alimentación de 5 Vcc, interruptor (opcional).

DIAGRAMA DEL CONEXIONADO C.I.


14 13 12 11 10 9

7404

Alimentación
1; + 5 V
8; Tierra

1 DEL MONTAJE
ESQUEMA 2 3 4 5 6

S T
A

Salida

Nota: Las patillas 14: Vcc (5VDC) y 7: GND


DESARROLLO DE LA PRACTICA.

1. Rellenar Representar los diagramas de tiempo que se obtienen como


respuesta al estado del Pulsador A de entrada al inversor.
2. Si la patilla 1 del 7404 queda al aire (sin conexión), indicar cuál será el nivel
lógico de la patilla 2. Razone su respuesta y comprobarla.
3. Si la patilla 2 del 7404 tiene un nivel lógico cero, indicar las tensiones
existentes en las patillas a y 14 del mismo.
Comprobar el correcto funcionamiento de otro cualquiera de los 6 inversores
existentes en el 7404.

PRACTICA No.2
CUADRUPLE INVERSIÓN LOGICA
OBJETIVOS DE LA PRACTICA.- Análisis experimental del comportamiento de los
inversores en serie.

DESARROLLO DE LA PRACTICA
1. Si la patilla del circuito integrado se cortocircuita a tierra, indicar el nivel lógico
de la patilla 10 de salida del montaje de la figura anterior. (arriba).
2. ¿Se nota a simple vista, algún retardo en la propagación del estado lógico a lo
largo de los inversores en serie?.
Indicar el tiempo de retardo en un circuito integrado TTL estándar.
3. Rellenar el diagrama de tiempos correspondiente al pulsador A, mostrado en la
siguiente figura:

S T U V
W

1 2 3 4 5 6 7
Salida
4 / 6 del 7404
Pulsado
A(pulsador) Sin pulsar

1 (tensión c.c.)---------------------------------------------------------------------------------------

T ( indicador ) ----------------------------------------------------------------------------------------

4 ( tensión c.c. ) --------------------------------------------------------------------------------------

W ( indicador ) ---------------------------------------------------------------------------------------
PRACTICA No. 3
LA PUERTA LOGICA AND (Y).
OBJETIVOS DE LA PRACTICA.- Familiarizarse con el comportamiento y las
características de las puertas AND integradas.
DIAGRAMA DE CONEXIONADO DEL CIRCUITO INTEGRADO:

14 13 12 11 10 9 8

Alimentación
7408 14; + 5 V
7; Tierra

1 2 3 4 5 6 7
Esquema del montaje.-
S
T
A

1
3
Entradas
2 Salida
B

1 / 4 del 7408

1. Alimentación de un integrado por 7 ( - ) y el pin 14 ( + ).

2. Cuando el interruptor está abierto, se toma el 1 lógico.

3. Cuando el interruptor esta cerrado, se tiene el 0 lógico.

4. Se saca la tabla de verdad.

PRACTICA No. 4

COMBINACION DE PUERTAS LOGICAS AND:


OBJETIVO DE LA PRACTICA.- Analizar, experimentalmente, el comportamiento
de un conjunto de puertas AND interconectadas y averiguar la ecuación lógica a la
que responde.
ESQUEMA DEL MONTAJE.-
S T U
A 1
3 10
B 2 8 12
9 11
13

C 4
6
D 5
7408
DESARROLLO DE LA PRACTICA:
1. Obtener la ecuación lógica a la que el esquema de la figura anterior responde.
2. Si el interruptor C se avería e introduce siempre a un nivel lógico bajo, indicar
en que ocasiones se enciende el led señalizador U.
3. Completar el diagrama de los tiempos de las siguientes figuras.

PRACTICA No. 5

LA PUERTA NAND:
OBJETIVO DE LA PRACTICA.- Comprobar, en la realidad, el comportamiento de
una puerta NAND integrada.
DIAGRAMA DE CONEXIONADO DEL CIRCUITO INTEGRADO
El presente gráfico se encuentra en la página siguiente:

14 13 12 11 10 9 8

Alimentación
7400 14; + 5 V
7; Tierra

1 2 3 4 5 6 7

ESQUEMA DE MONTAJE.

S
A 4
6
5
DESARROLLO B DE LA PRACTICA:
1. Rellenar la tabla de verdad de la siguiente figura, comprobando el resultado en
la práctica.

A B S
0 0 1
0 1
1 0
1 1
2. Indicar el estado de S si las patas 4 y 5 quedan al aire. Deducir la respuesta.
3. Con una puerta NOR y los inversores que se deseen, dibujar el diagrama
lógico al que esquema de la figura superior perteneciente al esquema de
montaje responde.
4. Si se cortocircuitan entre sí las patillas 4 y 5 del circuito integrado 7400, ¿Cuál
será el estado de lógico de S?

PRACTICA No. 6

COMBINACION DE PUERTAS:
OBJETIVO DE LA PRACTICA.- Interconectar diferentes puertas y analizar su
funcionamiento.
ESQUEMA DE MONTAJE.-

DESARROLLO DE LA PRACTICA.-
1. Obtener la formula lógica simplificada a la que el esquema o la figura anterior
responde.
2. En que casos S y T poseen el mismo estado lógico.
3. Completar el diagrama de tiempos de la siguiente figura, al mismo tiempo que
se va implementando en la práctica.
A

B
C
D
S
T

Osciladores, Multivibradores o Circuitos Astables

Existen tres circuitos clasificados según la forma en que retienen o memorizan el


estado que adoptan sus salidas, estos son...

• Circuitos Biestables o Flip-Flop (FF): Son aquellos que cambian de


estado cada vez que reciben una señal de entrada (ya sea nivel bajo o
alto), es decir retienen el dato de salida aunque desaparezca el de entrada.
Conclusión: Poseen dos estados estables

• Circuitos Monoestables: Estos circuitos cambian de estado sólo si se


mantiene la señal de entrada (nivel alto o bajo), si ésta se quita, la salida
regresa a su estado anterior.
Conclusión: Poseen un sólo estado estable y otro metaestables

• Circuitos Astables o Aestables: Son circuitos gobernados por una red de


tiempo R-C (Resistencia-Capacitor) y un circuito de realimentación, a
diferencia de los anteriores se puede decir que no poseen un estado
estable sino dos metaestables

Oscilador Simétrico con compuertas NOT

Fue el primero que se me ocurrió y utiliza dos inversores o compuertas NOT.


Descripción:

Suponte que en determinado momento la salida del inversor B está a nivel "1",
entonces su entrada esta a "0", y la entrada del inversor "A" a nivel "1". En esas
condiciones C se carga a través de R, y los inversores permanecen en ese estado.

Cuando el capacitor alcanza su carga máxima, se produce la conmutación del


inversor "A".

Su entrada pasa a "0", su salida a "1" y la salida del inversor "B" a "0", se invierte
la polaridad del capacitor y este se descarga, mientras tanto los inversores
permanecen sin cambio, una vez descargado, la entrada del inversor "A" pasa
nuevamente a "1", y comienza un nuevo ciclo.

Este oscilador es simétrico ya que el tiempo que dura el nivel alto es igual al que
permanece en nivel bajo, este tiempo esta dado por T = 2,5 R C

T expresado en segundos
R en Ohms
C en Faradios.

Oscilador Simétrico con compuertas NAND

Oscilador Simétrico con compuertas NOR


Como veras, todo se basa en el primero que vimos, y hay más combinaciones
todavía..., por ejemplo...

Disparadores Schmitt Trigger

Algo que no vimos hasta ahora son las compuertas SCHMITT TRIGGER o
disparadores de Schmitt, son iguales a las compuertas vistas hasta ahora pero
tienen la ventaja de tener umbrales de conmutación muy definidos llamados VT+ y
VT-, esto hace que puedan reconocer señales que en las compuertas lógicas
comunes serían una indeterminación de su estado y llevarlas a estados lógicos
definidos, mucho mas definidos que las compuertas comunes que tienen un solo
umbral de conmutación.
Suponte la salida a nivel lógico 1, C comienza a cargarse a través de R, a medida
que la tensión crece en la entrada de la compuerta esta alcanza el nivel VT+ y
produce la conmutación de la compuerta llevando la salida a nivel 0 y el capacitor
comienza su descarga.

Cuando el potencial a la entrada de la compuerta disminuye por debajo del umbral


de VT-, se produce nuevamente la conmutación pasando la salida a nivel 1, y se
reinicia el ciclo.

No sólo existen inversores Schmitt Trigger, sino también compuertas AND, OR,
NOR, etc, y ya sabes como utilizarlas

Oscilador a Cristal

Se trata de un oscilador implementado con dos inversores y un Cristal de cuarzo,


el trimer de 40pf se incluye para un ajuste fino de la frecuencia de oscilación,
mientras el circuito oscilante en si funciona con un solo inversor, se incluye otro
para actuar como etapa separadora.

Osciladores Controlados

Se trata simplemente de controlar el momento en que estos deben oscilar.


Veamos..., tenemos dos opciones, que sean controlados por un nivel alto o por un
nivel bajo.
Si tienes en cuenta que los osciladores vistos hasta el momento solo pueden
oscilar cambiando el estado de sus entradas en forma alternada, lo que haremos
será forzar ese estado a un estado permanente, como dije anteriormente ya sea a
1 o 0.

Vamos al primer ejemplo; lo haremos utilizando un diodo en la entrada del primer


inversor, así...

Creo que está claro, si el terminal de control está a nivel 0 el circuito oscilará, si
está a nivel 1 dejará de hacerlo.

Si lo quieres hacer con compuertas NAND, es igual que el anterior, solo que esta
vez un "1" en la entrada de Control habilita al oscilador y un "0" lo inhabilita.

Modulación por ancho de pulso

Nuevamente aquí, a ver si le damos una solución al problema planteado


anteriormente, o sea, tratar de que los pulsos de salida no sean simétricos, por
ejemplo que el nivel alto en la salida dure más que el nivel bajo, o quizás al revés,
bueno veamos el primero.

Bien, de entrada ya sabemos que es un circuito estable, solo que esta vez el
capacitor se descarga más rápidamente utilizando el diodo como puente y
evitando así pasar por R1

El efecto obtenido es que T1 es de mayor duración que T2. Puedes ajustar T1 si


reemplazas R1 por un potenciómetro. Los periodos de tiempo para T1 y T2 están
dados en la grafica...

Un detalle más... Si inviertes la polaridad del diodo obtendrás la situación inversa,


es decir T2 > T1.

Modulación por ancho de pulso Conmutado

Nada raro... Los mismos circuitos vistos anteriormente pero adaptados para esta
tarea. Aquí la cantidad de pulsos de salida depende de la duración del pulso de
entrada. Ni para que probar, ya los conocemos y sabemos como funcionan
verdad...?
Aquel Terminal que usábamos antes como Terminal de control, ahora está como
entrada de señal, y la salida del circuito entregará una cierta cantidad de pulsos
mientras dure el pulso de entrada. Si observas la forma de onda en la entrada y la
comparas con la salida te darás cuenta de su funcionamiento.

Demodulación de señales

Todo lo opuesto al anterior, es decir tomamos una señal modulada y la


demodulamos :o))

Esta vez el tren de pulsos ingresa por el Inversor a, en el primer pulso positivo, la
salida de a se pone a 0 y se carga el capacitor C a través del diodo D. Cuando la
entrada de a se invierte el diodo queda bloqueado y C se descarga a través de R.
Ahora bien, durante toda la transmisión de pulsos la salida de b permanece a nivel
1 ya que el tiempo de descarga del capacitor es mucho mayor que el tiempo de
duración de cada pulso que ingresa por la entrada del inversor a

Doblador de frecuencia

Otra aplicación que se pueden dar a las compuertas lógicas es duplicar la


frecuencia de una señal, como en este circuito.
Observa la forma de onda obtenidas en los puntos marcados.

Analicemos su funcionamiento; El flanco de descenso de la señal de entrada es


diferenciada por R1 y C1, y es aplicada a la entrada "a" de la compuerta NAND,
esto produce un pulso a la salida de esta compuerta según su tabla de verdad
"basta que una de las entradas este a nivel lógico bajo para que la salida vaya a
nivel lógico alto"

El flanco de subida del pulso de entrada, luego de ser invertido, es diferenciado y


aplicado a la entrada "b" de la compuerta NAND, de modo que para un tren de
pulsos de entrada de frecuencia f, hay un tren de pulsos de salida de frecuencia
2f.

MODULO 4

CIRCUITOS MAS USADOS

Unidad Aritmética y Lógica (ALU)

Una unidad aritmética lógica puede realizar un conjunto de operaciones


aritméticas básicas y un conjunto de operaciones lógicas, a través de líneas de
selección. En inglés ALU significa Arithmetic Logic Unit (Unidad Aritmética Lógica).
La figura 3.12.1. muestra el diagrama de bloques de una ALU.
Figura 1.12.1. Diagrama de bloques de una ALU

Las cuatro entradas de A se combinan con las de B generando una operación de


salida de cuatro bits en F. La entrada de selección de modo S2 distingue entre las
operaciones aritméticas y lógicas. Las entradas de selección S0 y S1 determinan la
operación aritmética o lógica. Con las entradas S0 y S1 se pueden elegir cuatro
operaciones aritméticas (con S2 en un estado) y cuatro lógicas (con S2 en otro
estado). Los acarreos de entrada y salida tienen sentido únicamente en las
operaciones aritméticas. El diseño de una ALU implica el diseño de la sección
aritmética, la sección lógica y la modificación de la sección aritmética para realizar
las operaciones aritméticas y lógicas.

Sección Lógica

Los datos de entrada en una operación lógica son manipulados en forma separada
y los bits son tratados como variables binarias. En la tabla 1.12.1. se listan cuatro
operaciones lógicas OR, OR - Exclusiva, AND y NOT. En el circuito, las dos líneas
de selección (S1, S0) permiten seleccionar una de las compuertas de entrada,
correspondientes a la función Fi .
S1 S0 Salida Función Fi
0 0 F=Ai+Bi OR
0 1 F=Ai Bi XOR
1 0 F=Ai·Bi AND
1 1 F=A'i NOT

Tabla 1.12.1. Tabla de Función Lógica.

El circuito lógico de la figura 1.12.2 es una etapa de un circuito lógico de n bits.

Figura 1.12.2. Diagrama lógico de un circuito lógico de una ALU

Sección Aritmética

El componente básico de la sección aritmética es un sumador en paralelo. Las


operaciones aritméticas configuradas en el circuito aritmético se presentan en la
tabla 1.12.2. En una ALU, la suma aritmética se puede implementar con un
número binario en A, otro número en la entrada B y el acarreo de entrada Cin en un
valor lógico 0. El resto de las funciones se enuncian en la columna descripción.

Selección de Función Salida N Función Descripción


S1 S0 Cin N F
0 0 0 0 A Transferir A
0 0 1 0 A+1 Incrementar A
0 1 0 B A+B Suma ó agregar B a A
0 1 1 B A+B+1 Suma con accarreo ó agregar B a A más 1
1 0 0 B’ A+B’ Agregar el complemento de 1 de B a A
1 0 1 B’ A+B’+1 Agregar el complemento de 2 de B a A
1 1 0 Todos unos A-1 Decrementar A
1 1 1 Todos unos A Trasferir A

Tabla 1.12.2. Tabla de la Función F en un Circuito Aritmético

La implementación de las funciones anteriores por medio de un circuito lógico


sencillo se describe a continuación. El circuito se diseña bajo el precepto de
intervenir cada entrada Bi para obtener las siguientes funciones:

S1 S0 Ni
0 0 0
0 1 Bi
1 0 Bi '
1 1 1

Tabla 1.12.3. Tabla del circuito para la entrada Bi

La figura 1.12.3. muestra el circuito.

Comparadores

Los circuitos comparadores son sistemas combinacionales que comparan la


magnitud de dos números binarios de n bits e indican cuál de ellos es mayor,
menor o sí existe igualdad entre ellos. Existen varias configuraciones de circuitos
de un nivel sencillo a uno más complejo para determinar relaciones de magnitud.

Comparador de Magnitudes de un Bit

La comparación de dos bits se puede realizar por medio de una compuerta OR


exclusiva o una NOR exclusiva. La salida del circuito es 1 si sus dos bits de
entrada son diferentes y 0 si son iguales. La figura 3.8.1. muestra el circuito
comparador de dos bits.

Figura 1.8.1. Comparador de magnitudes de un bit

Comparador de Magnitudes de Dos Bits


Los números A y B de dos bits en orden significativo ascendente a descendente
se ordenan de la siguiente forma:

A = A1·A0

B = B1·B0

En un comparador de dos bits se utilizan dos compuertas OR – Exclusiva. El


comparador se muestra en la figura 3.8.2. Los bits más significativos se comparan
en la compuerta 1 y los dos menos significativos en la compuerta 2. En el caso de
números iguales, los bits también son iguales, teniendo como salida en cada XOR
el valor 0. Cada XOR se invierte y la salida de la compuerta AND tendrá un 1. En
números diferentes, los bits serán diferentes y la salida de cada XOR será 1.

Figura 1.8.2. Comparador de magnitudes de dos bits.

Comparador de magnitudes de cuatro bits

En el diagrama 3.8.3. se muestra un comparador de magnitud de cuatro bits. Las


entradas son A y B y las salidas son las tres variables binarias A>B, A=B y A<B.
Escribiendo los coeficientes de los números A y B en orden significativo de
ascendente a descendente:

A = A3·A2·A1·A0 = Ai+3·Ai+2·Ai+1·Ai

B = B3·B2·B1·B0 = Bi+3·Bi+2·Bi+1·Bi
Figura 1.8.3. Comparador de magnitudes de cuatro bits.

Salida A=B

Los dos números son iguales si todos los números del mismo peso son iguales, es
decir A3=B3, A2=B2, A1=B1 y A0=B0.

La igualdad de los números Ai y Bi se determina comparando los coeficientes


según el valor 0 ó 1 para los dos bits. En la comparación se emplea la variable yi.
Esta variable binaria es igual a 1 si los números de entrada A y B son iguales, de
lo contrario será igual a 0. Por consiguiente, la comparación de dos bits en la
posición i de un número, está dada por:

yi (Ai=Bi) = Ai·Bi + Ai’·Bi’ = (Ai Bi)'

Por ejemplo, sí A3 = 1 y B3= 1; y3 será igual a y3 = A3·B3 + A’3·B’3 = 1·1 + 1·1 = 1


pero sí A3 = 1 y B3= 0 ; y3 = A3·B3 + A’3·B’3 = 1·0 + 0·1 = 0. La comparación se
realiza para el resto de los coeficientes Ai y Bi. El número A será igual a B sí se
cumple la condición yi=1 para todos los coeficientes, es decir una operación AND:

(A=B) = y3·y2·y1·y0

La variable binaria A=B es igual a 1 solamente si todos los pares de dígitos de los
números son iguales.
Salidas A>B y A<B

La comparación en este caso se comienza desde el bit más significativo. Los


dígitos se comparan uno a uno y si estos son iguales se prueba con el siguiente
par de bits menos significativos. La comparación continua hasta que se encuentra
un par de dígitos desiguales. En la posición donde se encuentre un uno en A y un
0 en B se puede afirmar que A>B. Por el contrario, sí A es igual a 0 y B igual a 1
entonces A<B. La función correspondiente a cada salida es:

(A>B) = A3·B3’ + y3·A2·B2’ + y3·y2·A1·B1’ + y3·y2·y1·A0·B0’

(A<B) = A3’·B3 + y3·A2’·B2 + y3·y2·A1’·B1 + y3·y2·y1·A0’·B0

Ejemplo

Comparar los números binarios A = A3·A2·A1·A0 = 1001 y B = B3·B2·B1·B0 = 1011.

El valor de las variables yi:

y3(A3=B3) = (1)·(1) + (0)·(0) = 1 ; y2 (A2=B2) = (0)·(0) + (1)·(1) = 1 ; y1(A1=B1) = (0)·(1)


+ (1)·(0) = 0 ; y0(A0=B0) = (1)·(1) + (1)·(0) = 1.

Las ecuaciones son:

(A>B) = (1)·(0) + (1)·(0)·(1) + (1)·(1)·(0)·(0) + (1)·(1)·(0)·(1)·(0) = 0.

(A<B) = (0)·(1)+ (1)·(1)·(0) + (1)·(1)·(1)·(1) + (1)·(1)·(0)·(0)·(1) = 1.

El diagrama del comparador de cuatro bits se muestra en la figura 3.8.4.


Figura 1.8.4. Comparador de magnitudes de cuatro

Decodificadores BCD a 7 segmentos

El decodificador de BCD a siete segmentos es un circuito combinacional que


permite un código BCD en sus entradas y en sus salidas activa un display de 7
segmentos para indicar un dígito decimal.

El display de siete segmentos

El display está formado por un conjunto de 7 leds conectados en un punto común


en su salida. Cuando la salida es común en los ánodos, el display es llamado de
ánodo común y por el contrario, sí la salida es común en los cátodos, llamamos al
display de cátodo común. En la figura 3.1.1.,se muestran ambos tipos de
dispositivos. En el display de cátodo común, una señal alta encenderá el
segmento excitado por la señal. La alimentación de cierta combinación de leds,
dará una imagen visual de un dígito de 0 a 9.
Figura 1.3.1. Display de ánodo común y cátodo común

Decodificador de BCD a Siete Segmentos

El decodificador requiere de una entrada en código decimal binario BCD y siete


salidas conectadas a cada segmento del display. La figura 3.3.2. representa en un
diagrama de bloques el decodificador de BCD a 7 segmentos con un display de
cátodo común.

Figura 1.3.2. Diagrama de bloques de un decodificador BCD a siete segmentos

Suponiendo que el visualizador es un display de cátodo común, se obtiene una


tabla cuyas entradas en código BCD corresponden a A, B, C y D y unas salidas
correspondientes a los leds que se encenderían en cada caso para indicar el dígito
decimal. La tabla 3.3.1. muestra el caso de ejemplo.

Entradas Salidas
Valor decimal
A B C D a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 1 1 0 1
3 0 0 1 1 1 1 1 1 0 0 1
4 0 1 0 0 0 1 1 0 0 1 1
5 0 1 0 1 1 0 1 1 0 1 1
6 0 1 1 0 1 0 1 1 1 1 1
7 0 1 1 1 1 1 1 0 0 0 0
8 1 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 1 1 1 0 0 1 1
10 1 0 1 0 X X X X X X X
... .. .. .. .. X X X X X X X
15 1 1 1 1 X X X X X X X

Tabla 1.3.1. Tabla de verdad del decodificador BCD a siete segmentos.

CIRCUITOS MULTIPLEXORES

Circuitos que envían por un solo canal de salida alguna de las informaciones
presentes en varias líneas de entrada.

Los multiplexores son circuitos realmente importantes en el diseño de sistemas


que requieran un cierto tráfico y comunicación entre distintos componentes y se
necesite controlar en todo momento que componente es quien envía los datos.
En realidad se puede asimilar a un selector: por medio de unas entradas de
control se selecciona la entrada que se desee reflejada en la salida.

Un ejemplo se puede apreciar la constitución de un MUX (nombre por el que


también se los conoce) de 4 entradas de datos, 2 entradas de control y 1 salida.
Se encuentran todo tipo de modelos en el mercado con todo tipo de anchos de
entradas (por ejemplo MUXs de 2 entradas de buses de 8 bits y 1 salida de 8 bits,
con lo que se estaría conmutando entre 2 buses de 2 dispositivos de 8 bits).
Además de lo anterior, suele ser un hábito que exista también una entrada de
Enable (habilitación general de integrado).

Un multiplexor es un circuito combinacional que selecciona una de n líneas de


entrada y transmite su información binaria a la salida. La selección de la entrada
es controlada por un conjunto de líneas de selección. La relación de líneas de
entrada y líneas de selección está dada por la expresión 2n, donde n corresponde
al número de líneas de selección y 2n al número de líneas de entrada.

Multiplexor de 2 entradas

El multiplexor se caracteriza por tener dos líneas de entrada, una línea de


selección y una de salida.

En el multiplexor, las entradas son I0 e I1 y la selección viene dada por el valor de


la entrada S. El valor de la salida Y depende de los valores lógicos ingresados en
los cuadros de texto para las variables I0, I1 y S. Por ejemplo, sí I0=0, I1=1 y S=0,
entonces Y=I0=0.

S Y
0 I0
1 I1

. Tabla de verdad de un multiplexor de dos entradas

El circuito lógico se muestra en la figura


Multiplexor 2 a 1

Multiplexor de 4 entradas

El multiplexor de 4 entradas es un multiplexor de 4 líneas a 1. La figura muestra el


diagrama de bloques del multiplexor. Las entradas son I0, I1, I2 e I3 y la selección
viene dada por las entradas S0 y S1. El valor de la salida Y depende de los valores
lógicos presentes en las entradas de datos y la selección.

Multiplexor 4 a 1

La tabla de verdad se muestra en la tabla . Por ejemplo, sí I0=1, I1=1, I2=0, I3=1 y
S1=1, S0=0 entonces Y=I2=0.

Entrada de Selección de datos Entrada Seleccionada


S1 S0 Y
0 0 I0
0 1 I1
1 0 I2
1 1 I3

Tabla de verdad de un multiplexor de cuatro entradas.

El problema consiste en definir un conjunto de expresiones para construir el


circuito lógico. La ecuación en cada fila, se obtiene a partir del dato de entrada y la
entrada de selección de datos:

La salida es Y= I0, sí S1=0 y S0=0. Entonces Y = I0·S1’·S0’.

La salida es Y= I1, sí S1=0 y S0=1. Entonces Y = I1·S1’·S0.

La salida es Y= I2, sí S1=1 y S0=0. Entonces Y = I2·S1·S0’.

La salida es Y= I3, sí S1=1 y S0=1. Entonces Y = I3·S1·S0.

Sumando lógicamente las ecuaciones anteriores:

Y = I0·S1’·S0’ + I1·S1’·S0 + I2·S1·S0’ + I3·S1·S0

En consecuencia, el circuito asociado se implementa en la figura .


Demultiplexores (Distribuidores de datos)

Un demultiplexor es un circuito combinacional que recibe información en una sola


línea y la transmite a una de 2n líneas posibles de salida. La selección de una línea
de salida especifica se controla por medio de los valores de los bits de n líneas de
selección. La operación es contraria al multiplexor. La figura 3.6.4. muestra el
diagrama de bloques del demultiplexor.

Diagrama de Bloques del Demultiplexor.

La figura muestra un demultiplexor de 1 a 4 líneas. Las líneas de selección de


datos activan una compuerta cada vez y los datos de la entrada pueden pasar por
la compuerta hasta la salida de datos determinada. La entrada de datos se
encuentra en común a todas las AND.
. Circuito Lógico de un Demultiplexor de 1 a 4 líneas.

El decodificador de la figura funciona como un demultiplexor si la línea E se toma


como línea de entrada de datos y las líneas I0 e I1 como líneas de selección.
Observe que la variable de entrada E tiene un camino a todas las salidas, pero la
información de entrada se dirige solamente a una de las líneas de salida de
acuerdo al valor binario de las dos líneas de selección I 0 e I1. Por ejemplo si la
selección de las líneas I0I1 = 10 la salida Y2 tendrá el mismo valor que la entrada E,
mientras que las otras salidas se mantienen en nivel bajo.

Circuito Lógico de un Decodificador/Demultiplexor

Convertidor Analógico - Digital: ADC - CDA

En el mundo real las señales analógicas varían constantemente, pueden variar


lentamente como la temperatura o muy rápidamente como una señal de audio.
Lo que sucede con las señales analógicas es que son muy difíciles de manipular,
guardar y después recuperar con exactitud.
Si esta información analógica se convierte a información digital, se podría
manipular sin problema. La información manipulada puede volver a tomar su
valor analógico si se desea con un DAC (convertidor Digital a Analógico)

Hay que definir que tan exacta será la conversión entre la señal analógica y la
digital, para lo cual se define la resolución que tendrá.

Primero se define el número máximo de bits de salida (la salida digital). Este dato
permite determinar el número máximo de combinaciones en la salida digital. Este
número máximo está dado por: 2n donde n es el número de bits.

También la resolución se entiende como el voltaje necesario (señal analógica)


para lograr que en la salida (señal digital) haya un cambio del bit menos
significativo.(LSB)

Para hallar la resolución se utiliza la fórmula: Resolución = ViFS/[2n - 1]


Donde:
- n = número de bits del ADC
- ViFS = es el voltaje que hay que poner a la entrada del convertidor para obtener
una conversión máxima (todas las salidas son "1")
Ejemplo # 1:
Si se tiene un convertidos analógico / digital de 4 bits y el rango de voltaje de
entrada es de 0 a 15 voltios

Con n = 4 y ViFS = 15 Voltios

La resolución será = ViFS / [2n -1] = 15 / [24 - 1] =15 / 15 = 1 voltio / variación en


el bit menos significativo

Esto significa que un cambio de 1 voltio en la entrada, causará un cambio del bit
menos significativo (LSB) a la salida. En este caso este bit es D0. Ver la siguiente
tabla.
De esta manera se construye una tabla de que muestra la conversión para este
ADC:

Entrada
analógic Salida digital de 4 bits
a
Voltios D3 D2 D1 D0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1

Ejemplo # 2:
Un ADC de 8 bits genera solo "1" (las 8 salidas en 1), cuando en la entrada hay
un voltaje de 2.55 voltios (entrada analógica máxima).

La resolución es = ViFS / [2n -1] = 2.55 / [28 - 1] = 10 Milivoltios / variación en el


bit menos significativo. Se puede ver que mientras más bits tenga el convertidor
más exacta será la conversión

Si se tiene una señal de valor máximo de 15 voltios y aplicamos esta señal


analógica por diferentes convertidores analógico digital se puede tener una idea
de la variación de la resolución con el aumento del número de bits del convertidor

# de bits del ADC Resolución


4 bits 15 voltios / 15 = 1Voltio
8 bits 15 voltios / 255 = 58.8 miliVoltios
16 bits 15 voltios / 65536 = 0.23 milivoltios
32 bits 15 voltios / 4294967296 = 0.0000035 milivoltios

Esto significa que a mayor número de bits del ADC, un cambio más pequeño en
la magnitud analógica causará un cambio en el bit menos significativo (LSB) de
la salida, aumentando así la resolución.

You might also like