Author Topic: shift register tutorial  (Read 3847 times)

0 Members and 1 Guest are viewing this topic.

Offline blackjames

  • Regular Contributor
  • *
  • Posts: 78
shift register tutorial
« on: August 18, 2012, 11:13:17 am »
hello dave and forum members, for a while i have been trying to learn how shift registers work, especially the 74HC595N 8 bit chip. im sure many people would love it if dave did a tutorial about them, and i plan to use these with an arduino uno. please consider this idea, maby before you go on holidays.

Offline Christopher

  • Frequent Contributor
  • **
  • Posts: 429
  • Country: gb
Re: shift register tutorial
« Reply #1 on: August 18, 2012, 11:44:01 am »
Look at the datasheet! All the info you need.

Offline cwalex

  • Frequent Contributor
  • **
  • Posts: 302
  • Country: au
Re: shift register tutorial
« Reply #2 on: August 18, 2012, 11:53:09 am »
I wouldn't mind seeing a tutorial on shift registers. I love the way Dave presents the tutorials.

Online Rerouter

  • Super Contributor
  • ***
  • Posts: 4463
  • Country: au
  • Question Everything... Except This Statement
Re: shift register tutorial
« Reply #3 on: August 18, 2012, 12:03:10 pm »
just to try and help you along, a shift register is effectivly n amounts of set/reset latches in a row, that all unlock and store a new value when the clock pusle rises (on most) so say you feed a 1 into the serial input and clock it once, you would then see a 1 appear on the first bits output, this is known as serial in, parrellel out,

each time you raise the clock, all the bits will shift to the next, so if you fed a 0 in on the next pulse, you would have a 0 on the first bit and a 1 now on the second, you can also use them as parrellel in serial out, say you have 8bits on your shift register, and feed it 8 inputs, say 11001010, and have your micro reading the value given out on the last bits output, so you raise the clock to latch them all then remove your input (otherwise your 8 bits would keep being overwritten by the parrelel input) and then 1 by one read with your micro what each bit is following raising the clock, shifting them all along, so on the first you see a 0, second a 1 third a 0 and so on,

input and output latches on these are common, so you can capture all the bits then read them off, and so you can shift in what you want to output then latch that output, as the 2 common uses,

there is also parrelle in parrellel out and serial in and serial out, these are just a little harder to explain there purpose,

due to there nature of shifting bits across, you can effectivly tie as many of them as you want the only downside to it is the time it takes to clock in our out your bits, 

Offline cloudscapes

  • Regular Contributor
  • *
  • Posts: 198
Re: shift register tutorial
« Reply #4 on: August 18, 2012, 01:43:29 pm »

Offline ratdude747

  • Regular Contributor
  • *
  • Posts: 94
  • Country: us
Re: shift register tutorial
« Reply #5 on: August 19, 2012, 06:35:46 am »
They are pretty simple.

Here is how they work:

When the chip is first powered on, all 8 outputs are 0.

You have two inputs, one is a clock, one is a data.

At each clock pulse (IIRC rising edge), whatever is at the data input is assigned to the first output. the second output becomes what the first output was, the third becomes what the second one was, and so on. The previous value of the eighth output is lost (sent to the bit bucket).

A common use of these is in Multi-character displays. For instance, lets pretend we are using an 8 character, 1 line 7-segment display, common cathode (a 1 turns on the segment). You would have 8 shift registers, one for each segment (including the decimal point). each output would correspond to a character on the display. What the shift register would do is let you scroll characters across the display, one character per clock pulse. The reason that common cathode is important is so that when you start you get a blank display, not a fully lit display.

I hope that makes sense.

Offline SpiderElectronics

  • Contributor
  • Posts: 32
Re: shift register tutorial
« Reply #6 on: August 21, 2012, 08:37:34 am »
>You have two inputs, one is a clock, one is a data.

Many also have a third input, 'latch' which doesn't latch the output of the flipflops to the output butters until you raise the latch signal, thus avoding seeing your 8-bits ripple across all outputs. This allows you to clock in 8 bits of data without changing the outputs until you have all 8-bits in place. This is common when using the latch to drive LEDs for example so you don't get flicker on the leds.

Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo