Proyecto calculadora

Este proyecto está orientado a realizar una calculadora con circuitos lógicos, como el integrado 74LS284 y 74LS285 han dejado de fabricarse, que son multiplicadores binarios de 4 bits, he diseñado este circuitos con sumadores en cascada, flip-flop tipo D síncrono, y un contador binario,
El truco está en programar el contador en descendente cargando el inicio con el numero binario multiplicador, cuando llega a cero queda paralizado el contador a través de una NOR cuádruple, que conecta con el ENABLE del contador. De esta manera los sumadores se recargarán tantas veces como el contador permita el Clock, que dispara a los flip-flop D, o sea permite que los sumadores vayan sumando tantas veces como el número binario multiplicador prefijado. Hay que tener en cuenta que cuando el primer sumador se desborde, activará el carry de salida, que corresponderá al número decimal 16, esto será el número más bajo del segundo sumador, y como el primer sumador también se realimenta a través de los flip-flop D síncrono, sus salidas serán=16, 32, 64 y 128, mientras evidentemente el CI flip flop D que realimenta el primer contador, su salida serán=1, 2, 4 y 8. La puerta AND que figura está para desactiva el Clock sobre los flip flop cuando la cuenta del contador está a cero, ya ha acabado de calcular la multiplicación.
Si alguien la quiere probar aquí la adjunto en fichero Proteus 8
 

Adjuntos

  • Multiplicador secuencial.jpg
    Multiplicador secuencial.jpg
    339.7 KB · Visitas: 47
  • Multiplicador secuencial.rar
    21.1 KB · Visitas: 32
Última edición:
El divisor de 4 bits secuencial es sin duda el más complicado de mi proyecto de calculadora básica, ya que no existe un circuito integrado divisor específico, sin utilizar un software sobre un chip aritmético reprogramable. En los libros de electrónica de circuitos lógicos la división no sale esquemas electrónicos, sólo un diagrama del concepto teórico de la división, por eso y porque la división que se estudia es por aproximación de un número que multiplicado por el divisor, sin pasarse del dividendo, y restando el resultado, pero hay que tener en cuenta que la verdadera división es una sucesión de resta, tomando el dividendo como principio, y que muchas veces el resultado no es exacto, quedando un resto, por lo que mi proyecto de divisor tiene que figurar dos marcadores finales; uno con el coeficiente o resultado final, y dos con el resto, si lo hubiera.

Mi divisor parte de un circuito integrado selector o multiplexor de dos números de 4 bits y una salida, el control lo realiza un flip flop R/S tipo cerrojo, que después del primer pulso de clock cambia la entrada, y permanece en esa entrada que es recargada por el restador, que es un circuito integrado sumador, con la entrada de divisor invertida y la activación positiva del carry de entrada, para que el circuito sea secuencial ha puesto un circuito integrado flip flip d tipo latch, que a cada pulso de clock recarga con el nuevo número al restador. Todo este proceso es controlado por un comparador de 4 bits que según sea su resultado; si el divisor es menos o igual al dividendo continúa los pulsos de clock, pero sí es mayor bloquea los pulsos de clock, eso que queda a la salida de los flip flop es el resto. Paralelamente he montado un simple contado binario que cuenta estos pulsos del clock, y que también se bloquea cuando el divisor es menor que el dividendo, la salida de ese contador es el resultado final o coeficiente de la división. He tenido que utilizar unas puertas lógicas, como una cuádruple NOR, para eliminar el error de una división con el divisor a cero, ya que este circuito secuencial quedaría en un ciclo infinito buscando que las restas secuenciales dieran un resultado (X-0=X), con algunas puerta AND y OR, bloqueo el contado binario y el circuito integrado flip flop tipo latch, para que de cero en los dos marcadores (resto y coeficiente), evidentemente antes de cada operación de división hay que pulsar el reset para borrar los contadores y dejar listo el selector para que tome el número dividendo como principio de las restas.
 

Adjuntos

  • Divisor de 4 bits secuencial.jpg
    Divisor de 4 bits secuencial.jpg
    360.5 KB · Visitas: 52
  • Divisor de 4 bits secuencial.rar
    22.6 KB · Visitas: 32
El divisor de 4 bits secuencial es sin duda el más complicado de mi proyecto de calculadora básica, ya que no existe un circuito integrado divisor específico, sin utilizar un software sobre un chip aritmético reprogramable. En los libros de electrónica de circuitos lógicos la división no sale esquemas electrónicos, sólo un diagrama del concepto teórico de la división, por eso y porque la división que se estudia es por aproximación de un número que multiplicado por el divisor, sin pasarse del dividendo, y restando el resultado, pero hay que tener en cuenta que la verdadera división es una sucesión de resta, tomando el dividendo como principio, y que muchas veces el resultado no es exacto, quedando un resto, por lo que mi proyecto de divisor tiene que figurar dos marcadores finales; uno con el coeficiente o resultado final, y dos con el resto, si lo hubiera.

Mi divisor parte de un circuito integrado selector o multiplexor de dos números de 4 bits y una salida, el control lo realiza un flip flop R/S tipo cerrojo, que después del primer pulso de clock cambia la entrada, y permanece en esa entrada que es recargada por el restador, que es un circuito integrado sumador, con la entrada de divisor invertida y la activación positiva del carry de entrada, para que el circuito sea secuencial ha puesto un circuito integrado flip flip d tipo latch, que a cada pulso de clock recarga con el nuevo número al restador. Todo este proceso es controlado por un comparador de 4 bits que según sea su resultado; si el divisor es menos o igual al dividendo continúa los pulsos de clock, pero sí es mayor bloquea los pulsos de clock, eso que queda a la salida de los flip flop es el resto. Paralelamente he montado un simple contado binario que cuenta estos pulsos del clock, y que también se bloquea cuando el divisor es menor que el dividendo, la salida de ese contador es el resultado final o coeficiente de la división. He tenido que utilizar unas puertas lógicas, como una cuádruple NOR, para eliminar el error de una división con el divisor a cero, ya que este circuito secuencial quedaría en un ciclo infinito buscando que las restas secuenciales dieran un resultado (X-0=X), con algunas puerta AND y OR, bloqueo el contado binario y el circuito integrado flip flop tipo latch, para que de cero en los dos marcadores (resto y coeficiente), evidentemente antes de cada operación de división hay que pulsar el reset para borrar los contadores y dejar listo el selector para que tome el número dividendo como principio de las restas.
No model specified for CLOCK#0003.
Simulation FAILED due to partition analysis error(s).

Me sale este error en Proteus al simular. ¿Me podrías ayudar?
 
Última edición por un moderador:
No model specified for CLOCK#0003.
Simulation FAILED due to partition analysis error(s).

me sale este error en proteus al simular me podrias ayudar
Hola...Si, te voy a ayudar a pesar que no es para mi la cita debido que al participante que le preguntas no entra al foro desde el 30/12/2023, proba así.

En las propiedades del Clock yo configure 10Hz. Tu puedes seleccionar la velocidad de Clock que desees, así como el estado del inicio de la señal en la simulación(puedes empezar con el Clock en Low o en High).

Si quitas el generador de Clok usado en el original, no hay problemas, posiblemente se hizo con un modelo antiguo que ya no esta en el simulador o con uno propio o agregado de forma externa y que no se adjunto/advirtió al subir los archivos.

Saludos.
 

Adjuntos

  • Divi_Clock.rar
    23.9 KB · Visitas: 3
Atrás
Arriba