I am planning on using 2 x 74HC595s to drive the columns on a 12 x 12 matrix.
My question is how do I tell the 595s that there are 12 cycles to go through and then start again?
I can see how they are daisychained but from the sheet I don't get how to reset the count from any particular point, in my case after the 12th column has gone high.
I am assuming that I connect one of the outputs of the second 595 to something on the first but which output and where to. The sheet mentions that there are 2 clocks running and that if connected together that one will always be ahead of the other so would I use the 4th output on the second 595 to start the process anew or the 3rd one if one clock is ahead? Baffled.
hi Al,
Its a shift register, so you just issue a further 12 clocks for the next string, the old output bits in the S/R just get pushed along off the end so to speak.
Since the column driver needs only twelve states which recycle after the 12 state, I might use 12 flip-flops wired as a ring counter The 12 flip-flops are easy to decode, but you need lots of extra logic to steer the flops into the correct starting value (set one, clear the other 11).
You could also a four bit binary counter wired to count 0 to 11 (12 states out of a possible 16). The binary counter could be decoded with a 4 line to sixteen output decoder or 2ea 3 line to eight output decoders.
You could also use six flip-flops wired as a Johnson counter (12 states out of a possible 64). To decode this, you would use 12 XOR gates.