приведу логический пример. Еще раз. Но более полно.
1) "Снимаем = ставим в 0" защелку (пин ST_CP всех
hc595). Они, сохраняя прежнее состояние выходов, готовы к загрузке новых данных.
2) Передаем байт. Например 0b00001000 -
2.1) ставим data в 0 (передаем первый ноль) - ставим-снимаем CLOCK. Дергание CLOCK дает знать HC595-й о том, что состояние пина data есть бит (в нашем случае первый из байта)
2.2) повторяем 2.1 еще два раза (уходят биты 000 справа-налево)
2.3) ставим data в 1 и дергаем CLOCK (уходит единичка
2.4) передаем как в 2.1 оставшиеся нули
Пункт 2 повторяется то число раз, сколько у нас последовательно hc595-х. Первый посланный байт попадает в дальнюю микросхему, последний - в ближнюю. Они побитно через q7 проталкивают данные "дальше" по конвейеру.
3) ставим защелку. Для всех hc595-х это сигнал - данные загружены, активируем их на ноги.
Байт читается (передается) справа-налево.