Семисегментные индикаторы и BCD-декодирование
← Все статьи

Семисегментные индикаторы и BCD-декодирование

5 мин

Анатомия цифры

Семисегментный индикатор — это семь независимо зажигаемых полосок, обычно обозначаемых буквами от a до g и расположенных в виде восьмёрки. Зажигая нужное подмножество сегментов, можно отобразить любую цифру от 0 до 9 (а при определённой разводке — и A–F для шестнадцатеричных чисел). Каждый сегмент управляется собственным сигналом — единого «значения» нет, есть только семь независимых линий вкл/выкл.

feabgcd

От BCD к сегментам

Декодер из BCD в семисегментный код принимает 4-битное двоично-десятичное число (от 0000 до 1001) и выдаёт семь выходов, по одному на сегмент. Каждый из этих семи выходов — своя булева функция от 4 входных битов, которую можно вывести так же, как и любую другую: составить таблицу истинности, затем упростить с помощью карты Карно.

  • Например, сегмент a горит для цифр 0, 2, 3, 5, 6, 7, 8, 9 и не горит только для 1 и 4 — обычная таблица истинности на 10 строк.

Элемент SEG7 в Boolflow

В Boolflow есть готовый блок SEG7, который целиком выполняет это декодирование внутри себя — подайте на него 4-битное значение BCD, и он напрямую зажжёт нужные сегменты, без единого вентиля. Точную распиновку смотрите в справке.

Собираем видимый счётчик

Подключите выход 4-битного счётчика прямо к блоку SEG7 и подайте тактовый сигнал счётчика с элемента CLOCK: индикатор начнёт вживую считать от 0 до 9 и переполняться в редакторе схем — небольшой, но наглядный способ увидеть, как двоичный счёт превращается в читаемое число.

Подключить SEG7 к счётчику →