Ensamblador - INGRESAR MAS DE UN DATOS POR EL MISMO PUERTO, Y QUEDEN EN VARIABLES DIFERENTES :(

   
Vista:

INGRESAR MAS DE UN DATOS POR EL MISMO PUERTO, Y QUEDEN EN VARIABLES DIFERENTES :(

Publicado por Orlando (1 intervención) el 18/09/2014 12:07:11
Buenas Tardes!

Como estan? espero que bien.

Les cuento...Resultado que en la U me pusieron a hacer una pequeña calculadora en lenguaje MPLAB, la calculadora suma, resta, y multiplica. No hace mucho es que empeze a andar en este mundo de el lenguaje asm, y en realidad me tiene fascinado, pero estoy que cuelgo toalla, porque no logro entender algunas cosas para poder desarrollar la calculadora.

Se va a utilizar un teclado matricial 4x4 como entrada por el PORTB, hasta ahi facil, lo que se me hace dificil, es que los 3 datos que necesita la calculadora que son los dos numeros y la operacion que se desea, entran por el mismo puerto(PORTB), estuve preguntando y leyendo y parece ser por interrupciones, pero no he logrado dar con ello. La idea es que por ejemplo: yo oprimo el 7, listo me lo guarda en una variable, luego oprimo 2, me lo guarda en otra variable distinta, y luego oprimo la operacion que deseo, en este caso ' + ' , listo que me lo guarde en una variable....Pero como hago para introducir los 3 datos por el mismo puerto?, estuve intentando y al introducir el primer dato, de una vez se llenan todas las demas variables, las que tenia destinadas para el numero que falta y para el tipo de operacion.

Espero me haya hecho entender.

De antemano agradezco cualquier colaboracion que me puedan dar.

PD: Adjunto codigo que llevo hasta el momento, ahi muchas cosas que mejorar, pero por ahora estoy barado es en eso, en como introducir los 3 datos por el mismo puerto, y que me queden guardado en variables distintas.

PD1: Porfavor no se asusten con lo largo del codigo, lo que sucede es que lo estoy haciendo por tablas, y me salieron bastante grandes, no se me ocurre como mejorarlas.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

INGRESAR MAS DE UN DATOS POR EL MISMO PUERTO, Y QUEDEN EN VARIABLES DIFERENTES :(

Publicado por Pico (50 intervenciones) el 18/09/2014 14:15:50
Hay que capturar la interrupción del teclado y en la rutina coger los datos. Cuando la calculadora empieza un cálculo quiere un número, luego la operación, y luego el otro número. La cuestión es tener un valor que determine en qué parte de la introducción de datos estamos. Si tenemos una tabla con lo valores de entrada, al iniciar la introducción de datos ese valor apunta al inicio de esa tabla, luego tabla[ini] = dato entrado por el puerto. Se incrementa ini, y el segundo dato se pone en tabla[ini], y quedará en la segunda posición de la tabla. Al dar al igual está en tabla[0] el primer número, en tabla[ini+1] la operación y en tabla[ini+2] el segundo número. Se pone ini a cero y se hace la operación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar