Skip to main content

23. Сдвиговый регистр 74HC595

23. Сдвиговый регистр 74HC595

🎯 Цель урока
Понять сдвиговые регистры — преобразование последовательных данных в параллельные.

🧠 Фаза 2: Теория (15 мин)

Что такое сдвиговый регистр?

Сдвиговый регистр — цепочка D-триггеров, где выход каждого подключён к входу следующего.

    Serial In ─► [D-FF]─►[D-FF]─►[D-FF]─►[D-FF]─► Serial Out
                   │       │       │       │
                   Q₃      Q₂      Q₁      Q₀
                   
    По каждому CLK данные "сдвигаются" на одну позицию

Временная диаграмма

    CLK    ▁█▁█▁█▁█▁█▁█▁█▁█▁
              1  2  3  4  5  6  7  8
    
    SER IN ▁██▁▁██▁▁   (вводим 11001100)
    
    После 8 тактов:
    Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 = 1 1 0 0 1 1 0 0

Типы сдвиговых регистров

ТипВходВыходПример
SIPOSerialParallel74HC595
PISOParallelSerial74HC165
SISOSerialSerialЛиния задержки
PIPOParallelParallelОбычный регистр

📦 Микросхема 74HC595

74HC595 — 8-битный сдвиговый регистр SIPO с защёлкой на выходе.

Распиновка

        ┌───────────────────┐
   QB ──┤ 1          16 ├── VCC
   QC ──┤ 2          15 ├── QA
   QD ──┤ 3   74HC595 14 ├── SER
   QE ──┤ 4          13 ├── ~OE
   QF ──┤ 5          12 ├── RCLK
   QG ──┤ 6          11 ├── SRCLK
   QH ──┤ 7          10 ├── ~SRCLR
  GND ──┤ 8           9 ├── QH'
        └───────────────────┘
ПинНазваниеОписание
SERSerial InputПоследовательный вход данных
SRCLKShift ClockТакт сдвига
RCLKLatch ClockТакт защёлки (вывод на QA-QH)
~SRCLRClearСброс регистра (LOW)
~OEOutput EnableРазрешение выхода (LOW)
QA-QHOutputs8 параллельных выходов
QH'Serial OutДля каскадирования

Двойная буферизация

    SER ─► [Сдвиговый регистр 8 бит] ─► [Защёлка 8 бит] ─► QA-QH
                     │                        │
                  SRCLK                    RCLK
                     
    1. Вводим данные по SRCLK (QA-QH не меняются!)
    2. Фиксируем по RCLK → данные появляются на QA-QH

Это позволяет загрузить новые данные без мерцания выходов!


🔧 Фаза 3: Собираем (25 мин)

Компоненты

КомпонентКоличество
74HC5951
Кнопки3 (SER, SRCLK, RCLK)
LED8
Резистор 330 Ом8

Схема

    SER (Pin 14)    ── Кнопка DATA (подтяжка к GND)
    SRCLK (Pin 11)  ── Кнопка SHIFT (подтяжка к GND)
    RCLK (Pin 12)   ── Кнопка LATCH (подтяжка к GND)
    
    ~SRCLR (Pin 10) ── VCC (не сбрасывать)
    ~OE (Pin 13)    ── GND (выходы всегда активны)
    
    QA (Pin 15) ── [330Ω] ── LED ── GND
    QB (Pin 1)  ── [330Ω] ── LED ── GND
    QC (Pin 2)  ── [330Ω] ── LED ── GND
    QD (Pin 3)  ── [330Ω] ── LED ── GND
    QE (Pin 4)  ── [330Ω] ── LED ── GND
    QF (Pin 5)  ── [330Ω] ── LED ── GND
    QG (Pin 6)  ── [330Ω] ── LED ── GND
    QH (Pin 7)  ── [330Ω] ── LED ── GND

Проверка: Вводим число 10110001

  1. Бит 7 (старший): SER=1, нажми SRCLK
  2. Бит 6: SER=0, нажми SRCLK
  3. Бит 5: SER=1, нажми SRCLK
  4. Бит 4: SER=1, нажми SRCLK
  5. Бит 3: SER=0, нажми SRCLK
  6. Бит 2: SER=0, нажми SRCLK
  7. Бит 1: SER=0, нажми SRCLK
  8. Бит 0: SER=1, нажми SRCLK

LED пока НЕ изменились!

  1. Нажми RCLK → LED показывают 10110001 🎉

🔬 Каскадирование

Соедини несколько 74HC595 для 16, 24, 32… бит:

    SER ─► [74HC595 #1] ─► QH' ─► [74HC595 #2] ─► QH' ─► ...
                │                      │
             SRCLK───────────────────SRCLK (общий!)
             RCLK────────────────────RCLK  (общий!)

16 бит = 16 сдвигов, затем один импульс RCLK.


💡 Применения

1. Расширение GPIO

Микроконтроллер с 3 пинами управляет 8+ выходами!

    MCU Pin 1 ── SER
    MCU Pin 2 ── SRCLK   ──► [74HC595] ──► 8 LED
    MCU Pin 3 ── RCLK

2. LED-матрицы и дисплеи

    [MCU] ─3 провода─► [8× 74HC595] ─► [8×8 LED Matrix]
                                        64 светодиода!

3. Индикаторные панели

Много 7-сегментных индикаторов через каскад 595.


📝 Мини-задания

Сколько проводов нужно для управления 74HC595?

Ответ: 3 провода (SER, SRCLK, RCLK) + питание

Зачем нужен RCLK отдельно от SRCLK?

Ответ: Чтобы загружать данные без мерцания выходов (двойная буферизация)

Как сделать 24-битный выход?

Ответ: Каскадировать 3 штуки 74HC595 (QH’ → SER следующего)


✅ Чеклист

  • Понимаю принцип сдвигового регистра
  • Знаю распиновку 74HC595
  • Собрал схему и ввёл данные последовательно
  • Понимаю двойную буферизацию

➡️ Следующий урок

24. Счётчик →