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