Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
538.doc
Скачиваний:
94
Добавлен:
30.04.2022
Размер:
63.34 Mб
Скачать

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

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

На практике, перед сдвигом прибавляют 3 а не 6. Необходимость корреции определяют перед сдвигом. Если значение тетрады меньше или равно 4 (0100), то при последующем сдвиге не произойдет перехода единицы через границу между декадами и не возникнут псевдотетрады. Если значение тетрады перед сдвигом 5 (0101), 6 (0110) или 7 (0111), то также не произойдет перехода 1 через границу, поскольку старший разряд равен 0. Однако при этом возникнут псевдотетрады: 10, 12, 14 или 11, 13, 15 в зависимости от того, будет ли в младший разряд сдвинут 0 или 1. Следовательно, в этих случаях необходима коррекция псевдотетрад путем прибавления 3 перед сдвигом (рис.1.19). Для значений тетрад 8 и 9 так же необходима коррекция.

Рис.1.19. Идея преобразования ДК в ДДК на примере десятичного числа 218

Если представить передачу информации в схеме, изображенной на рис.1.13, в обратном направлении, то получим преобразователь ДК в ДДК. Из этого следует, что в качестве элементарного преобразователя кодов можно использовать преобразователь КС на сумматорах, производя в нем взаимную замену соответствующих весов, указанных на дополнительных полях (рис.1.20).

Такой преобразователь должен выполнять функцию, обратную функции (1), т.е. при , надо производить сложение числа с числом 3. Таким образом, данный преобразователь выполняет функцию (1.18) (табл.1.15):

. (1.18)

Рис.1.20. УГО элементарного преобразователя кодов ДК в ДДК

На рис.1.21 показан способ преобразования ДК в ДДК с помощью комбинационной схемы. Вместо сдвига числа справо налево здесь слева направо сдвигаются границы двоично-десятичных разрядов, а каждая полученная тетрада корректируется в соответствии с табл.1.16. На вход преобразователей нельзя подавать двоичные числа 10…15, т.к. они превышают сумму весов выходных сигналов 5+4+2+1=12. Поэтому вес 8 элементарного преобразователя должен быть “заземлен”.

На рис.1.22 приведена комбинационная схема преобразователя 10-разрядного двоичного числа в 4-разрядное десятичное число, представленное в ДДК с помощью элементарного преобразователя кодов.

Правила составления преобразователя ДК в ДДК: веса разрядов входных сигналов всех преобразователей кодов должны находиться в отношении 1:2:4:8, т.к. каждый преобразователь кодов преобразует только один двоичный разряд в двоично-десятичный разряд (вес 8 изменяется на вес 5). Поэтому преобразователь ДК в ДДК имеет пирамидальную структуру. Построение пирамиды продолжается до тех пор, пока небудут получены веса , где (за исключением старшего десятичного разряда).

Таблица 1.16

Таблица переключений элементарного преобразователя (КС) для преобразований ДК в ДДК

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

Рис.1.22. Комбинационная схема преобразователя 10-разрядного двоичного числа в двоично-десятичное число

Преобразователь К155ПР7 (рис.1.23 и рис.1.24) по A, B, C, D, E принимает 5-разрядный байт и преобразует его в ДДК, если G=L. При G=H выходы Q=H. На выходах Y8 и Y7 всегда H. Цифровой вес разрядов ДДК ПР7: Y1=1, Y2=2, Y3=4, Y4=5, Y5=10, Y6=20.

Рис.1.23. Преобразователь ДК в ДДК

Рис.1.24. Преобразователь 8-разрядного двоичного числа в ДДК

Преобразователь ПР7 выполняет следующую функцию (табл.1.17):

Таблица 1.17

Состояния при преобразовании двоичного кода в двоично-десятичный в ПЗУ К155ПР7

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]