Skip to main content

17. Декодер 74HC138

17. Декодер 74HC138

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

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

Что такое декодер?

Декодер преобразует N-битный код в $2^N$ выходных линий, из которых активна только одна.

    Адрес (3 бита)        Выходы (8 линий)
    ┌───┐               ┌─────────────────┐
    │ A │               │ Y0 Y1 Y2 ... Y7 │
    │ B │───Декодер────►│  ↓              │
    │ C │   3:8         │ только одна     │
    └───┘               │ активна!        │
                        └─────────────────┘

Таблица истинности (3:8)

CBAY0Y1Y2Y3Y4Y5Y6Y7
00001111111
00110111111
01011011111
01111101111
10011110111
10111111011
11011111101
11111111110

Выходы активны в LOW (0 = выбран).

Декодер vs Мультиплексор

MUXДекодер
Много входов → один выходОдин вход (адрес) → много выходов
“Выбрать данные”“Выбрать устройство”
Направление: входы → выходНаправление: адрес → выбор

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

Распиновка

        ┌───────────────────┐
    A ──┤ 1          16 ├── VCC
    B ──┤ 2          15 ├── Y0
    C ──┤ 3   74HC138 14 ├── Y1
  G2A ──┤ 4          13 ├── Y2
  G2B ──┤ 5          12 ├── Y3
   G1 ──┤ 6          11 ├── Y4
   Y7 ──┤ 7          10 ├── Y5
  GND ──┤ 8           9 ├── Y6
        └───────────────────┘
ПинНазваниеОписание
A, B, CAddress3 бита адреса
Y0-Y7Outputs8 выходов (active LOW)
G1EnableHIGH для работы
G2A, G2BEnableLOW для работы

Условие работы

Декодер активен когда: G1 = 1 AND G2A = 0 AND G2B = 0

Иначе все выходы = HIGH (ничего не выбрано).


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

Компоненты

КомпонентКоличество
74HC1381
DIP-переключатель 3-поз1
LED8
Резистор 330 Ом8

Схема

    Адрес:
    A (Pin 1) ── DIP бит 0
    B (Pin 2) ── DIP бит 1
    C (Pin 3) ── DIP бит 2
    
    Enable:
    G1  (Pin 6) ── VCC (HIGH)
    G2A (Pin 4) ── GND (LOW)
    G2B (Pin 5) ── GND (LOW)
    
    Выходы (с подтяжкой к VCC через LED):
    Y0 (Pin 15) ── [330Ω] ── LED ── VCC
    Y1 (Pin 14) ── [330Ω] ── LED ── VCC
    Y2 (Pin 13) ── [330Ω] ── LED ── VCC
    Y3 (Pin 12) ── [330Ω] ── LED ── VCC
    Y4 (Pin 11) ── [330Ω] ── LED ── VCC
    Y5 (Pin 10) ── [330Ω] ── LED ── VCC
    Y6 (Pin 9)  ── [330Ω] ── LED ── VCC
    Y7 (Pin 7)  ── [330Ω] ── LED ── VCC
💡 LED к VCC
Поскольку выходы active LOW, LED подключаем между выходом и VCC (через резистор). Когда выход = LOW, LED горит!

Тестирование

CBAАдресГорящий LED
0000LED 0
0011LED 1
0102LED 2
0113LED 3
1004LED 4
1015LED 5
1106LED 6
1117LED 7

💡 Применения декодера

1. Адресация памяти

    Адрес [15:13] ─── Декодер ─┬── RAM  (000)
                               ├── ROM  (001)
                               ├── I/O  (010)
                               └── ...

2. Выбор устройства

    [CPU] ── Адрес ── [Декодер] ─┬── Chip Select → [RAM]
                                 ├── Chip Select → [UART]
                                 └── Chip Select → [GPIO]

3. 7-сегментный дисплей

    BCD код ─── Декодер ─── 7 сегментов
    (0-9)       4:10        (a,b,c,d,e,f,g)

4. Демультиплексор

Декодер + данные = демультиплексор (один вход → много выходов).


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

Сколько выходов у декодера 4:16?

Ответ: 16 выходов ($2^4 = 16$)

Адрес = 101₂. Какой выход активен?

Ответ: Y5 (101₂ = 5)

Почему выходы 74HC138 active LOW?

Ответ: Для совместимости с Chip Select входами памяти и удобства wired-AND соединения


✅ Чеклист

  • Понимаю принцип декодирования
  • Знаю распиновку 74HC138
  • Собрал схему с LED-индикацией
  • Понимаю enable-сигналы

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

18. 🏆 Проект: Калькулятор →