# Calculadora Operaciones Basicas



## Selene (Abr 27, 2007)

Buen Día,

Mi proyecto es hacer algo asi a una calculadora con un teclado matricial 0-9, que tenga 2 displays para 2 números decimales, que van a tener que realizar 3 operaciones basicas sumarse, restarse, y multiplicarse. Esto consiste en que al dar la entrada a esos dos números al presióna un push button deben de sumarse y aparecer ese resultado en ese display, al prsionarse otro push button se restaran y la respuesta aparecera en ese mismo display, y al presionarse el último push button se multiplicaran y el resultado se colocara en esos mismos 2 displays. 

Alguien tiene alguna idea


----------



## pic-man (Abr 28, 2007)

La suma, la resta y la multiplicacion son operaciones muy sencillas, para la suma y la resta hay instrucciones directas (addwf y subwf) y la multiplicacion no es otra cosa que una sucesión de sumas. Aqui te paso un ejemplo muy sencillo que acabo de hacer para el pic 16f877a, al sistema se le introducen 2 números de 4 bits por el puerto B, después mediante 3 pushbuttons se selecciona la operación que se desea hacer, con el botón conectado a RA0 se selecciona la suma, con RA1 la resta y con RA2 la multiplicación, después se realiza la operación y el resultado se convierte a BCD, de ese modo tendrás dos variables, NUM2 y NUM1, que será el código BCD del resultado. En el ejemplo NUM2 lo despliego por el puerto C y NUM1 por el puerto D, de modo que si la operación fue una multiplicación de 9x9 en el puerto C se desplegará un 8 y en el puerto D un 1.

Aqui te dejo el programa junto con un diagrama del circuito armado en proteus. El resultado tu lo quieres desplegar en dos displays de 7 segmentos, la decodificación a 7 segmentos no es dificil pero esa te la dejo a tí, en esta página viene explicado como controlar displays de siete segmentos así que revisala y con eso tendrás tu proyecto completo


----------



## Selene (Abr 30, 2007)

Como logro esto con Circuitos Integrados, y de pura casualidad sabes que memoria utilizar para guardar 2 digitos numericos, para poderlos sumar, restar o multiplicar con los pushbuttons


----------



## pic-man (Abr 30, 2007)

Lo siento selene, pensé que podias usar un microcontrolador, es por eso que te puse ese ejemplo para el microcontrolador pic 16f877. No se como podrias hacerlo con circuitos integrados.


----------



## Selene (May 8, 2007)

La entrada de datos la voy a hacer con un teclado matricial, y voy a utilizar un circuito integrado que de decimal los pase a binarios, como le hago?, el diagrama que me mandas la entrada de los dos numeros es por separado, los dos los voy a introducir con el teclado


----------



## tiopepe123 (Oct 25, 2007)

Vamos por pasos:

Que conocimientos tienes?
Lo tienes que realizar con logica discreta, GAL , microcontrolador,PLD, FPGA?
Dispones de acceso a un programador de EPROM o EEPROM?


----------



## ben99 (Oct 25, 2007)

SELENE que características debe tener el programas?
suma , resta, mult, 
los resultados debes almacenarlos el eeprom.

saludos


----------



## jotajota (Mar 9, 2009)

Hola a todas las personas del foro, yo he estado haciendo un tacometro opto-electronico, pero soy principiante en el mundo de la electronica. Este es un proyecto que tengo que entregar en la universidad. Hasta el momento el tacometro cuenta las vueltas que realiza un eje en 60 segundos, pero el problema es como se hace para que en un maximo de 2 segundos esos pulsos que llegan por el sensor yo pueda dividirlo entre 30 y que ese valor aparesca en los display (son 4) y asi estas seran las RPM del objeto girando. No puedo usar Pic,s. Solo C.I., operacionales y compuertas logicas. El sistema esrta compuesto basicamente por 555, 7490, 7447, uno que otro mas elemento. Cualquier ayuda se le agradece.


----------



## cristian_elect (Mar 10, 2009)

explicate mejor cuantos pulsos por segundo da el encoder para sacar la divicion.
El problema es sensillo de resolver.

La calculadora tambien sale no es dificil en tu libros de digitales I y II esta todo lo nesesario para resolverlo. 74ls83 tienes el sumador y el resta y la multiplicacion y algunas compuertas mas como la compuerta tipo D, convertidor bcd a 7 segmentos 7447, esta en los libros buscalo.


----------



## jotajota (Mar 11, 2009)

ok. gracias por responder. la cuestion deberia de funcionar de la siguiente forma: determinar el numero de revoluciones por minuto a que gira un determinado eje de un motor, con una capacidad maxima de medicion de 4000 revoluciones , simplemente que al colocar el dispositivo que tiene el sensor (emisor y receptor) al cabo de pocos segundos no mas de 5 con la cantidad de pulsos recibidos en esse tiempo se pueda indicar en los displey la relacion por minuto, es decir, dividir la cantidad de pulsos entre el tiempo de medicion  y luego multiplicar por 60 segundos.


----------



## cristian_elect (Mar 11, 2009)

El encoder cuantos pulsos por vuelta da. hay de 500, 1000. 
O lo has echo de un pulso por vuelta.


----------



## Foxdie (Mar 25, 2010)

hola, necesito hacer una calculadora, basado en el microcontrolador
PIC18F452 de la empresa MICROCHIP, con las prestaciones siguientes:
- Los operandos se introducirán en el microcontrolador mediante un terminal serie Rs-232.
- El microcontrolador realizará las siguientes operaciones: suma (+), resta (-), multiplicación (*) y división (/).
- El resultado obtenido se mostrará por el display LCD, y también todos los operandos y operaciones realizadas serán enviadas al terminal serie.

Tengo que hacerla en C pero ando un poco perdido. 

Si alguien me puede echar una mano se lo agradeceria mucho.


----------



## antiworldx (Mar 25, 2010)

De casualidad ya leiste el datasheet del pic? Alguna sugerencia de tu parte?


----------



## Foxdie (Abr 8, 2010)

el datasheet? como te digo ando perdido... lo maximo que he conseguido es mostrar mensajes en el lcd, pero de manejo de interrupcions nada... por eso pido ayuda :S


----------



## antiworldx (Abr 8, 2010)

Bueno, te comento del datasheet del pic, porque ahi viene bien explicadito como funcionan las interrupciones, sus banderas, registros, secciones de memoria, etc.

Es que si no lees esa parte, tendria que explicarte yo lo que ya viene explicado en el datasheet y pues... 
Dale una leida al datasheet, donde vienen las interrupciones, y de ahi veras que te aclaras muchas dudas para empezar y ya arreglamos los detalles que obviamente si vas a tener pues las interrupciones son un poco confusas de principio.

Bueno, te comento del datasheet del pic, porque ahi viene bien explicadito como funcionan las interrupciones, sus banderas, registros, secciones de memoria, etc.

Es que si no lees esa parte, tendria que explicarte yo lo que ya viene explicado en el datasheet y pues... 
Dale una leida al datasheet, donde vienen las interrupciones, y de ahi veras que te aclaras muchas dudas para empezar y ya arreglamos los detalles que obviamente si vas a tener pues las interrupciones son un poco confusas de principio.


----------



## inglaof (Abr 11, 2010)

hola, mira, basicamente lo de las interrupciones funciona de este modo:

Cuando se genera una interrupcion, por cualquier condicion, ya sea por el flanco en RB0, el desborde del TMR0, o cualquier otra interrupcion que se genera en el PIC que estes analizando, el micro salta a la direccion de las interrupciones, no recuerdo si en el 16f8X por ejemplo es la 0x04, eso significa que, este donde este, el micro saltara a esa posicion de memoria y de alli en adelante ejecutara el codigo que hayas puesto desde esa direccion en adelante, asi que tendrias que poner el codigo que quieres que se maneje como interrupcion, o si utilizas varias fuentes de interrupcion, detectar cual o cuales se activaron y comenzar a ejectuarlas segun lo requiera tu aplicacion...

Si lo quieres construir con compuertas digitales, buena suerte, yo opino que no tiene caso, a menos que uses GALs o PLDs, pero pues un micro es mas barato y facil de conseguir y programar que ellos, al menos en Mexico.

Como comentario adicional, aun sabiendo que es un post viejisimo, si deseas profundizar en el tema de las calculadoras, busca el algoritmo CORDIC, con el puedes obtener de una manera ridiculamente sencilla operaciones trigonometricas, hiperbolicas, etc etc, con una precision mas que suficiente y con menores recursos que si utilizaras series de potencias...


----------



## judio (Abr 19, 2010)

pic-man dijo:


> La suma, la resta y la multiplicacion son operaciones muy sencillas, para la suma y la resta hay instrucciones directas (addwf y subwf) y la multiplicacion no es otra cosa que una sucesión de sumas. Aqui te paso un ejemplo muy sencillo que acabo de hacer para el pic 16f877a, al sistema se le introducen 2 números de 4 bits por el puerto B, después mediante 3 pushbuttons se selecciona la operación que se desea hacer, con el botón conectado a RA0 se selecciona la suma, con RA1 la resta y con RA2 la multiplicación, después se realiza la operación y el resultado se convierte a BCD, de ese modo tendrás dos variables, NUM2 y NUM1, que será el código BCD del resultado. En el ejemplo NUM2 lo despliego por el puerto C y NUM1 por el puerto D, de modo que si la operación fue una multiplicación de 9x9 en el puerto C se desplegará un 8 y en el puerto D un 1.
> 
> Aqui te dejo el programa junto con un diagrama del circuito armado en proteus. El resultado tu lo quieres desplegar en dos displays de 7 segmentos, la decodificación a 7 segmentos no es dificil pero esa te la dejo a tí, en esta página viene explicado como controlar displays de siete segmentos así que revisala y con eso tendrás tu proyecto completo


Hola a todos

Que tengo que modificar? para que me muestre el resultado en 5bits y no en BCD, por mas que le muevo no puedo.

alguna pista?

salu2


----------



## urielo (Abr 20, 2010)

hola amigos nececito ayuda 

me encargaron un nuevo proyecto en la universidad 
necesito realizar una calculadora que resuelva las operaciones de suma resta y multiplicacion  de 2 numeros de un bit cada uno para despues mostrarlos en 2 displays

me piden que lo realize solo usando circuitos integrados o gals mi problema es que he andado indagando en internet y aun no encuentro nada que utilize integrados y el problema con el gal es que como aun soy muy principiante no conosco como funcionen 

agradeceria mucho sus sugerencias y ayuda en este proyecto


----------



## ridcardo (Abr 30, 2010)

buenas noches tengo que realizar un calculadory mula con lcd teclado matricial que sume con# y multiplique con *les agredeceria que me ayudaran el codigo en ccs picc


----------



## erick1424 (Abr 30, 2010)

Sensor por flanco
tengo un contador de 0 a 9 que sale por el portb
por el porta tengo un pulsador que detiene o continua cada ve que presiono

mi consulta es solo me sale por nivel cuando el pulsador es 0 o 1
como hago para hacerlo por flanco que cuando pulso regrese a su estado normal


----------



## cheloo (Abr 30, 2010)

a que te refieres a su estado normal???


----------



## erick1424 (Abr 30, 2010)

bueno por ejemplo para prender un foco lo puedes hacer con un swich o un pulsador
un swich es de nivel porque es on/off se queda 1 o 0
y un pulsador precionas para que salga 1 y regresa a su posicion inicial como un timbre

no se si he dejado entender

gracias por tu interes


----------



## cheloo (Abr 30, 2010)

lo estas programando con un pic en especifico???
si es con el pic 16f84a te puedo ayudar y programandolo en  sourceboost  no se si te interese???


----------



## erick1424 (May 3, 2010)

Es el pic 16f887a

si me interesa  como es???


----------

