Дешифраторы двоичного кода в семисегментный. Декодеры

В этой статье мы поговорим о цифровой индикации.
Семисегментные светодиодные индикаторы предназначены для отображения арабских цифр от 0 до 9 (рис.1).

Такие индикаторы бывают одноразрядные, которые отображают только одно число, но семисегментных групп, объединенных в один корпус может быть и больше (многоразрядные). В этом случае цифры разделяются децимальной точкой (рис.2)


Рис.2.

Индикатор называется семисегментным из-за того, что отображаемый символ строится из отдельных семи сегментов. Внутри корпуса такого индикатора находятся светодиоды, каждый из которых засвечивает свой сегмент.
Буквы и другие символы на таких индикаторах отображать проблематично, поэтому для этих целей используются 16-сегментные индикаторы.

Светодиодные индикаторы бывают двух типов.
В первом из них все катоды, т.е. отрицательные выводы всех светодиодов, объединены вместе и для них выделен соответствующий вывод на корпусе.
Остальные выводы индикатора соединены к аноду каждого из светодиодов (рис.3, а). Такая схема называется «схема с общим катодом».
Также существуют индикаторы, у которых светодиоды каждого из сегментов подключены по схеме с общим анодом (рис.3, б).


Рис.3.

Каждый сегмент обозначен соответствующей буквой. На рисунке 4 представлено их расположение.

Рис.4.

В качестве примера рассмотрим двухразрядный семисегментный индикатор GND-5622As-21 красного свечения. Кстати существуют и другие цвета, в зависимости от модели.
С помощью трехвольтовой батарейки можно включать сегменты, а если объединить группу выводов в кучку и подать на них питание, то можно даже отображать цифры. Но такой метод является неудобным, поэтому для управления семисегментными индикаторами используют регистры сдвига и дешифраторы. Также, нередко, выводы индикатора подключаются напрямую к выходам микроконтроллера, но лишь в том случае когда используются индикаторы с низким потреблением тока. На рисунке 5 представлен фрагмент схемы с использованием PIC16F876A.


Рис.5.

Для управления семисегментным индикатором часто используется дешифратор К176ИД2.
Эта микросхема способна преобразовать двоичный код, состоящий из нулей и единиц в десятичные цифры от 0 до 9.

Чтобы понять, как все это работает, нужно собрать простую схему (рис.6). Дешифратор К176ИД2 выполнен в корпусе DIP16. Он имеет 7 выходных вывода (выводы 9 - 15), каждый из которых предназначен для определенного сегмента. Управление точкой здесь не предусмотрено. Также микросхема имеет 4 входа (выводы 2 - 5) для подачи двоичного кода. На 16-й и 8-ой вывод подается плюс и минус питания соответственно. Остальные три вывода являются вспомогательными, о них я расскажу чуть позже.


Рис.6.

DD1 - К176ИД2
R1 - R4 (10 - 100 кОм)
HG1 - GND-5622As-21

В схеме присутствует 4 тумблера (можно любые кнопки), при нажатии на них на входы дешифратора подается логическая единица от плюса питания. Кстати питается сама микросхема напряжением от 3 до 15 Вольт. В данном примере вся схема питается от 9-вольтовой "кроны".

Также в схеме присутствует 4 резистора. Это, так называемые, подтягивающие резисторы. Они нужны, чтобы гарантировать на логическом входе низкий уровень, при отсутствии сигнала. Без них показания на индикаторе могут отображаться некорректно. Рекомендуется использовать одинаковые сопротивления от 10 кОм до 100 кОм.

На схеме выводы 2 и 7 индикатора HG1 не подключены. Если подключить к минусу питания вывод DP, то будет светиться децимальная точка. А если подать минус на вывод Dig.2, то будет светиться и вторая группа сегментов (будет показывать тот же символ).

Входы дешифратора устроены так, что для отображения на индикаторе чисел 1, 2, 4 и 8 требуется нажатие лишь одной кнопки (на макете установлены тумблеры, соответствующие входам D0, D1, D2 и D3). При отсутствии сигнала отображается цифра ноль. При подаче сигнала на вход D0 отображается цифра 1. И так далее. Для отображения других цифр требуется нажатие комбинации тумблеров. А какие именно нужно нажимать нам подскажет таблица 1.


Таблица 1.

Чтобы отобразить цифру "3" необходимо логическую единицу подать на вход D0 и D1. Если подать сигнал на D0 и D2, то отобразится цифра "5" (рис.6).


Рис.6.

Здесь представлена расширенная таблица, в которой мы видим не только ожидаемую цифру, но и те сегменты (a - g), которые составят эту цифру.


Таблица 2.

Вспомогательными являются 1, 6 и 7-ой выводы микросхемы (S, M, К соответственно).

На схеме (рис.6) 6-ой вывод "М" заземлен (на минус питания) и на выходе микросхемы присутствует положительное напряжение для работы с индикатором с общим катодом. Если используется индикатор с общим анодом, то на 6-ой вывод следует подать единицу.

Если на 7-ой вывод "К" подать логическую единицу, то знак индикатора гасится, ноль разрешает индикацию. В схеме данный вывод заземлен (на минус питания).

На первый вывод дешифратора подана логическая единица (плюс питания), что позволяет отображать преобразованный код на индикатор. Но если подать на данный вывод (S) логический ноль, то входы перестанут принимать сигнал, а на индикаторе застынет текущий отображаемый знак.

Стоит заметить одну интересную вещь: мы знаем, что тумблер D0 включает цифру "1", а тублер D1 цифру "2". Если нажать оба тумблера, то высветится цифра 3 (1+2=3). И в других случаях на индикатор выводится сумма цифр, составляющих эту комбинацию. Приходим к выводу, что входы дешифратора расположены продуманно и имеют очень логичные комбинации.

Также вы можете посмотреть видео к этой статье.

Дешифраторы выпускаются в виде отдельных микросхем или используются в составе более сложных микросхем. В настоящее время десятичные или восьмеричные дешифраторы используются в основном как составная часть других микросхем, таких как мультиплексоры, демультиплексоры, ПЗУ или ОЗУ.

Условно-графическое обозначение микросхемы дешифратора на принципиальных схемах приведено на рисунке 2. На этом рисунке приведено обозначение двоично-десятичного дешифратора, полная внутренняя принципиальная принципиальная схема которого изображена на рисунке 1.

Рисунок 1 – Условно-графическое обозначение двоично-десятичного дешифратора

Точно таким же образом можно получить принципиальную схему и для любого другого декодера (дешифратора). Наиболее распространены схемы восьмеричных и шестнадцатеричных дешифраторов. Для индикации такие дешифраторы в настоящее время практически не используются. В основном такие дешифраторы используются как составная часть более сложных цифровых модулей.

Семисегментный дешифратор

Для отображения десятичных и шестнадцатеричных цифр часто используется семисегментный индикатор. Изображение семисегментного индикатора и название его сегментов приведено на рисунке 3.

Рисунок 2 – Изображение семисегментного индикатора и название его сегментов

Для изображения на таком индикаторе цифры 0 достаточно зажечь сегменты a, b, c, d, e, f. Для изображения цифры "1" зажигают сегменты b и c. Точно таким же образом можно получить изображения всех остальных десятичных или шестнадцатеричных цифр. Все комбинации таких изображений получили название семисегментного кода.

Составим таблицу истинности дешифратора, который позволит преобразовывать двоичный код в семисегментный. Пусть сегменты зажигаются нулевым потенциалом. Тогда таблица истинности семисегментного дешифратора примет вид, приведенный в таблице 1. Конкретное значение сигналов на выходе дешифратора зависит от схемы подключения сегментов индикатора к выходу микросхемы. Эти схемы мы рассмотрим позднее, в главе, посвящённой отображению различных видов информации.

Таблица 1 – Таблица истинности

Входы

Выходы

В соответствии с принципами построения произвольной таблицы истинности по произвольной таблице истинности получим принципиальную схему семисегментного дешифратора, реализующего таблицу истинности, приведённую в таблице 1. На этот раз не будем подробно расписывать процесс разработки схемы. Полученная принципиальная схема семисегментного дешифратора приведена на рисунке 4.

Рисунок 4 – Принципиальная схема семисегментного дешифратора

Для облегчения понимания принципов работы схемы на выходе логических элементов "И" показаны номера строк таблицы истинности, реализуемые ими.

Например, на выходе сегмента "a" логическая единица появится только при подаче на вход комбинации двоичных сигналов 0001 (1) и 0100 (4). Это осуществляется объединением соответствующий цепей элементом "2ИЛИ". На выходе сегмента "b" логическая единица появится только при подаче на вход комбинации двоичных сигналов 0101 (5) и 0110 (6), и так далее.

В настоящее время семисегментные дешифраторы выпускаются в виде отдельных микросхем или используются в виде готовых блоков составе других микросхем. Условно-графическое обозначение микросхемы семисегментного дешифратора приведено на рисунке 5.

Рисунок 5 – Условно-графическое обозначение семисегментного дешифратора.

В качестве примера семисегментных дешифраторов можно назвать такие микросхемы отечественного производства как К176ИД3. В современных цифровых схемах семисегментные дешифраторы обычно входят в состав больших интегральных схем.

Семисегментный код необходим для отображения на цифровых индикаторах значений цифр от 0 до 9. Семисегментный, потому что цифры отображаются так называемыми сегментами, которых семь штук. Ниже приведена табличка соответствия между двоичным и семисегментным кодами.

Цифра Двоичный код Семисегментный код
a b c d e f g

Во, блин. Ну, в общем, на логике показывать не буду. Поскольку счетчик нам уже знаком , посмотрим на работу его совместно с дешифратором. Схема реальная, т. е. можно повторить.

Как видно, ничего сложного, все элементы схемы нам знакомы . На элементах DD1.1, DD1.2 (К561ЛА7) собран генератор тактовых импульсов. Резистор R1 и кондер С1 задают частоту следования импульсов. Формулу определения частоты следования я не помню, вспомню, напишу. Можно, если не в лом, определить эту самую частоту методом "научного тыка". В любом случае, если вместо постоянного резика воткнуть переменный, то частоту можно будет регулировать в некоторых пределах. С выхода генератора импульсы поступают на счетчик, выполненный на DD2. Это реверсивный двоично-десятичный счетчик с предустановкой. Вход ±1 определяет напрвление счета, вход 2/10 - режим (двоичный или десятичный). Вход V предназначен для разрешения записи в счетчик состояния информационных входов D0 - D3. Конкретно этому счетчику (561ИЕ14, 564ИЕ14) надо подать уровень лог. 1. Резик R2 и кондер C2 образуют дифференцирующую цепь. При включении питания короткий импульс на входе V, формируемый дифференцирующей цепью, разрешает запись в счетчик состояния входов D0 - D3. Поскольку эти выводы соединены с общим проводом, в счетчик записывается 0000, т. е. он обнуляется. Тактовый генератор фигачит импульсы, счетчик их считает и с его выходов 1-2-4-8 результат счета поступает на вход дешифратора DD3 (514ИД1). Это дешифратор двоичного кода в семисегментный. С выходов дешифратора сигналы (согласно второй таблице) поступают на входы семисегментного индикатора HL1, который кажет эту инфу, т. е. ряд цифр от 0 до 9. Внутри микрухи DD3 стоит DC. Это от буржуйского Decoder – по-нашински дешифратор. На выходе переноса p (выв. 7) счетчика DD2 при его переполнении формируется сигнал. Если взять следующие узлы: DD2, DD3, HL1 и влепить их снизу счетчика DD2, аналогично соединить соответствующие входы, кроме С, выход переноса (выв. 7) предыдущего счетчика соединить со входом С следующего, то получим многозначный индикатор. После отсчета 10 импульсов первым счетчиком, второй переключится на 1. Через следующие 10 импульсов второй счетчик увеличится еще на 1 и так далее. По такому принципу деления частоты работают, например, часы. Единственное, что там коэффициент пересчета другой (не 10, а 6), все-таки в минуте 60 сек. Этот счетчик тоже можно заставить считать до 6. Берем лог. элемент И, его входы соединяем с выходами 2-4 (выв. 11 и 14), а выход подключаем к дифференцирующей цепочке R2C2. Тогда при достижении числа 6 (0110) уровень лог. 1 на выходе элемента И сформирует не без помощи цепи R2C2 импульс, который запишет в счетчик 0000. И еще, увеличивая частоту генератора цифири будут бежать быстрее, например вот так:

Мультиплексор - это устройство, которое осуществляет выборку одного из нескольких входов и подключает его к своему выходу, в зависимости от состояния двоичного кода. Другими словами, мультиплексор - переключатель сигналов, управляемый двоичным кодом и имеющий несколько входов и один выход. К выходу подключается тот вход, чей номер соответствует двоичному коду. Ну и навороченное определение: мультиплексор - это устройство, преобразующее параллельный код в последовательный.

Структуру мультиплексора можно представить различными схемами, но более понятна, на мой взгляд, вот эта:

Рис. 1 - Структура мультиплексора

Самая большая хренотень есть не что иное, как элемент И-ИЛИ. Конкретно здесь элемент 4-х входовый. Ну а квадратики с единичками внутри, если кто не помнит, инверторы. Разберем выводы. Те, что слева, а именно D0-D3, называются информационными входами. На них чего-нибудь подают. Входы посередке, а именно А0-А1, называются адресными входами. Вот сюда именно и подается двоичный код, от которого зависит, какой из входов D0-D3 будет подключен к выходу, на этой схеме обозначенному как Y. Вход С, черт его знает, нафига он здесь. Вроде бы как разрешение работы, а может просто для понта. Ну его в баню. На схеме еще есть входы адреса с инверсией. Так вот они тоже показаны здесь для понта. На этом рисунке показан четырехвходовой, или как еще его называют, 4Х1 мультиплексор. Потому и адресных входов всего 2. Как нам известно, максимальное число переменных определяется как 2 n , где n - разряд кода. Здесь мы видим, что переменных четыре штуки, а значит разряд будет равен 2 (2 2 = 4). Для пояснения принципа работы этой схемы посмотрим на табличку истинности:

A1 A0 Y
D0
D1
D2
D3

Вот так двоичный код выбирает нужный вход. Т. е., если имеем четыре объекта, ну, скажем, они пуляют сигналы, а устройство отображения у нас одно. Берем мультик (мультиплексор) и втуляем его в схему. В зависимости от двоичного кода к устройству отображения подключается сигнал от нужного объекта. Такой вот, дохленький пример.

Микросхемой мультик обозначается вот так:

Рис. 2 - Мультиплексор

Вообще, мультиплексоров всяких дофига. Есть и сдвоенные четырехвходовые, восьмивходовые, 16-ти входовые, счетверенные двухвходовые и пр. Тот, что на рисунке сделан от фонаря.

Демультиплексор . Демультиплексор - устройство, обратное мультиплексору. Т. е., у демультиплексора один вход и куча выходов. Двоичный код определяет, какой выход будет подключен ко входу. Другими словами, демультиплексор - это устройство, которое осуществляет выборку одного из нескольких выходов и подключает его к своему входу или, это переключатель сигналов, управляемый двоичным кодом и имеющий один вход и несколько выходов. Ко входу подключается тот выход, чей номер соответствует состоянию двоичного кода. И навороченное определение: демультиплексор - это устройство, которое преобразует последовательный код в параллельный.

Обычно в качестве демультиплексора используют дешифраторы двоичного кода в позиционный, в которых вводят дополнительный вход стробирования. Из-за схожести структур мультиплексора и демультиплексора в КМОП сериях есть микросхемы, которые одновременно являются мультиплексорром и демультиплексором, смотря с какой стороны подавать сигналы, например, К561КП1, работающая как переключатель 8х1 и переключатель 1х8 (то бишь, как мультиплексор и демультиплексор с восемью входами или выходами). Кроме того, в КМОП микросхемах помимо переключения цифровых сигналов (лог. 0 или 1) существует возможность переключения аналоговых. Другими словами, это переключатель аналоговых сигналов, управляемый цифровым кодом. Такие микросхемы называются коммутаторами. К примеру, с помощью коммутатора можно переключать сигналы, поступающие на вход усилителя (селектор входов). Вот напоследок простенькую схемку селектора входов УМЗЧ мы и рассмотрим. Построим ее, ну скажем, с использованием триггеров и мультиплексора.

Рис. 3 - Селектор входных сигналов

Вот такая нехитрая схемка. Итак, разберем работу и деталюшки. На триггерах микросхемы DD1 собран кольцевой счетчик нажатий кнопки разрядностью 2 (два триггера - 2 разряда). Двухразрядный двоичный код поступает на адресные входы D0-D1 микросхемы DD2. Микросхема DD2 представляет собой сдвоенный четырехканальный коммутатор. В соответствии с двоичным кодом к выходам микросхемы А и В подключаются входы А0-А3 и В0-В3 соответственно. Элементы R1, R2, C1 устраняют дребезг контактов кнопки. Дифференцирующая цепь R3C2 устанавливает триггеры в нулевое состояние при включении питания, при этом к выходу подключается первый вход. При нажатии на кнопку триггер DD1.1 переключается в состояние лог. 1 и к выходу подключается второй вход и т. д. Перебор входов идет по кольцу, начиная с первого.

С одной стороны просто, с другой немного неудобно. Черт его знает, сколько раз нажали на кнопку после включения и какой вход подключен к выходу. Хорошо бы поставить индикатор подключенного входа. Вот тут-то и пригодится семисегментный дешифратор . Нажимаем ссылочку, вспоминаем семисегментный дешифратор и смотрим на схемку (там, где циферки бегут). Берем дешифратор и индикатор, обрубаем счетчик и другую галиматью, переносим дешифратор с индикатором на схему коммутатора и первые два входа дешифратора (на схеме обозначен как DD3), т. е. 1 и 2 (выв. 7 и 1) подключаем к прямым выходам триггеров DD1.1 DD1.2 (выв. 1 и 13). Входы дешифратора 4 и 8 (выв. 2 и 6) кидаем на корпус (т. е. подаем лог. 0). Все! Индикатор будет показывать состояние кольцевого счетчика, а именно циферки от 0 до 3. Цифиря 0 соответствует первому входу, 1 - 2-му и т. д.

Регистр (от буржуйского to register - регистрировать) - это цифровой узел, предназначенный для записи и хранения числа. Некоторые регистры могут преобразовывать информацию из последовательной формы в параллельную и наоборот. Для начала рассмотрим регистр хранения.

Отчет о лабораторной работе

Тема: Исследование Работы дешифраторов

Цель: Исследовать работу шифраторов и дешифраторов

Оборудование: ПК, программное обеспечение: ОС Windows

Ход Работы

1. Исследовал работу Дешифратора на логических элементах

2. Преобразователь кода для семисегментного индикатора.

3. Дешифратор для 7-сегментного индикатора на микросхеме.

1.Дешифраторы
Я использовал простейшие логические элементы, которые можно сконструировать более сложные устройства, реализующие соответствующие функции. Такими устройствами являются, например, шифраторы и дешифраторы.

Дещифраторы, назваемые также кодерами, могут осуществлять преобразование десятичных чисел (позиционный код) в двоичную систему счисления. Шифратор работает следующим образом: шифратор имеет n входов, в текущий момент времени только на один из которых подается сигнал (это вход будет активным); по номеру активного входа на выходах дешифратора формируется двоичных код, соответствующей позиции активного входа. Например, если активным был пятый вход, то на выходах будет комбинация (за исключением старших нулей): 5 10 =101 2 .

3. Дешифратор на логических элементах

Трехвходовый дешифратор на логических элементах «И» и «НЕ».



4. Преобразователь кода для семисегментного индикатора.

Дешифраторы и дисплейные дишеифраторы/формирователи формируют цифровые коды для семисегментного индикатора, и затем обеспечивают пеердачу кода на формирователь или непосредственно на дисплей. В семисегментном индикаторе десятичных цифр каждый сегмент (их семь) представляет собой отдельный светоизлучающий элемент (используется также буквенная идентификация сегментов, соответственно от a до g). Светящееся изображение цифр или знаков получается при подаче напряжения на определенные сегменты:
Такой преобразователь кода должен удовлетворять таблице истинности, приведенной ниже:


Дешифратор для 7-сегментного индикатора на логических элементах.

Дешифратор для 7-сегментного индикатора на микросхеме.

Данный дешифратор преобразует двоично-десятичный код (binary-decimal code), подаваемый на входы A,B,C,D, в код управления 7-сегментным индикатором. Двоично-десятичный код представляет собой упорядоченный по разрадам набор двоичных чисел, в котором разрядам приписаны следующие «веса» в порядке уменьшения старшинства. D – 8, С – 4, В – 2, A – 1. Поэтому данный код называют также кодом 8-4-2-1. Фактически в этом коде записаны десятичные числа от 0 до 15 во входных переменных таблицы истинности:



Дешифратор кода для 7-сегментного индикатора на микросхеме 7448

Вывод: Исследовал работу шифраторов и дешифраторов

1. Дешифраторы
Используя простейшие логические элементы, можно сконструировать более сложные устройства, реализующие соответствующие функции. Такими устройствами являются, например, шифраторы и дешифраторы.

Шифраторы, назваемые также кодерами, могут осуществлять преобразование десятичных чисел (позиционный код) в двоичную систему счисления. Шифратор работает следующим образом: шифратор имеет n входов, в текущий момент времени только на один из которых подается сигнал (это вход будет активным); по номеру активного входа на выходах дешифратора формируется двоичных код, соответствующей позиции активного входа. Например, если активным был пятый вход, то на выходах будет комбинация (за исключением старших нулей): 5 10 =101 2 .
Дешифратор или декодер выполняет обратную по отношению к шифрованию операцию, т.е. преобразует двоичный код в десятичный. Входы дешифратора служат для подачи двоичных числе, а выходы последовательно нумеруются десятичными числами. При подаче на входы двоичного числа выходной сигнал появляется на выходе, который имеет номер соответствующего десятичного числа.
Существует два типа дешифраторов: логические дешифраторы и дисплейные дешифраторы/формирователи. Логические дешифраторы представляют собой схемы средней интеграции (микросхемы, имеющие с своем составе до 100 ЛЭ), управялемые адресом. Они выбирают и приводят в активное состояние конкретный выход определяемыый адресом. Дешифраторы применяются в структурах выборки адреса запоминающих устройства, разуплотнения маршрутизации данных и т.п.

Для отображения десятичных и шестнадцатеричных цифр часто используется семисегментный индикатор. Изображение семисегментного индикатора и название его сегментов приведено на рисунке 3.

Рисунок 3.3 Изображение семисегментного индикатора и название его сегментов.

Для изображения на таком индикаторе цифры 0 достаточно зажечь сегменты a, b, c, d, e, f. Для изображения цифры "1" зажигают сегменты b и c. Точно таким же образом можно получить изображения всех остальных десятичных или шестнадцатеричных цифр. Все комбинации таких изображений получили название семисегментного кода.

Составим таблицу истинности дешифратора, который позволит преобразовывать двоичный код в семисегментный. Пусть сегменты зажигаются нулевым потенциалом. Тогда таблица истинности семисегментного дешифратора примет вид, приведенный в таблице 3.2. Конкретное значение сигналов на выходе дешифратора зависит от схемы подключения сегментов индикатора к выходу микросхемы. Эти схемы мы рассмотрим позднее, в главе, посвящённой отображению различных видов информации.

Таблица 3.2. Таблица истинности семисегментного декодера.

Входы Выходы
a b c d e f g

В соответствии с принципами построения схемы по произвольной таблицы истинности, получим принципиальную схему семисегментного дешифратора (декодера), реализующего таблицу истинности, приведённую в таблице 2. На этот раз не будем подробно расписывать процесс разработки схемы. Полученная принципиальная схема семисегментного дешифратора приведена на рисунке 3.4.


Рисунок 3.4. Принципиальная схема семисегментного дешифратора (декодера).

Для облегчения понимания принципов работы схемы на выходе логических элементов "И" показаны номера строк таблицы истинности, реализуемые ими.

Например, на выходе сегмента a логическая единица появится только при подаче на вход комбинации двоичных сигналов 0001 (1) и 0100 (4). Это осуществляется объединением соответствующий цепей элементом "2ИЛИ". На выходе сегмента b логическая единица появится только при подаче на вход комбинации двоичных сигналов 0101 (5) и 0110 (6), и так далее.

В настоящее время семисегментные дешифраторы выпускаются в виде отдельных микросхем или используются в виде готовых блоков составе других микросхем. Условно-графическое обозначение микросхемы семисегментного дешифратора приведено на рисунке 3.5.