Hi Justin. Re: >I've been experiencing peculiar problems with MM74C165 parallel-in >serial-out shift registers. I am using the clock inhibit line to select a >set of shift registers, and clocking in the data. This works beautifully >UNLESS the shift register has some unused parallel-in bits. I've tried >everything... tying them high, tying them low, tying them via a resistor >bank to Vcc or Gnd, but the only way they seem to work is if I let them >float. Otherwise the chip outputs a '1' when not selected. Does anyone >have any ideas to explain this? Hmmm ... I use '165s as the "input side" to long serial shift-register chains where '595s form the "output side". Both part types are ubiquitous, inexpensive and fast. But that doesn't answer your question ... Is it possible that your chip isn't getting power from VCC? I ask because floating those pins would be fundamentally different from the other configurations you mention. Remember that CMOS is happy to "pull" power in at any of its inputs if it's not getting power at the correct place (i.e. VCC). CMOS does very strange things when it doesn't get power like it wants. By tying SDI (pin 10) low you could rule that out as a source for the "1" data you're seeing at the output. I would also look at your clock inputs (pins 2 & 15), and the serial input (pin 10) -- perhaps you're getting more clock pulses than you think? If you have access to a Logic Analyzer, you should be able to figure it out pretty quickly. The other option is that somewhere along the line you're making an incorrect assumption, either about the chip, or about your circutry to it. Perhaps your datasheets are cryptic or something -- I personally prefer the Motorola datasheets over all the others. I recently had a terrible timing figuring out what I was doing wrong on a long serial chain, until I realized that I had read the datasheet wrong and was trying to clock 16 bits into what was actually an 8-bit device that required _seperate_, _consecutive_ bytes to complete its 16-bit control word format. IOW, my _assumption_ was wrong. All my circuitry worked fine, yet I kept looking for electrical problems when it was, in fact, just the way I was clocking the data and running the Strobe signal. (PS. I've never used the '165's clock inhibit pin.) HTH, ___________________________________________ | Andrew E. Kalman, Ph.D. aek@netcom.com | | standard disclaimers apply | |___________________________________________|