martes, 7 de junio de 2011

Proyecto: Sumador-Restador con teclado matricial




1. OBJETIVO.
Diseñar un circuito que realice las operaciones aritméticas de suma y resta de dos números enteros de un dígito, ya sea ambos positivos, negativos o combinación de los mismos, mediante aritmética digital implementando dicho proyecto con circuitos integrados y compuertas lógicas.


2. MARCO TEÓRICO.

2.1. Aritmética digital.

Las computadoras y calculadoras digitales realizan las operaciones aritméticas con números representados en forma binaria. El tema de la aritmética digital puede ser muy complejo si se quieren comprender los diversos métodos de cálculo y la teoría de cada uno de ellos. Por fortuna, este nivel de conocimiento no es indispensable para la mayoría de los profesionales, cuando menos hasta que se convierten en programadores expertos. 

La suma de dos números binarios se lleva acabo exactamente en la misma forma que con los números decimales. De hecho, la suma binaria es más simple, porque solo cuenta con dos dígitos.

La suma es la operación aritmética más importante en los sistemas digitales, como se sabe, las operaciones de resta, multiplicación y división que se llevan a cabo en la mayoría de las computadoras y calculadoras en realidad tienen a la suma como operación básica.

Figura 1. Aritmética Digital.



2.2. Representación de números con signo.
 En las computadoras digitales los números binarios se representan mediante un conjunto de dispositivos de almacenamiento binario (Flip Flop) Cada dispositivo representa un bit. Debido a que la mayoría de las computadoras y calculadoras digitales manejan tanto números negativos como positivos, se requiere de algún medio para representar el signo del número (+ o -). Por lo general esto se lleva a cabo agregando al número otro bit, llamado el bit de signo.



Figura 2. Representación de números binarios con signo.
 

En general el acuerdo al que se ha llegado es que un 0 en el bit de signo representa un número positivo, y un 1 en el bit de signo, representa un número positivo.

 El sistema más común para representar números binarios con signo es el sistema de complemento a 2.

El complemento a 2 de un número binario se forma tomando el complemento a 1 del número y agregándole 1 a la posición del bit menos significativo. Para el caso del complemento a 1, se obtiene cambiando cada 0 a un 1 y cada 1 a un 0. En otras palabras, se cambia cada bit del número por su complemento.


Figura 3. Sistema de complemento a 2.

2.3. Sumador-restador de 4 bits.
El sumador binario completo de n bits se basa en el sumador binario completo de 1 bit. Su gráfico a continuación



Figura 4. Sumador completo.

El sumador completo de 4 bits es una concatenación de 4 sumadores binarios completos de 1 bit, como se muestra en el gráfico inferior. La concatenación se realiza a través de los terminales de acarreo saliente (Cin) y acarreo entrante (Cout).



 Un sumador de 4 bits: (n=4)
El sumador que se muestra suma dos números binarios de 4 bits cada uno.

A = A3A2A1A0 y

B = B3B2B1B0,

Entonces la suma será

S = Cout3S3S2S1S0

El bit menos significativo en los dos sumandos A y B es Ao y Bo y el bit más significativo es A3 y B3.



Figura 5. Sumador de 4 bits.


Figura 6. Suma A + B.
 
 
 



La suma se inicia en el sumador completo 0 (el inferior) con las suma de Ao y Bo, si esta suma tuviese acarreo (Cout=1) este pasaría al sumador 1, y así sucesivamente hasta llegar al sumador 3 en la parte superior del gráfico.

Si el sumador superior tiene acarreo ("1"), éste se refleja en la suma al lado izquierdo de la sumatoria final.

El acarreo entrante inferior no se conecta.




2.4. Teclado matricial.

Un teclado matricial es un arreglo de botones conectados en filas y columnas, de modo que se pueden leer varios botones con el mínimo número de pines requeridos. Un teclado matricial 4×4 solamente ocupa 4 líneas n para las filas y otras 4 líneas para las columnas. Si asumimos que todas las columnas y filas inicialmente están en alto (1 lógico), la pulsación de un botón se puede detectar al poner cada fila a en bajo (0 lógico) y checar cada columna en busca de un cero, si ninguna columna está en bajo entonces el 0 de las filas se recorre hacia la siguiente y así secuencialmente.


Figura 7. Estructura interna de un teclado matricial.

Un modo simple de detectar la tecla presionada es incrementar una variable con la cuenta de las teclas revisadas, de este modo al detectar una pulsación el valor de la cuenta será el valor de la tecla presionada. Si al final no se presionó ninguna tecla la variable se pone a cero y la cuenta vuelve a comenzar.




2.5. 74C922.
     Actualmente existen Circuitos Integrados diseñados específicamente para leer las entradas desde un teclado matricial, tal es el caso del Circuito 74C922, dicho circuito es un decodificador de teclado hexadecimal, contiene como entradas las líneas y las columnas del teclado y como salida 4 bits correspondientes a todas las teclas posibles.

       Su distribución de pines es

Básicamente su funcionamiento es que el chip se encuentra escaneando el teclado, esperando que una tecla se presione. Cuando una tecla del teclado es presionado, el pin 12 del integrado se pone a1. Entonces se envía a los pines 14-17 un número binario de 4 bits correspondiente al botón presionado. El chip utiliza dos capacitores en los pines 5 y 6. El capacitor del pin 5 es para escanear y el capacitor del pin 6 es para anti-rebotes. Se debe cumplir la condición de que el capacitor anti-rebote sea 10 veces más grande que el de escaneo.


2.6. Latch o candado.

Un latch o candado es un circuito que tiene dos estados estables y se puede utilizar para almacenar información de estado. El circuito se puede hacer para cambiar el estado de las señales aplicadas a una o más entradas de control y tendrá una o dos salidas. Los latch son un componente fundamental de los sistemas electrónicos digitales utilizados en las computadoras, las comunicaciones, y muchos otros tipos de sistemas.

 Los flip-flops y los cierres se utilizan como elementos de almacenamiento de datos. Almacenamiento de datos pueden ser utilizados para el almacenamiento de estado, y un circuito que se describe como la lógica secuencial. Cuando se utiliza en una máquina de estados finitos, la producción y el siguiente estado depende no sólo de su corriente de entrada, sino también en su estado actual (y por lo tanto, las entradas anteriores.) También puede ser utilizado para conteo de pulsos, y para la sincronización variable - tiempo las señales de entrada a algunas señal de temporización de referencia.

Los flip-flops pueden ser simples (transparente u opaco) o velocidad de reloj (síncrono o borde accionado). Los simples se denominan comúnmente cierres (La palabra del cierre se utiliza principalmente para los elementos de almacenamiento, mientras que los dispositivos de velocidad de reloj se describen como tapa –flop).


2.7. Compuertas lógicas.
 Una compuerta lógica es un dispositivo físico idealizado siendo la aplicación de una función de Boole, es decir, que realiza una operación lógica en una o más entradas lógicas y produce una salida lógica única. Dependiendo del contexto, el término puede referirse a una puerta lógica ideal, que tiene por ejemplo el tiempo de subida a cero y sin límite de fan-in y fan-out, o puede referirse a un dispositivo físico no ideal.

En la implementación de las ecuaciones lógicas que resuelven los procesos en los que se aplica el álgebra de Boole, se utilizan diversas operaciones o funciones lógicas entre las que se citan las tres fundamentales: AND, OR, NOT.


2.7.1. Función Lógica AND. Puerta AND:

La operación lógica AND, producen una variable de salida, que sólo toma el nivel lógico 1 o estado alto o verdadero, si todas ellas tienen dicho nivel o estado. La operación lógica AND también recibe el nombre de producto lógico porque se representa mediante un punto, igual que la operación convencional de multiplicación.

 La expresión simbólica de dicha ecuación en el álgebra de Boole es la siguiente:

 X = A · B

Tabla de verdad que describe la ecuación lógica X = A. B


1 comentario:

  1. disculpen quisiera saver cuel es el arreglo de compuertas que usaron

    ResponderEliminar