I made an incorrect assumption about the way the shift registers work. I was :hoping: that the Qout was open collector, so shift data lines could be shared. From what I can tell, they are actually push-pull CMOS outputs, so I'll have to MUX the outputs together, or use separate input pins. Thanks for all of the help. ---------- > From: Andrew Kalman > To: PICLIST@MITVMA.MIT.EDU > Subject: Re: MM74C165 shift registers > Date: Tuesday, December 02, 1997 8:57 PM > > 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 | > |___________________________________________|