Шифратор (кодер) - это устройство, представляющее собой преобразователь позиционного кода в двоичный.
В позиционном коде число определяется позицией единиц в серии нулей, или позицией нуля в серии единиц.
Например, если в серии десять нулей, имеется вот такой код 0000010000, то это эквивалентно числу 5
(счет ведется справа налево от нуля). Такой код служит для включения объектов или передачи данных на них.
Для преобразования позиционного кода в двоичный составим малюхонькою табличку:
Позиционный код |
Двоичный код |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
22 |
21 |
20 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
Для наглядности, единицы, как видно, расположены по диагонали. Если посмотреть младшему разряду (20),
то видно, что единице соответствуют единицы в позиционном коде, соответствующие числам 2, 4, 6, 8 (разрядам).
Следовательно, эти разряды объединяются через схему ИЛИ. Аналогичные операции проходят над старшими разрядами.
В результате получим вот такую схему:
Рис. 1 - Реализация шифратора на логических элементах
Разряд 1 так и висит в воздухе, как на схеме. Согласно таблице, ей соответствует код 000.
Объяснять эту схему, пожалуй, не нужно. Все понятно.
Дешифратор (декодер) - устройство, преобразующее двоичный код в позиционный (или иной).
Другими словами, дешифратор осуществляет обратный перевод двоичных чисел. Опять посмотрим на первую табличку.
Единице в каком-либо разряде позиционного кода соответствует комбинация нулей и единиц в двоичном коде, а отсюда
следует, что для преобразования необходимо иметь не только прямые значения переменных, но еще и инверсии.
Посмотрим на схемку:
Рис. 2 - Реализация дешифратора на логических элементах
На схеме показаны всего четыре логических элемента И, хотя их должно быть восемь. Три инвертора создают инверсии переменных.
Палки, спускающиеся в никуда на самом деле подводят сигналы прямого и инверсного кода к остальным четырем элементам И.
Понятное дело, что нефиг их все рисовать. Если разрядов будет четыре, то элементы будут четырехвходовыми, понадобится
четыре инвертора и 16 элементов И.
Семисегментный дешифратор
Семисегментный код необходим для отображения на цифровых индикаторах значений цифр от 0 до 9.
Семисегментный, потому что цифры отображаются так называемыми сегментами, которых семь штук.
Ниже приведена табличка соответствия между двоичным и семисегментным кодами.
Цифра |
Двоичный код |
Семисегментный код |
8 |
4 |
2 |
1 |
a |
b |
c |
d |
e |
f |
g |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
2 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
3 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
4 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
5 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
6 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
7 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
8 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
9 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
Поскольку счетчик нам уже знаком, посмотрим на работу его совместно с дешифратором.
Схема рабочая, т. е. можно повторить.
Как видно, ничего сложного, все элементы схемы нам знакомы.
На элементах 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. Это дешифратор. На выходе переноса 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. И еще, увеличивая частоту генератора циффры будут
меняться быстрее, например вот так:
Источник: http://naf-st.ru