Главная > Полупроводниковая схемотехника
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

19.1.2. ДВОИЧНО-ДЕСЯТИЧНЫЕ КОДЫ

Ввод и вывод чисел в десятичной системе счисления невозможен с помощью обычного двоичного кода. Для этой цели

Таблица 19.2 (см. скан)


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

Записанное таким образом десятичное число более точно следует называть двоично-десятичным числом в коде 8421 или в натуральном двоично-десятичном коде. Десятичные цифры можно представить и с помощью других комбинаций двоичных знаков, содержащих 4 и более разрядов. Однако, поскольку двоично-десятичный код 8421 является самым распространенным, его называют просто двоично-десятичным кодом. Ниже используется этот термин, а отличные от натурального двоично-десятичные коды будем оговаривать особо.

Одно четырехразрядное двоичное число позволяет представить десятичные числа от 0 до 15. В случае двоично-десятичного кода из них используется только 10 комбинаций Следовательно, для записи двоично-десятичного числа требуется больше разрядов, чем для записи двоичного.

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

Преобразование двоичного кода в двоично-десятичный

В предыдущем примере мы уже познакомились с процедурой преобразования четырехразрядного двоичного числа в двоично-десятичное:

Числа до 8 включительно остаются без изменения.

Числа свыше 9, представляющие собой псевдотетрады, подвергаются коррекции.

Двоичные числа, содержащие более 4 разрядов, можно преобразовать

аналогичным образом. Для этого двоичное число, начиная со старшего разряда, «вдвигается» справа налево в двоично-десятичную разрядную сетку, как показано на рис. 19.5. Когда какая-либо единица пересекает границу между двоично-десятичными разрядами, возникает ошибка. Действительно, в случае двоичного числа разрядное значение этой единицы при сдвиге увеличивается с 8 до 16, тогда как для двоично-десятичного числа оно возрастает от 8 до 10. Поэтому на этом этапе двоично-десятичное число как бы уменьшается на 6. Следовательно, для коррекции необходимо прибавлять 6 к числу во всех случаях, когда единица пересекает границу между двоично-десятичными разрядами. К числу десятков надо прибавить 6, если единица перейдет в разряд сотен, и т.д. Составленное таким образом двоично-десятичное число имеет правильное значение, однако оно может еще содержать псевдотетрады. Чтобы этого не было, возникающие псевдотетрады корректируют непосредственно после каждого шага сдвига, прибавляя 6 к соответствующей декаде с переносом 1 в следующую. Следовательно, обе указанные коррекции производятся с помощью одной. и той же операции, а именно путем прибавления 6.

Вместо того чтобы прибавлять после сдвига 6, с тем же успехом можно перед сдвигом прибавлять 3. Необходимость такой коррекции можно также определить перед сдвигом. Если значение тетрады меньше или равно то при последующем сдвиге не произойдет перехода единицы через границу между декадами и не возникнут псевдотетрады. Таким образом, такую тетраду можно будет без изменений сдвигать влево. Если значение тетрады перед сдвигом равно 5, 6 или 7, то также не произойдет перехода единицы через границу, поскольку старший разряд равен нулю. Однако при этом возникнут псевдотетрады: десять, двенадцать, четырнадцать или одиннадцать, тринадцать, пятнадцать (в зависимости от того, будет ли в младший разряд сдвинут нуль или единица). Следовательно, в этих случаях необходима коррекция псевдотетрад путем прибавления 3 перед сдвигом.

Если значение тетрады составляет 8 или 9, необходимо корректировать переход единицы через границу между декадами. Поэтому после каждого сдвига появляются правильные тетрады 6 или 7 либо 8 или 9. При такой коррекции псевдотетрад полученное значение каждой тетрады не может быть более 9. Этим исчерпываются все возможности, и мы получим таблицу коррекции 19.3.

Преобразование двоичного числа в соответствующее двоично-десятичное можно реализовать, сдвигая влево двоичное число, записанное в регистре сдвига, разделенном на четырехразрядные секции. Каждая секция должна включать корректирующий элемент, который преобразует содержание регистра перед каждым последующим сдвигом в соответствии с таблицей переключений 19.3.

Наряду с подобным способом реализации преобразования кодов с помощью схем с памятью можно использовать комбинационные схемы, в которых операция сдвига проводится с помощью соответствующей логики. Эта схема представлена на рис. 19.6. Вместо сдвига числа справа налево здесь слева направо

Рис. 19.5. Преобразование двоичного кода в двоично-десятичный; в качестве примера взято число 218.

Таблица 19.3 (см. скан) Таблица переключений корректирующего элемента для преобразования двоичного кода в двоично-десятичвый


«сдвигаются» границы двоично-десятичных разрядов, а каждая полученная тетрада корректируется в соответствии с табл. 19.3. Следовательно, для «сдвига» разрядной сетки с помощью комбинационной схемы на каждую декаду и каждый шаг сдвига необходимо по одному корректирующему элементу. Эта схема несколько упрощается, если исключить те корректирующие элементы, ко входам которых подключено менее трех двоичных разрядов, поскольку в этом случае коррекция не нужна. На рис. 19.6 приведена комбинационная схема для преобразования 8-разрядного двоичного числа. Эту схему легко распространить на любое число разрядов. Элементы, не используемые для преобразования 8-разрядного числа, показаны пунктиром. С помощью записанных здесь чисел можно проследить за процессом преобразования кода для примера, приведенного на рис. 19.5.

Корректирующие комбинационные схемы поставляются в виде программируемых изготовителем микросхем ПЗУ емкостью 32 байта. В одном корпусе размещаются три корректирующих элемента (рис. 19.7). Так как, согласно рис. 19.6,

Рис. 19.6. Преобразование двоичного кода в двоично-десятичный с помощью комбинационной схемы. Приведенные значения соответствуют преобразованию числа 218.

Рис. 19.7. Структура интегральной микросхемы для преобразования двоичного кода в двоично-десятичный

младший разряд не подается на корректирующую схему, то с помощью одной ИС можно преобразовать -разрядное двоичное число, а для 8-разрядного числа нужны три таких ИС.

Преобразование двоично-десятичного кода в двоичный

Во многих случаях двоично-десятичный код можно достаточно просто получить непосредственно, например с помощью двоично-десятичных счетчиков Как будет показано ниже, в двоично-десятичном коде также можно выполнять многие вычислительные операции. Однако в некоторых случаях необходимо все же провести преобразование его в двоичный код. Это можно сделать путем последовательного деления числа на 2. Для этого десятичиое число делится на 2. Если оно нечетное, то в остатке получится 1, т.е. в разряде 2° записывается 1. Затем частное от деления еще раз делится на 2, и, если остаток равен нулю, в разряде 21 записывается 0. Если остаток равен 1, то в этом разряде записывается 1. Аналогично получают и более старшие разряды двоичного числа. Деление двоично-десятичного числа на 2 очень просто можно провести путем сдвига вправо на один разряд, так как отдельные цифры уже представлены в двоичном коде. Самый правый бит, выдвинутый из двоично-десятичной разрядной сетки, и является искомым значением разряда. Но если при сдвиге единица пересекает границу между декадами, то возникает ошибка: при переходе от десятков к единицам значение разряда должно уменьшиться наполовину - от десяти до пяти. Однако в случае двоичного числа эта величина становится равной восьми. Поэтому, для коррекции нужно вычесть 3. Из этого вытекает следующее правило коррекции: если старший разряд в декаде равен единице, то необходимо данную декаду уменьшить на три. Таким образом можно непосредственно составить таблицу переключений для корректирующего элемента 19.4. Процесс преобразования закапчивается, если все двоично-десятичное число будет выдвинуто из разрядной сетки.

На рис. 19.8 приведена комбинационная схема для преобразования -разрядного двоично-десятичного числа. Здесь, так же как и в схеме на рис. 19.6, сдвиг двоично-десятичных разрядов достигается путем соответствующего соединения одинаковых комбинационных схем. Чтобы наглядно продемонстрировать структуру этой

Таблица 19.4 (см. скан) Таблица переключений корректирующего элемента для преобразования двоично-десятичного кода в двоичный

Рис. 19.8. Преобразование двоично-десятичного кода в двоичный с помощью комбинационной схемы. Приведенные значения соответствуют преобразованию числа 218.

Рис. 19.9. Структура интегральной микросхемы для преобразования двоично-десятичного кода в двоичный.

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

Корректирующие схемы составляются из отдельных секций, содержащих по два элемента (рис. 19.9). Каждая секция представляет собой одну интегральную микросхему ПЗУ на 32 байта, программируемую изготовителем. Такая микросхема (типа ) имеет пять входов и пять выходов.

1
Оглавление
email@scask.ru