Skip to main content

15. Компаратор 74AC521

15. Компаратор 74AC521

🎯 Цель урока
Научиться сравнивать числа с помощью компаратора.

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

Зачем сравнивать?

  • Условные переходы: if (A == B) then ...
  • Сортировка
  • Поиск
  • Ограничения: if (temp > 100) alarm()

Виды сравнения

ОперацияСимволПример
РавноA = B5 = 5 → Да
Не равноA ≠ B5 ≠ 3 → Да
БольшеA > B7 > 3 → Да
МеньшеA < B2 < 5 → Да
Больше или равноA ≥ B5 ≥ 5 → Да
Меньше или равноA ≤ B3 ≤ 7 → Да

Как сравнить два бита?

A = B:

ABA = B?
001
010
100
111

Это XNOR (NOT XOR)!

$$A = B \Leftrightarrow \overline{A \oplus B}$$

Сравнение многобитных чисел

A = B, если все биты равны:

$$(A_3 = B_3) \land (A_2 = B_2) \land (A_1 = B_1) \land (A_0 = B_0)$$

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

74AC521 — 8-битный компаратор на равенство.

Распиновка

        ┌───────────────────┐
   OE ──┤ 1          20 ├── VCC
   A0 ──┤ 2          19 ├── A=B (выход)
   B0 ──┤ 3          18 ├── A7
   A1 ──┤ 4   74AC521 17 ├── B7
   B1 ──┤ 5          16 ├── A6
   A2 ──┤ 6          15 ├── B6
   B2 ──┤ 7          14 ├── A5
   A3 ──┤ 8          13 ├── B5
   B3 ──┤ 9          12 ├── A4
  GND ──┤ 10         11 ├── B4
        └───────────────────┘
ПинНазваниеОписание
A0-A7Input AПервое число (8 бит)
B0-B7Input BВторое число (8 бит)
A=BOutputLOW когда A = B
OEOutput EnableLOW для активации
⚠️ Инверсный выход!

Выход A=B активен в LOW!

  • A = B → выход = 0 (LED горит через подтяжку)
  • A ≠ B → выход = 1 (LED не горит)

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

Компоненты

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

Схема (4-битное сравнение)

    DIP A ────────────── A0-A3 (Pins 2,4,6,8)
    DIP B ────────────── B0-B3 (Pins 3,5,7,9)
    
    A4-A7 (Pins 12,14,16,18) ── GND (не используем)
    B4-B7 (Pins 11,13,15,17) ── GND
    
    OE (Pin 1) ── GND (всегда активен)
    
    A=B (Pin 19) ──┬── [330Ω] ── LED ── VCC
                   │            (подтяжка к VCC!)
                   └── (LOW = равно)

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

ABA=B (Pin 19)LED
0101 (5)0101 (5)LOW🟢 Горит
0101 (5)0011 (3)HIGH🔴 Не горит
1111 (15)1111 (15)LOW🟢 Горит
0000 (0)0001 (1)HIGH🔴 Не горит

💡 Сравнение “больше/меньше”

Через вычитание

$$A > B \Leftrightarrow (A - B) > 0$$

Используй сумматор в режиме вычитания:

  • Если результат положительный и не ноль → A > B
  • Если C₄ = 0 при вычитании → A < B

Специализированные компараторы

74HC85 — 4-битный компаратор с выходами A>B, A=B, A<B

        ┌───────────────────┐
   B3 ──┤ 1          16 ├── VCC
  A<B ──┤ 2          15 ├── A3
  A=B ──┤ 3   74HC85  14 ├── B2
  A>B ──┤ 4          13 ├── A2
 A>Bi ──┤ 5          12 ├── A1
 A=Bi ──┤ 6          11 ├── B1
 A<Bi ──┤ 7          10 ├── A0
  GND ──┤ 8           9 ├── B0
        └───────────────────┘

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

Какая логическая операция проверяет равенство двух битов?

Ответ: XNOR (NOT XOR) — даёт 1 когда биты равны

Почему выход 74AC521 инверсный?

Ответ: Для совместимости с TTL и возможности объединения (wired-AND)

Как проверить A > B?

Ответ: Вычесть B из A и проверить знак результата


✅ Чеклист

  • Понимаю как работает сравнение
  • Знаю распиновку 74AC521
  • Собрал схему сравнения
  • Понимаю инверсный выход

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

16. Мультиплексор →