|
Преобразователь кода (нумерация) – вычислительное устройство для автоматического изменения способа кодирования некоторого множества сообщений без изменения смыслового содержания.
В цифровых устройствах часто возникает необходимость преобразования числовой информации из одного двоично-десятичного кода в другой двоично-десятичный код.
Известны методы построения структурных схем преобразователей из одного кода в другой с помощью упрощения логических выражений функции Y=f(X). Метод Квайна для минимизации функций ручным способом оказывается весьма трудоемким, но для сложных функций с большим числом аргументов задача решается с помощью ЭВМ. Метод минимизации функции с помощью карт Вейча обеспечивает простоту получения результата. Он используется при минимизации относительно несложных функций (с числом аргументов до 5) ручным способом. Этот метод требует элементов изобретательности и не может быть использован для решения задачи минимизации с помощью ЭВМ.
Пример преобразования с помощью карт Вейча двоично-десятичного кода 8-4-2-1 в двоично-десятичный семипозиционный код рассмотрен ниже. На рис. 1а представлена таблица истинности для входного двоично-десятичного кода 8-4-2-1 и выходного двоично-десятичного семипозиционного кода, управляемого элементами отображения семисегментного индикатора.
Синтезирование преобразователя кода начинается с построением таблицы истинности в форме таблиц Вейча (рис. 2а) отдельно для каждой переменной Y1, ...., Y7. Выделенным областям соответствуют логические выражения, представленные на рис. 2б. Теперь нетрудно записать логические выражения для выходных величин Y1, Y2, Y3, Y4, Y5, Y6, Y7 (рис. 2в). Построенная в соответствии с этими выражениями схема преобразователя кода приведена на рис. 3а. На рис. 3в представлен семисегментный индикатор с указанными элементами отображения, управляемыми соответствующими переменными выходной функции Y. На рис. 3б воспроизведены семисегментные арабские цифры.
Наиболее простым методом преобразования одного двоично-десятичного кода в другой двоично-десятичный код, и построение структурной схемы соответствующего преобразователя на основе этого преобразования, обладает предлагаемый цифровой метод конъюнкции и инверсии, пригодный как для работы вручную, так и на ЭВМ.
Для решения поставленной задачи из таблицы истинности (рис. 1а) входных аргументов X и выходных переменных Y синтезируемого преобразователя выписываем комбинации десятичных цифр, например, по уровню логической «1» (рис.1б, рис.1в). На рис. 1г представлены все варианты десятичных цифровых соответствий аргументов X на входе и выходе инвертора (логического элемента «НЕ»). Десятичные цифровые соответствия аргументов X и переменной Y, обозначенные на схеме с черточкой сверху, отображают состояние уровня логического «0», без черточки – уровня логической «1».
Для получения на выходе логического элемента «И-НЕ» той или иной цифры с уровнем логического «0» на входе его должно присутствовать такое количество десятичных цифровых соответствий аргументов Х, содержащих интересующую нас цифру, чтобы только она одна и выделилась на выходе логического элемента. Далее составляем наборы десятичных цифровых соответствий аргументов Х (X1, X2, X3, X4) в виде матриц (фиг.4а), имитирующих логические элементы «И-НЕ», для всех интересующих нас десятичных цифровых соответствий выходной функции Y (рис. 4б). В результате все логические элементы, необходимые для реализации структурной схемы преобразователя кода найдены. Остается лишь их соединить, в соответствии с десятичными цифровыми соответствиями выходной функции Y (Y1, Y2, Y3, Y4) в схему (рис. 5). Уровень логической «1» на некотором входе индикатора вызывает гашение соответствующего элемента, а уровень логического «0» - его высвечивание.
|
|