Skip to content

3.7 · Сдвиговый регистр

Цель. Освоить сдвиг: биты передаются по одному проводу и раскладываются в байт. Три провода управляют восемью (а потом и сотней) светодиодов.

🎣 Крючок (5 мин)

«Гирлянда на 100 огней, а проводов к ней — три. Прогноз: как по одному проводу передать сто разных состояний?»

🧠 Теория (10 мин)

Сдвиговый регистр — цепочка триггеров, где выход каждого соединён со входом следующего. Каждый фронт — все биты дружно шагают на позицию, а в освободившийся первый триггер входит новый бит с последовательного входа. 8 тактов — и байт «вполз» целиком.

74HC595 = сдвиговый регистр + выходная защёлка: пока байт вползает, наружу видна прежняя картинка; команда «защёлкнуть» (пин 12, RCLK) показывает новую разом, без мельтешения. Управление: DS (данные), SHCP (такт сдвига), STCP=RCLK (защёлкнуть) — те самые три провода гирлянды.

🔧 Практика (25 мин)

Ручной ввод байта

DS — кнопка-данные, SHCP — кнопка-такт (антидребезг!), RCLK соединить с SHCP через… пока просто с кнопкой такта параллельно (картинка будет отставать на 1 такт — заметите?). Выходы → LED-линейка. «Вбейте» побитно узор 10110001.

Бегущий огонь ⭐⭐

DS → +5 В на один такт, потом → GND; такты — от 555 (~4 Гц). Одинокая единица бежит по линейке. Подайте DS с выхода Q7’ (пин 9) — огонь закольцевался!

⭐⭐⭐ Каскад

Второй 74HC595: Q7’ первого → DS второго, такты общие. 16 LED, три провода управления. Теперь понятен принцип гирлянды на сотни огней (и лент WS2812, где та же идея упакована в каждый светодиод).

✅ Чек-лист

  • Объясняю сдвиг и зачем выходная защёлка
  • Ввёл байт вручную по одному проводу
  • ⭐⭐ Запустил бегущий огонь от 555