Buenas gente del foro, le comento mi problema. Estoy haciendo un sumador/restador de 4 bits donde se sumen números del 0-9 utilizando un sumador total 74LS83, pero el tema es el siguiente. Así como entran los números del 0-9 en BCD deseo obtener la suma y la resta en forma BCD para luego utilizar un decodificador BCD-7segmentos. Además aclaro que el resultado se debe ver en 2 display separados por ejemplo para cuando se deba mostrar el resultado de 9+9 = 18.
Con la suma no encuentro muchos problemas en corregir el resultado para que me muestre el resultado en BCD. La ecuación lógica aplicada al resultado es el siguiente:
carry + 4 bit (3 bit + 2 bit)
Si el resultado es "1" entonces se pasa el resultado a un nuevo sumador que le sume 0110 (6) y utilizar el primer carry para colocar un "1" en el display de las decenas y el resultado corregido en el segundo display.
El problema viene con la resta complmento a 2, porque todavía no logro encontrar como corregir el resultado para todo caso posible que exista. Como por ejemplo
7-8 = -1
9-3 = 6
9-0 = 9
0-9= -9
9-1= 8
Donde espero que el signo "-" si el resultado es negativo se muestre en el display de las decenas.
Bueno creo que fui muy específico y un poco largo en la explicación. Espero que me puedan dar una mano para poder solucionar esto.
Saludos!
Con la suma no encuentro muchos problemas en corregir el resultado para que me muestre el resultado en BCD. La ecuación lógica aplicada al resultado es el siguiente:
carry + 4 bit (3 bit + 2 bit)
Si el resultado es "1" entonces se pasa el resultado a un nuevo sumador que le sume 0110 (6) y utilizar el primer carry para colocar un "1" en el display de las decenas y el resultado corregido en el segundo display.
El problema viene con la resta complmento a 2, porque todavía no logro encontrar como corregir el resultado para todo caso posible que exista. Como por ejemplo
7-8 = -1
9-3 = 6
9-0 = 9
0-9= -9
9-1= 8
Donde espero que el signo "-" si el resultado es negativo se muestre en el display de las decenas.
Bueno creo que fui muy específico y un poco largo en la explicación. Espero que me puedan dar una mano para poder solucionar esto.
Saludos!