Electronic – Pull-down resistors on 7447 input pins

pulldown

I have a simple circuit with a 7447 chip driving a 7-segment LED. The 7447 input pins A=1, B=2, C=4, D=8 apparently float high as logic 1. Using momentary pushbutton switches, I short various combinations of the pins to ground, and I get the expected digit on the display– e.g. connecting D to ground shows the digit 7, connecting B and C to ground shows 9, etc.

Now I'm trying to change the circuit so the pushbuttons bring the input pins high instead of low, so I tried putting 10k pull-down resistors on the inputs. However, if I short any of the inputs to ground via 10K resistors, nothing happens– I no longer get any digits displayed.

So I'm wondering 1) why don't the pull-down resistors work, and 2) what's the simplest way to reverse the operation of the pushbuttons. I'd prefer not to have to deal with things like inverting buffers or changing the mechanics of the pushbuttons, making them normally closed instead of open, etc.

TIA

Carsten

Best Answer

As others have pointed out, your pull-down resistors don't work because they aren't pulling down hard enough. So what value do they need to be to do the job properly?

The SN7447 datasheet tells us that to be recognized as logic 0 a data input must be pulled down to 0.8V or less, and the current you have to sink could be as high as 1.6mA. Applying Ohm's Law, we get a maximum acceptable pull-down resistance of 0.8V / 0.0016A = 500 Ohms.

The only problem with this method is that when you switch the resistor to +5V it will draw 5V / 500 Ohms = 10mA, so when all 4 buttons are operated the circuit will consume 40mA more than it needs to. If you don't mind this extra current draw then pull-down resistors are fine.