Interfacing ICs together doesn't work

Greetings,

This project does not involve an Arduino yet, but I need some help interfacing some 595 registers with some hcf4008be adders, so I've connected the output of Register A (8bit) and Register B (8bit) to 2x 4-bit adders, so the output should be an 8-bit number that is the sum of Register A and Register B, but when all registers are "0" the output is see is not 00000000 but 00100001, I've tried adding pull-down resistors but it won't work, please help.

Thanks.

Hello,

It sounds like you're encountering an issue with unexpected output when interfacing the 595 shift registers with the HCF4008BE adders. Here’s a possible solution to address the problem:

Problem Diagnosis

When all the registers are set to 0, but you see an output of 00100001, this suggests there might be a problem with either the connections, the logic levels, or the initialization of the registers.

Solution Steps

  1. Check Connections:
  • Verify that all connections between the 595 shift registers and the HCF4008BE adders are correct and secure.
  • Ensure that the outputs from the shift registers are properly connected to the inputs of the adders, and that there are no loose or misconnected wires.
  1. Verify Initialization:
  • Confirm that the shift registers (595) are being properly initialized to 0 before reading the output. Incorrect initialization or timing issues could lead to unexpected results.
  1. Check Pull-Down Resistors:
  • While you’ve tried adding pull-down resistors, ensure that they are of the correct value (typically around 10kΩ) and properly connected to the ground. Sometimes incorrect resistor values or connections can cause issues.
  1. Inspect Power and Ground Connections:
  • Make sure that both the 595 shift registers and HCF4008BE adders are correctly powered and have stable ground connections. A floating ground or unstable power supply can cause unreliable behavior.
  1. Test with Known Values:
  • To isolate the problem, test the circuit with known values. For example, manually set Register A and Register B to specific values and observe if the output matches the expected sum.
  1. Debounce Signals:
  • If you’re using mechanical switches or similar inputs, debounce the signals to avoid erroneous readings. Although this may not be the issue here, it’s good practice.
  1. Examine Adder Outputs:
  • Check the output pins of the HCF4008BE adders to ensure they are functioning correctly. A faulty adder could cause incorrect outputs.
  1. Logic Level Checking:
  • Measure the logic levels on the inputs and outputs of the adders with an oscilloscope or logic analyzer to ensure that the logic levels are as expected and there are no glitches or noise affecting the results.
  1. Replace Components:
  • If everything else seems correct but the issue persists, consider replacing the HCF4008BE adders or the 595 shift registers to rule out the possibility of faulty components.

By systematically checking these areas, you should be able to identify the cause of the unexpected output and correct it. If you continue to have issues, providing a detailed schematic or additional information might help in further diagnosing the problem.

Best regards,
Darrin Vitiello

Do you understand the following logic diagram (Fig-1)? If yes, then connect an Arduino UNO with it verify the Truth Table.


Figure-1:

Plus the fact that you don't mention decoupling capacitors is worrying.

De-coupling tutorial

We really need to see a diagram which shows how everything is wired.

@AndrewLevel100

Perfect AI generate reply

3 Likes

@mikedb, I guess you actually wanted to address @darrin5698 (who is suspended).

@sterretje
I informed @AndrewLevel100 hoping to tell him to not mark the reply as a solution.

What are you doing with the carry in pin? Do you have it set low, high or floating?

Well, I've found out that the first carry-on wasnt connected to anything, so it would just pick static energy in the air and put the carry-on to 2, so after putting the carry-on of the first adder to gnd, it worked, but there was another bit '1', I've discovered that 1 cable was connected wrong, so 1 input of the adders was connected to nothing as well, so after putting the cables in the right pons it worked, there was a lot of cables so I couldn't see them.

Problem solved.

Well, I've found out it was just a cabling error, but this de-coupling circuit will be useful in the future if I se some strange things on my ICs, thanks for teaching me this!