3
\$\begingroup\$

I learned about shift registers a few weeks ago but I don't know why it is very important and everyone said that it is necessary for microcontroller, etc. Please make sense for me.

\$\endgroup\$
  • 2
    \$\begingroup\$ I feel that the uses section of Wikipedia does a good job at answering this question: en.wikipedia.org/wiki/Shift_register#Uses \$\endgroup\$ – Sergei_Grishin Nov 19 '14 at 7:46
  • \$\begingroup\$ i don't know what is serial and parallel interface exactly!so i don't realize that explicitly!please explain me simply :D \$\endgroup\$ – Panda Nov 19 '14 at 7:50
7
\$\begingroup\$

The applications of shift registers makes it important for microcontrollers. A few of the applications of shift registers are:

'Serial to Parallel' and 'Parallel to Serial' Conversion
Usually microprocessors and controllers handle data as bytes (8 bits) or words (16 bit, 32 bit .. ). But serial interfaces in them allow transmitting or receiving data as a series of bits (serial data). So there should be a mechanism that will convert the serial data into parallel data (or vice versa). The Serial-In-Parallel-Out (SIPO) and Parallel-in-Serial-Out (PISO) shift registers makes this possible.

Multipliers
The basic steps involved in binary multiplication is shifting and adding. Hence shift registers are a part of binary multipliers.

Registers to store data
Used in ALU's to store operands, intermediate results and final results.

\$\endgroup\$
  • \$\begingroup\$ Modern CPUs have single cycle multipliers and AVR MCUs take two cycles ( I don't know about the others ), so I don't think that shift registers are important for that anymore - they require as many cycles as bits you multiply. Similarly the shift instructions only take one cycle. So only your first is still true, the rest being barrel shift or similar logic. \$\endgroup\$ – Pete Kirkham Nov 19 '14 at 11:20
5
\$\begingroup\$

A real-world application of the serial-in/ parallel-out shift register is to output data from a microprocessor to a remote panel indicator. Or, another remote output device which accepts serial format data. enter image description here

The figure "Alarm with remote key pad" is repeated here from the parallel-in/ serial-out section with the addition of the remote display. Thus, we can display, for example, the status of the alarm loops connected to the main alarm box. If the Alarm detects an open window, it can send serial data to the remote display to let us know. Both the keypad and the display would likely be contained within the same remote enclosure, separate from the main alarm box. However, we will only look at the display panel in this section.

If the display were on the same board as the Alarm, we could just run eight wires to the eight LEDs along with two wires for power and ground. These eight wires are much less desirable on a long run to a remote panel. Using shift registers, we only need to run five wires- clock, serial data, a strobe, power, and ground. If the panel were just a few inches away from the main board, it might still be desirable to cut down on the number of wires in a connecting cable to improve reliability. Also, we sometimes use up most of the available pins on a microprocessor and need to use serial techniques to expand the number of outputs. Some integrated circuit output devices, such as Digital to Analog converters contain serial-in/ parallel-out shift registers to receive data from microprocessors. The techniques illustrated here are applicable to those parts.

Other applications below: enter image description here

\$\endgroup\$
  • \$\begingroup\$ It also have many such great applications \$\endgroup\$ – BASIL VARGHESE Nov 20 '14 at 5:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.