All About Circuits

Digital Circuits

Shift Registers


22 questions By Tony R. Kuphaldt

Page 6 of 8 0 of 22 answers revealed (0%)
  • Question 16 of 22

    A binary number is parallel-loaded into a shift register. The shift register is then commanded to “shift right” for one clock pulse. How does the value of the shifted binary number compare to the number originally loaded in, assuming that the MSB is on the very left flip-flop of the shift register?

    Reveal answer
  • Question 17 of 22

    Switch contact bounce is often a problem when connecting mechanical contact switches or relays to the inputs of digital semiconductor circuits. When a switch transitions from open to closed, or from closed to open, there is usually a burst of on/off pulses rather than a single, crisp, change of logic state:



    Digital electronic circuits, of course, react to these pulses as though they were very rapid actuations/de-actuations of the switch. This may cause problems, especially in applications where a mechanical switch input causes a counter to increment or decrement!

    To fix this problem we must properly condition the switch signal to eliminate the spurious on/off pulses. The process of doing this is called debouncing. There is more than one way to de-bounce a switch, but one of the more sophisticated ways uses a serial-in, serial-out shift register with an asynchronous reset (clear) input:



    Explain how this circuit works to de-bounce the switch’s “dirty” signal, producing a “clean” (de-bounced) signal for a subsequent digital circuit’s input.

    Reveal answer
  • Question 18 of 22

    A mechanically inclined friend of yours wishes to build an automated water fountain, where ten water jets are turned on in sequence, one at a time. Each water jet is controlled by a solenoid valve, energized by 120 volt AC line power.

    Your friend understands how to wire up the solenoid valves and build all the plumbing to make the fountain work. He also understands how to interpose power to the solenoid valve coils using small relays, so a digital control circuit operating at a low DC supply voltage will be able to energize the valves. The only problem is, this friend of yours does not know how to build a circuit to do the sequencing. How do you turn on one out of ten outputs at a time, in sequence?

    Another friend who is studying digital circuits has a solution to the design problem. She says you could generate a one-out-ten sequence by using a BCD counter (4 bit) driving a 4-line to 16-line decoder. A simple 555 astable multivibrator circuit could supply the necessary clock pulses, and the decoder outputs could drive the relays, and then the solenoid valves, as fast as you wanted.

    However, your instructor just recently told you about a different way to generate a one-out-of-n counting sequence by using shift registers: the circuit is called a ring counter. A ring counter would use fewer parts than the counter/decoder idea. Explain what a ring counter is, and how it would work in this application.

    Reveal answer