Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
p_k_4.doc
Скачиваний:
2
Добавлен:
14.07.2019
Размер:
534.53 Кб
Скачать

4.5.6. Двійково-десяткові перетворювачі

У комп'ютерах широко використовується двійково-десяткове кодування, в якому кожна десяткова цифра зображується чотирирозрядним двійковим ко­дом, тобто тет-радою двійкових символів. Число різних двійково-десяткових кодів визначається числом можливих комбінацій по десять із 16 комбінацій, які допускаються тетрадою. Десяткові числа можуть представлятися в коді "з лиш­ком 3", в коді з вагою "5421" або "2421" (код Айкена) та ін.

Найбільш поширеним є код прямого заміщення "8421", в якому кожна де­сяткова цифра 0, 1, ..., 9 замінюється її двійковим еквівалентом 0000, 0001, ..., 1001. Такий код називають також зваженим Д-кодом. Наприклад, число 72910 у двійково-десятковому коді записується у вигляді трьох тетрад: 0111001010012-10

Для Д-кодів розроблені машинні алгоритми операцій додавання, відніма­ння, множення, ділення та інші. Операції над десятковими числами (десяткова арифметика) входять до складу команд комп'ютерів різних класів.

Особливістю Д-кодів є наявність десяти дозволених і шести заборонених комбінацій двійкових символів в тетраді. Поява забороненої комбінації при ви­конанні операцій над числами свідчить про виникнення помилки або ж про нео­бхідність корекції результату.

У розрядній сітці машини двійково-десяткові коди представляються у фо­рмі з плаваючою або фіксованою комою. При цьому від'ємні числа відображаю­ться в прямому, оберненому або доповняльному кодах. Для Д-кодів не викону­ється умова отримання оберненого коду інвертуванням розрядів тетради.

Застосування Д-кодів у комп'ютерах не вимагає виконання різного роду пере­творень: двійково-десяткових чисел у двійкові та навпаки. Наприклад, за допомогою шифратора забезпечується порівняно простий спосіб введення в машину десяткових цифр двійково-десятковим кодом.

Значення однієї тетради Д-коду, доповнення тетради до дев'яти "9-Д" (обернений код) і до десяти "10-Д" (доповняльний код), а також коди з "лишком 3" і з вагою "5421" наведені в табл. 5.5

Таблиця 5.5

Код Д

Код “9-Д”

Код “10-Д”

Код “Д+3”

Код “5421”

X4 X3 X2 X1

Y4 Y3 Y2 Y1

F4 F3 F2 F1

Z4 Z3 Z2 Z1

E4 E3 E2 E1

0 0 0 0

0 0 0 1

0 0 1 0

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 0

0 1 1 1

1 0 0 0

1 0 0 1

1 0 0 1

1 0 0 0

0 1 1 1

0 1 1 0

0 1 0 1

0 1 0 0

0 0 1 1

0 0 1 0

0 0 0 1

0 0 0 0

1 0 1 0

1 0 0 1

1 0 0 0

0 1 1 1

0 1 1 0

0 1 0 1

0 1 0 0

0 0 1 1

0 0 1 0

0 0 0 1

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 0

0 1 1 1

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1

1 1 0 0

0 0 0 0

0 0 0 1

0 0 1 0

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 0

0 1 1 1

1 0 0 0

1 1 0 0

Систему мінімальних логічних виразів оберненого двійково-десяткового коду отримуємо за допомогою карт Карно (рис. 4.40), в які вносяться значення розрядів Y1-Y4 за даними табл. 5.5.

На основі карт Карно отримуємо систему рівнянь для розрядів Y1-Y4 оберненого Д-коду:

(5.6)

І з виразів (5.6) випливає, що значення другого розряду тетради прямого і оберненого Д-кодів збігаються. Схема перетворювача прямого Д-коду в оберне­ний на основі співвідношень (5.6) показана на рис. 5.10, а.

Можливий і інший спосіб побудови перетворювача Д-коду в обернений: спочатку інвертуються цифри всіх тетрад (виходить код з лишком шість) і далі відбувається віднімання з кожної тетради числа мінус 0110, що еквівалентне до­даванню в доповняльному коді плюс 1010 (без урахування перенесень між тетрадами). Наприклад, А = -148, прямий Д-код [А]ПР=1 0001 0100 1000; після інвертування: = 1 1110 1011 0111; після додавання плюс 1010 до кожної тетради одержуємо значення оберненого Д-коду: [А]ОБ= 1 1000 0101 0001.

Схема перетворювача на основі інвертування і корекції тетрад показана на рис. 4.41, б. В даній схемі інвертування значень розрядів тетрад здійснює­ть­ся логічними елементами "виключне ЧИ", а корекція реалізується типовою мік­росхемою чотирирозрядного комбінаційного суматора. Доповняльний Д-код те­тради виходить з оберненого додаванням одиниці до молодшого розряду.

Синтез перетворювачів коду

Кількість входів перетворювача коду завжди відповідає кількості бітів коду який перетворюємо. Для чотирибітового коду (тетрадного) необхідно чо­тири входи. Кількість виходів відповідає кількості бітів коду, до якого необхід­но перейти. Так, якщо проводиться перетворення із коду Айкена в код Хеммін­га, то необхідно 4 входи та 7 виходів (рис.1).

П еретворювачі кодів формуються за правилами синтезу схем.

Необхідний перетворювач коду можемо подати у вигляді таблиці істин­ності. За таблицею істинності необхідно записати для кожного виходу норма­ль­ну форму АБО. Потів її необхідно максимально спростити. За спрощеним вира­зом (логічним рівнянням) синтезуємо схему перетворювача.

П риклад: Реалізувати перетворювач коду Айкена в двійково-десятковий код (ВСD).

Отже, потрібна схема з чотирма входами та чотирма виходами рис. 2.

Операції, які повинна виконувати схема, подано в таблиці істинно­сті табл. 1. Для виходів Q1, Q2, Q3, Q4 отримуємо наступні нормальні форми АБО:

Таблиця 1

Входи

код Айкена

Виходи

ВСD

D

C

B

A

Q4

Q3

Q2

Q1

0

0

0

0

0

0

0

0

0

1

0

0

0

1

0

0

0

1

2

0

0

1

0

0

0

1

0

3

0

0

1

1

0

0

1

1

4

0

1

0

0

0

1

0

0

5

1

0

1

1

0

1

0

1

6

1

1

0

0

0

1

1

0

7

1

1

0

1

0

1

1

1

8

1

1

1

0

1

0

0

0

9

1

1

1

1

1

0

0

1

Нормальні форми АБО спрощуємо за допомогою карт Карно:

Q1

А

В

12

АВ

13

15

D

14

11

АСD

А 

С


Q2

А

В

12

11

D

14

13

В 

СD

С


Q3

А

В

12

D

14

13

11

В 

СD

С


Q4

А

В

D

12

11

ВСD

С


Q4 = ВСD

За спрощеними рівняннями можемо реалізувати схему. Якщо в наявнос­ті є тільки елементи І-НЕ, то рівняння необхідно відповідним чином перетво­рити:

Q4 = ВСD

За даним алгоритмом можна синтезувати перетворювач кодів для дові­ль­ного типу перетворень.

Завдання для самостійного виконання:

  1. Реалізувати перетворення десяткового коду в ВСD-код.

  2. Реалізувати перетворення ВСD-коду в десятковий коду.

  3. Реалізувати перетворення десяткового коду в код з надлишком 3.

  4. Реалізувати перетворення десяткового коду в 7-сегментний код.

  5. Реалізувати перетворення ВСD-коду в 7-сегментний код.

  6. Реалізувати перетворення коду Айкена в ВСD-код.

  7. Реалізувати перетворення коду Хеммінга в код з надлишком 3.

  8. Реалізувати перетворення ВСD-коду в код Хеммінга.

  9. Реалізувати перетворення десяткового коду в код Айкена.

  10. Реалізувати перетворення десяткового коду в код Хеммінга.

  11. Реалізувати перетворення коду Хеммінга в 7-сегментний код.

  12. Реалізувати перетворення коду Айкена в код з надлишком 3.

  13. Реалізувати перетворення коду з надлишком 3 в 7-сегментний код.

  14. Реалізувати перетворення коду Айкена в код Хеммінга.

  15. Реалізувати перетворення коду Айкена в 7-сегментний код.

Навчально-методичні матеріали

    1. Бойко В., Гуржій А., Жуйков В., та ін. Схемотехніка електронних си­с­тем. Цифрова схемотехніка. – Київ, «Вища школа», 2004.

    2. Бабич М., Жуков І. Комп’ютерна схемотехніка. Київ, «МК-Прес», 2004.

    3. Угрюмов Е. Цифровая схемотехника. Сакт-Питербург, 2004.

  1. Фрике К. Вводный курс цифровой электроники. Москва, 2004.

  2. Бойт К. Цифровая электроника. Москва, 2007.

  3. Андронік Буняк. Електроніка та мікросхемотехніка: навчальний посібник для вищих учбових закладів. - Київ - Тернопіль, 2001.

  4. Мальцев П.П. й др. Цифровые интегральные микросхемы.: Справочник. -М.: Радио й связь . 1994.

  5. Пухальский Г.И., Новосельцева В.Н. Проектирование дискретных уст­ройств на интегральных микросхемах: Справочник. - М.: Радио и связь, 1990.

  6. Титце У., Шенк К. Полупроводниковая схемотехника: Справочное ру­ководство. Пер. с нем. - М.: Мир, 1983..

  7. Скаржепа В.А., Луценко А.Н. Электроника й микросхемотехника.- К.: Выща школа, 1989.

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