MEMORIA ROM

INTRODUCCIÓN 

Guardar 10 números en una memoria Rom y mostrarlos a través de un teclado matricial y visualización dinámica 

MATERIALES
  • PsoC
  • Teclado matricial
  • 7 segmentos de 4 digitos

PROCEDIMIENTO-DISEÑO/ESQUEMATICOS/GRAFICAS

Para realizar este montaje se necesita de varios decodificadores

Un decodificador o DECO es un dispositivo que acepta una entrada en binario y activa una salida. Con un código de n bits se pueden encontrar  2combinaciones. Por ejemplo si se tienen 3 bits ( 3 entradas) serán posibles 23=8 combinaciones. Una combinación en particular activara una única salida.


Para que el deco funcione el selector (S) debe estar en 1.

La idea del montaje es que al oprimir un numero del teclado se genere un numero previamente guardado en una memoria ROM. Por esto lo primero que se necesita es un decodificador del teclado, las entradas de este son las 4 filas y las 4 columnas, y sus salidas son 4 bits que representan cada una de las teclas.
El decodificador del teclado que fue utilizado se encuentra en el libro Introducción al PSoC5LP, teoría y aplicaciones prácticas de la siguiente manera:

A este se le hicieron las modificaciones necesarias para que funcionara en este montaje, quedando de la siguiente manera:


Las salidas del deco se conectaron a un LUT, este se implemento con el fin de que en la tecla correspondiente al 1 saliera el numero 1 en binario y así sucesivamente, asignándole a las letras A,B,C,D los números 10,11,12 y 13 respectivamente y al * y #, los números 14 y 15.
Después de comprobar que salida de cada tecla en el teclado se construyo la siguiente tabla de verdad para el LUT


Las salidas del LUT se conectaron a la ROM, esta tiene 4 bits de entrada y 10 de salida .
La ROM esta compuesta de un DECO 4:16, es decir, un decodificador con 4 entradas y 16 salidas. Este permite que al oprimir la tecla 1 entren al deco los 4 bits correspondientes a este numero y se active una salida.
Las salidas de este DECO son usadas para formar los números de 10 bits que son guardados en la rom. Por eso se tiene la siguiente tabla de verdad:


La tabla nos muestra que numero corresponde a cada salida, por ejemplo, a la salida S0 corresponde el numero 1021, es decir, al oprimir el numero 0 en el teclado se mostrara el  numero 1021 en el dispay 7 segmentos.
Al tratarse de un diseño con deco, todos los 1’s que se encuentren en la salida entraran en una compuerta OR, como se puede ver en las imágenes.
En la PsoC se implemento de la siguiente manera: 







Estas salidas (D9,D8,D7,D6,D5,D4,D3,D2,D1,D0) en binario son convertidas a 4 BCD , pasadas por un multiplexor y convertidas a 7 segmentos de la misma manera que en el laboratorio anterior (Ver entrada sumador/restador). De esta forma en el 7 segmentos se mostrara el numero correspondiente a la tecla oprimida en el teclado.

El montaje completo en la PsoC es:

CONCLUSIONES


  • Notamos que con el uso de combinacionales, podemos almacenar datos, y aunque estos se limiten a un almacenamiento de solo lectura pueden resultar muy útiles como forma de guardado.
  • Un diseño usando descodificadores solo requiere unir todas las salidas en uno a una compuerta OR, lo que simplifica dado que no requiere utilizar ni álgebra de Boole ni mapas de Karnaugh para montar el circuito necesario.
  • De la misma manera que en el montaje de sumador-restador, al utilizar buses optimizamos el programa, lo que garantiza un buen funcionamiento del mismo.





Comentarios