BIDRECTIONAL SHIFT REGISTER

I need help resetting my bidrectional shift register.

my task was to create a Christmas controller that turned on LED lights right and left directions. But instead of LED lights, a timing diagram is used and a high or low will help identify if its ON.

My professor wants to see 2 full cycle, but because I don't know how to reset the 1 back into the circuit, I am lost.

Please help me

by Willmah
September 17, 2024

3 Answers

Answer by TRISTANP

+1 vote
by TRISTANP
September 18, 2024

Try something like the attached, using the inverse of all the Q's through inverters and AND gates gives you your first HIGH to start the cycle. you can then mirror this to the other direction. Hope this helps

by TRISTANP
September 18, 2024

Answer by ErnestThornton

To help you reset your bidirectional shift register for the Christmas controller project, we can break this problem down step by step. You want to control the shift of a 1 (representing an LED being on) left and right through a register for 2 full cycles and then reset it back into the circuit.

Steps to Solve the Problem:

  1. Understand Your Shift Register:
  2. A shift register shifts data either to the left or right when a clock pulse is applied.
  3. In your case, the shift register likely uses a serial input to shift a 1 in either direction.
  4. The "reset" action means after completing two full shifts (left and right cycles), you want to restart the process, bringing the 1 back into the initial position.

  5. Identifying the Key Issue (Resetting the 1):

  6. If the 1 exits the register without being recirculated, the shift register will be filled with 0s, which means all LEDs will be "off."
  7. To reset, you need a mechanism to recirculate the 1 back into the first position of the register after it shifts through all positions.

  8. Use of Control Signals:

  9. Direction Control: This signal dictates whether the register shifts left or right.
  10. Reset Signal: You can add a reset mechanism (through a flip-flop or control signal) that reintroduces the 1 into the first bit after the shift is completed.

  11. Designing the Reset Circuit:

  12. Manual Reset: You can manually reintroduce the 1 when the last bit shifts out, or you can use logic to detect the cycle completion and automatically reset.
  13. Automatic Reset: You can implement a counter to count how many clock pulses have passed and after two full cycles (determined by the number of bits in your register), reinsert the 1 into the first bit.

  14. Timing Diagram:

  15. Make sure the timing diagram reflects the shift process, showing how the 1 moves left and right and when the reset occurs.
  16. The reset should occur after each full shift cycle.

  17. Implementation Outline:

  18. Use a D flip-flop to store the value to be shifted.
  19. Use an AND gate to detect when the shift register is full (i.e., all other bits are 0 except for the last one).
  20. Use a multiplexer (MUX) to feed the 1 back into the first position when the register is full.

Example Pseudo-Logic for Resetting: - Define a shift register, say 4 bits long: [B3, B2, B1, B0]. - Start with 1 in B0. - Shift left until the 1 reaches B3, then switch direction. - Shift right until the 1 is back at B0. - Reset: When the 1 reaches either extreme (B0 or B3), reintroduce it to its initial position for the next cycle.

Example FSM (Finite State Machine) Implementation:

  1. State 1: Shift left until the 1 reaches the last position (B3).
  2. State 2: Switch direction and shift right until the 1 returns to the first position (B0).
  3. State 3: Reset – after 2 full cycles, reset the 1 back to B0.
+1 vote
by ErnestThornton
October 10, 2024

Answer by KimberlyJReynolds

I appreciate you sharing those insights on resetting the bidirectional shift register. Your breakdown of the process, including the use of control signals, the design considerations for recirculating the '1', and the FSM implementation, is incredibly helpful. It provides a clear roadmap for managing the LED shifting cycles effectively. This approach will definitely enhance the Christmas controller project! Being a student in Environmental Science, I had a lot of coursework piling up, and I didn’t know how I was going to get everything done. I decided to use https://ukwritings.com/do-my-coursework to help with one of my assignments, and I’m so glad I did! The writer was professional and delivered high-quality work. The paper was well-organized and insightful, which helped me secure a good grade. I’ll definitely be using this service again.

+1 vote
by KimberlyJReynolds
October 19, 2024

Your Answer

You must log in or create an account (free!) to answer a question.

Log in Create an account


Go Ad-Free. Activate your CircuitLab membership. No more ads. Save unlimited circuits. Run unlimited simulations.

Search Questions & Answers


Ask a Question

Anyone can ask a question.

Did you already search (see above) to see if a similar question has already been answered? If you can't find the answer, you may ask a question.


About This Site

CircuitLab's Q&A site is a FREE questions and answers forum for electronics and electrical engineering students, hobbyists, and professionals.

We encourage you to use our built-in schematic & simulation software to add more detail to your questions and answers.

Acceptable Questions:

  • Concept or theory questions
  • Practical engineering questions
  • “Homework” questions
  • Software/hardware intersection
  • Best practices
  • Design choices & component selection
  • Troubleshooting

Unacceptable Questions:

  • Non-English language content
  • Non-question discussion
  • Non-electronics questions
  • Vendor-specific topics
  • Pure software questions
  • CircuitLab software support

Please respect that there are both seasoned experts and total newbies here: please be nice, be constructive, and be specific!

About CircuitLab

CircuitLab is an in-browser schematic capture and circuit simulation software tool to help you rapidly design and analyze analog and digital electronics systems.