If you want to find out how this works
Start studying a pic pic micro controller with serial input routines and how to out put data to parrallel output
Esentially you clock data in to an input using a clock pulse So for example lets say we have an 8 bit word
Imagine this as a pipe that your going to put marbles into but you can only put a marble into the pipe if say clock 1 then you wait till I say clock 2 you can then put your next marble in the pipe
There are two colours of marbles only red and blue
the red marbles represent Zeros the blue marbles represent ones
Hence we have a an 8 bit word which is stored in a chamber
EG 1000 1010 which is hex 8A or in computer notation we say 0x8A thats how we write this
or in decimal this would be 138
In the above word the marble colours would be
blue , red , red , red Blue , red , blue , red
1 0 0 0 1 0 1 0
starting with the least significant bit extreme right hand bit which is zero in this case We would clock this into a register which is an 8 bit empty box or if you like a imagine a box with 8 compartments inside This is your storage register
We have a counter set up for this as well this counts all 8 bits of our word and serves as a clock pulse counter too
So first clock pulse on the rising edge we put bit zero into compartment 1 of our box eg 0 in this case
Increment counter Counter now = 1
Next clock pulse
Rises from zero volts to plus five volts
we put the second bit into compartment 2 of our box eg 1 in this case
Increment counter Counter now = 2
Next clock pulse
In our word moving from right to left we put 0 into compartment 3 of our box eg 0 in this case
Increment counter Counter now = 3
Next clock pulse
In our word moving from right to left we put 0 into compartment 4 of our box eg 1 in this case
Increment counter Counter now = 4
We do this for all 8 bits
In the end after counter = 8 we wind up with a box our storage register if you like that holds our binary word
If you could see this physically it would look like this
[code]
' *************** this is the clock pulse *******************
'clk 8 clk 7 clk 6 clk 5 clk4 clk 3 clk 2 clk 1
'bit 7 Bit 6 Bit 5 Bit 3 Bit 3 Bit 2 Bit 1 Bit 0
' *************** This is our storage register **************
'| 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
'