top of page

Laboratorio 14: PSoC: Sumador/Restador de 1 digito - Ingreso por teclado matricial

Juan David Combita Murcia, 20181007017

Electrónica Digital

Grupo 743

Universidad Distrital Francisco José


Introducción:


En la presente practica se implementara un sumador/restador de 1 dígito, haciendo el ingreso y control de operación y visualización por teclado matricial.


I. Objetivos:


Objetivo general:


Implementar un camino de datos básico con elementos de memoria, selector de operación y visualización dinámica mediante teclado matricial.

Objetivos específicos:

1) Realizar el sumador/restador de 1 bit implementando los conocimientos previos, haciendo uso del teclado matricial.

2) Tener en cuenta el flujo de operación descrita en la guía.

3) Realizar la visualización dinámica del resultado y los datos de entrada.


II. Recursos:


1) PSoC Creator.

2) PSoC5 y tarjeta de desarrollo.


III. Simulaciones y análisis de resultados:

En esta practica se pretende replantear el diseño implementando en la practica numero 12, con el objetivo de hacer el sumador/restador de 1 dígito ingresando los datos con el teclado matricial, donde su flujo de operación es el siguiente:


1) Inicialmente el sistema tiene habilitado el ingreso de A el cual debe ser un numero entre 0-9. Durante este paso se debe visualizar el dato A en el display

2) Luego de ingresado se debe presionar * para suma o # para resta, al hacer esto se confirma el dato A y se habilita el banco de memoria B.

3) Se ingresa B el cual debe ser un numero entre 0-9. Durante este paso se debe visualizar el

dato B en el display.

4) Se presiona D se visualiza el resultado es decir D funciona como el igual.

5) Si se presiona A se visualiza A.

6) Si se presiona B se visualiza B.

7) Si se presiona C se visualiza el resultado.


Donde el teclado matricial tendrá el siguiente funcionamiento:


1) 0 al 9 --> son habilitados para ingresar el A o el B

2) --> Suma

3) # --> Resta

4) A --> Se visualiza A

5) B --> Se visualiza B

6) C --> Se visualiza el resultado de la operación (suma o resta)

7) D --> Se ejecuta la operación


Para realizar el ejercicio propuesto inicialmente se implemento el decodificador de teclado matricial de la practica numero 11, corregido por un decodificador a binario natural:

Luego un decodificador que dividirá estos resultados obtenidos al digitar cada tecla en un numero de 7 bits, donde los 4 primeros indicarían el numero y los 3 mas significativos establecen las combinaciones que se requieran, siguiendo la siguiente tabla:

Es decir, cuando se presione una tecla entre el 1 y el 9, las salidas U mantienen la entrada, pero la salida D se mantiene en 0, por otro lado cuando el binario se superior al 9 decimal, se cambian la salida D, iniciando desde el 1 decimal, donde cada combinación es directamente cada operación que se desee realizar, en el vídeo se ve mas claramente explicado:

Teniendo estos datos se realiza la memorización de los datos ingresados y la operación, al igual que las salidas para la visualización del valor deseado; se divide el bus de entrada en 2, como ya se menciono, este pasaría a un MUX de 8 a 4, donde para que se modifique el dato ingresado, los 3 bits mas significativo del bus anterior deben ser 0, si no seria el dato previamente guardado o por defecto el 0. Este pasa a una memoria de 4 bits, donde para que se seleccione el dato se requiere que se haya oprimido la tecla * o #, luego de la memoria hay un MUX de 8 a 4 igualmente, que va en paralelo con el selector, para elegir entre un dato y otro, y su salida va a al primer MUX, por lo anterior mencionado.

Los 3 bits mas significativos van a un demux de 1 a 8, donde las diferentes combinación seria sus selectores y su entrada una señal alta, para identificar cuando se activa cada tecla.

Cuando el binario correspondiente al asterisco(suma) o numeral(resta) se encuentren en alto se activa el cambio de dato y se guarda la operación seleccionada. Lo anterior se guarda en 2 memorias de 1 bit:

Para realizar la visualización se guarda en una memoria las 6 salidas del DEMUX, siempre y cuando uno de los 3 bits mas significativos del bus de 7 se encuentre en una señal alta. Esto ayuda a determinar el dato que se quiere observar dependiendo de la tecla ingresada:

De aquí en adelante la visualización es similar a la del laboratorio 12, a excepción que para la visualización dinámica, se realizo un decodificador visual, que tomara la salida del anterior procedimiento y la simplificara en un numero de 2 bits, donde la combinación 00 muestra el dato A, 01 el B y 10 el resultado. También se diferencian en que este esta controlado por un señal de reloj, al ser solo de 2 bits su resultado mas grande posible:


Operación:

Decodificador visual:

Visualización dinámica:

Diseño final:

Asignación de pines:


IV. Conclusiones:


El teclado matricial tiene una particularidad, y es que, a diferencia de los dip switch, este nos entrega 4 bits por cada tecla oprimida, ademas que cuando se presiona una tecla, se cambian estos 4 bits, es decir se cambia la entrada, por ello, es fundamental el uso de memorias y el diseño secuencial al usar el teclado matricial.


VI. Vídeo:



VI. Descarga:






Referencias:


Guía practica 14.

Commentaires


bottom of page