>Brooke asked: >> >>I would like to use a few 74HC595 shift registers to get 24 bits >>of latched data output. Could someone help me with the correct >> Does this device have a Data Out pin for data that overflows the shift register? If so, they can be daisy-chained together: the processor to the data in pin of the first shift register, the data out of the first to the data in of the second, etc... tie all the clock and load lines together, and rotate all three bytes out on the pin. Something like this: mov COUNTER, #24 ;we're going to rotate 24 bits LOOP rl BYTE3 ;rotate byte 3. MSB goes into carry bit. rl BYTE2 ;carry goes into LSB, MSB goes into carry rl BYTE1 ;same idea movb C,DATAOUTPIN ;move carry bit to the output pin setb CLOCKPIN ;strobe the clock pin clrb CLOCKPIN djnz COUNTER,LOOP ;repeat for all 24 bits setb LOADPIN ;strobe the load pin clrb LOADPIN This is written in Parallax's version of the instruction set but shouldn't be too hard to follow. the 'djnz' instruction is decrement and jump if not zero, and like many of the mnemonics compiles into several opcodes. Obviously, BYTE1, BYTE2, and BYTE3 are the data bytes to shift into the shift registers, and DATAOUTPIN, CLOCKPIN, and LOADPIN are the output pins that go to the data, clock, and load inputs to the shift register. COUNTER should be self-explanatory. No guarantees on the code as written, it's off the top of my head, but the idea is sound-- I used it to drive a Maxim 7219 LED display driver, and it's blinking away here next to my desk. (And the temperature in my bedroom is 70 degrees F, if you are at all curious.) Hope this is useful to someone. -Matt "DOS Computers manufactured by companies such as IBM, Compaq, Tandy, and millions of others are by far the most popular, with about 70 million machines in use wordwide. Macintosh fans, on the other hand, may note that cockroaches are far more numerous than humans, and that numbers alone do not denote a higher life form."