8x8 Led Matrix powered by 74HC595

Hello. I am trying to control 3 led matrices using 4 74HC595 shift registers. This a smaller prototype for a larger project I plan on building. To use less resistors I have wired to anode to do the multiplexing. My problem is that the bits don’t shift correctly.

The image is wired like so:

MR (active low) = wired to all four shift registers
STCP (Clock) = wired to all four shift registers
SHCP (Latch) = wired to all four shift registers
DIN (Serial Input) = wired to the shift register #1
Q7S (Serial Output) = Wired from shift register #1 to DIN of #2. Q7S of #2 to DIN of #3…ect

//Variables//
//PIN NUMBERS
int MASTER_RESET = 4;
int SHCP = 5;
int STCP = 7;
int DISPLAY_INPUT = 6;

//VALUES

int delayTime = 25;

//Main Methods//
void setup(){
pinMode(MASTER_RESET, OUTPUT);
pinMode(SHCP, OUTPUT);
pinMode(STCP, OUTPUT);
pinMode(DISPLAY_INPUT, OUTPUT);

digitalWrite(MASTER_RESET, LOW);
digitalWrite(MASTER_RESET, HIGH);

}

//Methods//

void loop(){
//EACH 8x8 block of array controls 1 Shift register
//First block will refresh matrix, #1,2,3 will light up certain leds
//current array will turn all leds on
boolean num = {1,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
0,1,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
0,0,1,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
0,0,0,1,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
0,0,0,0,1,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
0,0,0,0,0,0,1,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0};

for(int i = 0; i < 8; i++){
for(int t = 0; t < 32; t++){
//LOAD 32 BIT BINARY CODE
digitalWrite(DISPLAY_INPUT, num[t+(i*32)]);
digitalWrite(STCP, HIGH);
digitalWrite(STCP, LOW);
}
//OUTPUT 32 BITS
digitalWrite(SHCP, HIGH);
digitalWrite(SHCP, LOW);
delay(delayTime);
}

}

Any help would be appreciated. Thanks!

You are "bashing your head against a wall" on this one.

It's all very well playing around with 74HC595s to control one 8 by 8 matrix as an exercise, but it really is "playing around". You seem to want to do some serious work with them. By the time you add the necessary buffer transistors or more ICs, and more shift registers, and resistors, you will have wasted a lot of time and frankly, money.

If you are serious, go get some MAX7219s. Even better, just chase up the proper modules on eBay. (Most of us have found "Alice" to be very reliable and not selling junk.)

Yes, MAX7219s and Parola library.

Otherwise, post a schematic. Your picture doesn't have nearly enough wires.
Looks like your plan is to bit-bang out 32-bits, and repeat that 8 times?
Why not use SPI.transfer() 4 times instead and take advantage of the high speed hardware built into the '328P?