Laboratorio 14: PSoC: Sumador/Restador de 1 digito - Ingreso por teclado matricial
- JUAN DAVID COMBITA MURCIA
- 22 jul 2020
- 4 Min. de lectura
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.
Comentários