Practica 7 Sumador Restador con Memoria (Flip Flop) y teclado

Introducción


En esta sección se va a continuar con la calculadora desarrollada en las otras secciones, siempre con la idea de mejorar, se va a reemplazar la entrada de números en binario que se hacía con varios Dip-switch a una entrada hecha con ayuda de un teclado; como se debe diferenciar entre unidades, decenas y centenas tanto del número A como del número B, se hace necesario el uso de una memoria que permita ingresa un número (ej: unidades), y luego ingresar un segundo número (ej: decenas) con el mismo teclado tanto para el número A como para el número B.

Objetivos

  • Diseñar un circuito que permita ingresar un valor por teclado, almacenarlo y manipularlo junto con otros valores ingresados.

Materiales

  • Psoc.
  • Protoboard.
  • Cables.
  • Varias resistencias de 1 KOhm.
  • 4 Display's de 7 segmentos.
  • 4 resistencias de 330 Ohm
  • Teclado matricial 4 x 4

Desarrollo


Respecto al circuito Sumador-Restador con comparador se va a usar todo, lo que se va a cambiar es la forma de ingresar los números al sistema, ya no se hará con dip-Switch sino con un teclado matricial de 4*4.

De la Practica 5 Memoria Rom, se va a usar el decodificador de teclado matricial de 4*4.


Antes de iniciar con el diseño del circuito que hace falta es importante conocer algunas cosas.

Flip-Flop: Es un circuito que puede mantener un estado binario indefinidamente hasta que se cambie por una señal de entrada para cambiar de estados. hago énfasis en MANTENER, este mantener es lo que va a permitir almacenar un bit.

Aunque existen varios tipos de Flip-Flop, para este caso será usado el Flip-Flop tipo D cuya tabla de excitación su símbolo es:

Tabla de excitación de Flip-flop tipo D.
Símbolo de Flip-Flop tipo D
En la tabla de excitación, Q representa el estado actual, D representa la entrada y Q* representa el estado siguiente.

¿Qué significa esto? Inicialmente la entrada d tiene un 0 (estado actual), si a la entrada d se le pone un 0 como entrada y se genera un pulso en el clock, la salida o estado siguiente tendrá un 0.

Por otro, si se aplica un 1 a la entrada, después del pulso en clock se va a tener un 1 a la salida.

Este comportamiento de salida igual a la entrada después de un pulso en clock es el que se va  a aprovechar para construir la primera memoria.

Como el decodificador de teclado tiene una salida de 4 bits, se va a usar 4 Flip-Flops para almacenar esos bits.

Memoria de 4 bits.
Se va usar una de estas memorias por cada dígito (unidad, decena, centena, etc) que se desee almacenar; para esto, se conecta cada bit de la salida del teclado a una entrada de la memoria, como recordará, el decodificador de teclado tiene una salida de nombre LED, esta salida se va a usar como pulso en clock para almacenar la información.

Las salidas Q0 a Q3 son las que se van a tomar como entradas al circuito sumador-restador con comparador.

Lo que resta es diseñar un circuito que permita hacer el cambio entre las varias memorias a utilizar, por ejemplo, si se quiere operar los números A y B con dos dígitos en decimal cada uno, significa que se debe usar cuatro memorias de 4 bits.

Por otro lado, al juntar los bits de ambos dígitos de cada número, se tiene un código en BCD, este código se debe pasar a binario para hacer la suma o la resta de forma correcta.

Con todas estas cosas en cuenta, el circuito necesario para ingresa dos dígitos tanto para el número A como para el número B partiendo de un solo teclado matricial es:

Circuito para ingresar dos dígitos tanto para el número A como para el número B.
En este circuito la suma se hace en código BCD con el propósito de minimizar el consumo de memoria en la placa Psoc.

Comments

Popular Posts