Hi,
I have been using the 74HC595 8 bit shift register to control LED's and other IC's. When shifting out 8 bits the register works perfectly, however, when I try to cascade them in series so that I can control, say 16 lines, the output of the first register going into the next isn't what's supposed to be. Specifically, when shifting out say, 1101 it would shift out only 111, it skips the 0. However, if I shift out 11001, it would shift out 1101.
In order to make sure that none of my other components are responsible I have been looking at a circuit that contains "only" a single 595, no other components (except a lm7805). I have been looking at the 4 control lines and one output line.
Using this symbolism http://www.onsemi.com/pub_link/Collateral/MC74HC595A-D.PDF I tied OE to ground. Output lines Qa-Qh are open. I'm looking at SQh, latch, shift clock, reset and A (din). As I said when shifting only 8 bits to outputs Qa-Qh it works fine, so my clocking must be fine. Anyway, here is the problem.
I reset the 595, then I start clocking in data into the shift register at A on each + edge. After 8 clock cycles, the data starts appearing at the SQh output. From the data sheet you'd expect that whatever has been at A will appear 8 cycles later at SQh, in order. But what happens, say I clock in 10101010 11111111 I actually observe at SQh 11110000. If I clock in 1001001001.... I'll get 10101... Somehow, the zeros are lost. On the other hand, if I clock in 1000 0000 00..... I will get the correct output
The interesting thing is that after trying many different input patterns, I still couldn't predict what the output will be, nonetheless, for a given input pattern, the output pattern at SQh would always be the same. I tried clocking at 9600, I even tried doing it manually from my PC at very low speed. I tried the chip from both ON and fairchild semi, but the output would always be the same but unpredictable.
I have tried as input to the 595 different IC's. I have tried the ftdi ft232R as well NI's DAQ.
I am wondering if anyone ever cascaded these chips and ever got it to work. At this point I'm thinking that maybe the chip itself is bad, although I tried at least 4.
I would really appreciate any suggestions as to what could be wrong or a simillar chip that has been tried and works, although the pinout would have to be similar.
Thanks,
Matt
I have been using the 74HC595 8 bit shift register to control LED's and other IC's. When shifting out 8 bits the register works perfectly, however, when I try to cascade them in series so that I can control, say 16 lines, the output of the first register going into the next isn't what's supposed to be. Specifically, when shifting out say, 1101 it would shift out only 111, it skips the 0. However, if I shift out 11001, it would shift out 1101.
In order to make sure that none of my other components are responsible I have been looking at a circuit that contains "only" a single 595, no other components (except a lm7805). I have been looking at the 4 control lines and one output line.
Using this symbolism http://www.onsemi.com/pub_link/Collateral/MC74HC595A-D.PDF I tied OE to ground. Output lines Qa-Qh are open. I'm looking at SQh, latch, shift clock, reset and A (din). As I said when shifting only 8 bits to outputs Qa-Qh it works fine, so my clocking must be fine. Anyway, here is the problem.
I reset the 595, then I start clocking in data into the shift register at A on each + edge. After 8 clock cycles, the data starts appearing at the SQh output. From the data sheet you'd expect that whatever has been at A will appear 8 cycles later at SQh, in order. But what happens, say I clock in 10101010 11111111 I actually observe at SQh 11110000. If I clock in 1001001001.... I'll get 10101... Somehow, the zeros are lost. On the other hand, if I clock in 1000 0000 00..... I will get the correct output
The interesting thing is that after trying many different input patterns, I still couldn't predict what the output will be, nonetheless, for a given input pattern, the output pattern at SQh would always be the same. I tried clocking at 9600, I even tried doing it manually from my PC at very low speed. I tried the chip from both ON and fairchild semi, but the output would always be the same but unpredictable.
I have tried as input to the 595 different IC's. I have tried the ftdi ft232R as well NI's DAQ.
I am wondering if anyone ever cascaded these chips and ever got it to work. At this point I'm thinking that maybe the chip itself is bad, although I tried at least 4.
I would really appreciate any suggestions as to what could be wrong or a simillar chip that has been tried and works, although the pinout would have to be similar.
Thanks,
Matt