The second “for” cycle is used to display scrolling characters "0-F", totally 18*8=144 columns. Display the 0-
8 column, 1-9 column, 2-10 column...... 138-144 column in turn to achieve scrolling effect. The display of
each frame is repeated a certain number of times, and the more times the number of repetitions, the longer
the single frame display, the slower the rolling.
for(k=0;k<sizeof(data)-8;k++){ //sizeof(data) total number of "0-F" columns
for(j=0;j<20;j++){// times of repeated displaying LEDMatrix in every frame,
the bigger the “j”, the longer the display time
x=0x80; // Set the column information to start from the first column
for(i=k;i<8+k;i++){
digitalWrite(latchPin,LOW);
shiftOut(dataPin,clockPin,MSBFIRST,data[i]);
shiftOut(dataPin,clockPin,MSBFIRST,~x);
digitalWrite(latchPin,HIGH);
x>>=1;
delay(1);
}
}
}