Сдвиговый регистр
Сдвиговый регистр принимает данные по одному биту и выдаёт их сразу на всех выходах — или наоборот. Так несколькими выводами микроконтроллера управляют десятками светодиодов, реле и индикаторов.
Обновлено Редакция GAW
Сдвиговый регистр — цепочка триггеров, в которой по каждому тактовому импульсу содержимое каждого разряда переходит в следующий, а в первый записывается бит со входа. После восьми тактов восьмиразрядный регистр содержит байт, переданный по одному проводу.
Чаще всего в схемах с микроконтроллером встречается регистр с последовательным входом и параллельными выходами — например, 74HC595. По даташиту onsemi в нём два независимо тактируемых блока: 8-битный сдвиговый регистр и 8-битная защёлка с выходами, у которых есть третье состояние. Бит со входа данных вдвигается по нарастающему фронту такта сдвига, а фронт такта защёлки переносит весь регистр на выходы. Последний разряд выведен отдельно — это последовательный выход для каскадирования: соединив его со входом следующей микросхемы, получают регистр на 16, 24 и более бит с теми же тремя управляющими линиями.
Такая схема удобна для светодиодов, семисегментных индикаторов и реле, когда выводов микроконтроллера не хватает. Передачу удобно вести аппаратным SPI: вход данных — на MOSI, такт — на SCK. Выводы, временные требования, токи и каскадирование разобраны в карточке 74HC595, а устройство триггеров и логических элементов — в статье «Цифровая логика».
Частые вопросы
Зачем нужен сдвиговый регистр?
Чтобы получить много выходов из нескольких выводов микроконтроллера. 74HC595 даёт 8 выходов по трём линиям — данным, такту и защёлке, — а цепочка из N микросхем даёт 8 · N выходов по тем же трём линиям. Регистр с параллельным входом и последовательным выходом решает обратную задачу — читает много кнопок.
Зачем в 74HC595 защёлка?
Чтобы выходы не менялись, пока биты вдвигаются в регистр. Сдвиговый регистр и защёлка тактируются отдельно: восемь тактов сдвига заполняют регистр, а один импульс на тактовом входе защёлки переносит весь байт на выходы одновременно.
Можно ли управлять сдвиговым регистром через SPI?
Да. Вход данных подключают к MOSI, такт сдвига — к SCK, и байт уходит одной транзакцией SPI; onsemi указывает, что 74HC595 подключается к SPI микроконтроллера напрямую. Защёлку тактируют отдельным выводом после передачи.
Источники
- onsemi. MC74HC595A, MC74HCT595A: 8-Bit Serial-Input/Serial or Parallel-Output Shift Register with Latched 3-State Outputs (MC74HC595A/D, Rev. 27, February 2025) — сдвиговый регистр на 8 бит и защёлка с независимыми тактами, таблица функций, подключение к SPI
- Texas Instruments. SN54HC595, SN74HC595 8-Bit Shift Registers With 3-State Output Registers (SCLS041J, revised October 2021) — последовательный выход QH' для каскадирования, выходы с третьим состоянием
Нашли ошибку?
Смотрите также
- 74HC595Сдвиговый регистр на 8 выходов: выводы, SPI, каскад, токи, уровни
- SPISCLK, MOSI, MISO, CS, режимы 0–3, daisy chain, частота, SPI в AVR
- Семисегментные индикаторыОбщий анод и катод, коды 0–F, резисторы, мультиплексирование разрядов
- Цифровая логикаВентили, таблицы истинности, СДНФ, карты Карно, мультиплексор, защёлка, триггер, регистр