- •В.В. Ткачов, г. Грулер, н. Нойбергер, с.М. Проценко, м.В. Козарь
- •Передмова
- •Загальні поняття й структура систем керування
- •Дискретні або цифрові ск
- •Основи обчислювальної техніки
- •Основи булевої алгебри
- •Базові логічні елементи
- •Реалізація логічних елементів (ле)
- •Діодні логічні елементи
- •Транзисторні логічні елементи
- •Комбінаційні пристрої
- •Дешифратори, мультиплексори, демультиплексори
- •Арифметичні пристрої Напівсуматор
- •Повні двійкові суматори
- •Однорозрядний двійковий суматор
- •Багаторозрядний суматор
- •Арифметико-логічні пристрої
- •Цифрові пристрої послідовністного типу Тригери
- •Регістри
- •Паралельний регістр
- •Послідовний регістр
- •Лічильники
- •Підсумовуючі двійкові лічильники
- •Організація пам'яті
- •Оперативні запам'ятовувальні пристрої
- •Постійні запам'ятовувальні пристрої
- •Методи й способи реалізації дискретних і цифрових су
- •Контрольні запитання
- •2. Загальні відомості про мікроконтролери
- •Структура й функціональні можливості базової моделі мcs-51 (мк51)
- •Програмно доступні ресурси мк51
- •Методи адресації в мк51
- •Система команд мк51
- •Арифметичні команди
- •Логічні команди
- •Команди пересилання
- •Команди передачі керування
- •Команди роботи з бітами
- •Контрольні запитання
- •3. Порти вводу/виводу інформації
- •Контрольні запитання
- •4. Організація переривань
- •Контрольні запитання
- •5. Організація тимчасових затримок у мікропроцесорних системах
- •Контрольні запитання
- •Правила написання програм для мк 51
- •Компілятор для мікроконтролерів сімейства мк51
- •Синтаксис мови асемблера
- •Директиви асемблера
- •Обчислення під час транслювання
- •Порівняння під час транслювання
- •Повідомлення про помилки асемблювання
- •Методика роботи з компілятором x8051
- •Діалоговий режим
- •Режим командного рядка
- •6.8. Редактор зв'язків для компілятора мікроконтролера сімейства мк51
- •Приклади вводу інформації з дискретних датчиків
- •Організація передачі інформації в послідовному форматі в мікропроцесорних системах (мпс)
- •Принципи передачі інформації з послідовного каналу зв'язку
- •Послідовний інтерфейс у мікроконтролері мсs51
- •Режим роботи 0
- •Контрольні запитання
- •9. Послідовні шинні системи (канали зв'язку)
- •Загальні поняття про електронні шинні системи
- •Різновиди послідовних шинних систем
- •Окремі приклади інтерфейсів та послідовних шин
- •Інтерфейс rs 232
- •Визначення логічного рівня
- •Розведення контактів та сигналів
- •Довжина кабелю
- •З’єднання rs 485
- •Концепція шини
- •Передача даних на рівні розрядів
- •Керування доступом до спільного ресурсу (розподіл доступу до шини) та тактова синхронізація
- •Адресація користувачів шини ( I 2c – блоки)
- •Can (Controller Area Network –мережа контролерів)
- •Фізичні характеристики
- •Характеристики протоколу рівня передачі бітів
- •Протоколи застосування на базі can
- •Основні характеристики can
- •Контрольні запитання
- •Приклади розробки систем керування на базі мк-51
- •Система керування з неперервними характеристиками
- •Система керування кроковим двигуном
- •Практична частина Лабораторна робота №1
- •Методика виконання.
- •Вихідні дані для програми:
- •Лабораторна робота №2
- •Індивідуальні задання:
- •Лабораторна робота №3
- •Методика виконання:
- •Задання:
- •Лабораторна робота №4
- •Методика виконання:
- •Варіанти задань
- •Лабораторна робота №5 Дослідження тимчасових затримок у мп системах
- •Приклад:
- •Методика виконання:
- •Варіанти задань.
- •Лабораторна робота №6
- •Методика виконання:
- •Задання:
- •Лабораторна робота №7 Дослідження послідовного інтерфейсу в
- •Методика виконання.
- •Список літератури
- •Для нотаток
- •Для нотаток
- •Для нотаток
Арифметичні пристрої Напівсуматор
Напівсуматор – це пристрій, що реалізує функцію «сума за модулем 2»
(М2). Напівсуматори застосовуються при побудові арифметико-логічних пристроїв (АЛП) як елементи, що реалізують функцію нерівнозначності, і як складові частини повних арифметичних суматорів. Таблиця істинності функції, її функціональна схема й умовне зображення показані на рис. 1.16. Очевидно, що на виході напівсуматора буде 1 тільки при комбінаціях вхідних сигналів 01 і 10.
x2
x1
y x1
0 0 0 1
0 1 1
1 0 1 x2
1 1 0
1
&
M2
y
x2
y=x1+
х2
&
21
б) в)
Рис. 1.16. Функція М2: а) таблиця істинності; б) функціональна схема; в) умовне зображення
Повні двійкові суматори
Правила виконання арифметичних операцій
Арифметичні належать до поширених операцій, що виконуються цифровими пристроями.
Правила виконання арифметичних операцій над двійковими числами є аналогічними до відповідних правил десяткової арифметики й зведені в табл. 1.1 і 1.2.
Таблиця 1.1
Правила й приклад виконання арифметичного додавання
-
Двійкове додавання
Доданки
k -го розряду
Сума k -го розряду
Перенос в k 1-
й розряд
Приклад
0
+
0
=
0
0
+
1100
– перенос
0
1
+
+
1
0
=
=
1
1
0
0
1101
1100
1-й доданок
2-й доданок
1
+
1
=
0
1
11001
– сума
Таблиця 1.2
Правила й приклад виконання арифметичного вирахування
-
Двійкове віднімання
Зменшуване k -
го розряду
Від’ємне k -го розряду
Різниця k -го розряду
Позика з k 1-го розряду
Приклад
0 – 0 = 0
0
010 – позика
0 – 1 = 1
1
–
1101 – зменшуване
1 – 0 = 1
0
1010 – від'ємний
1 – 1 = 0
0
0011 – різниця
Для виконання арифметичних операцій над двійковими числами зі знаком уводять додатковий (знаковий) розряд, який указує, чи є число позитивним або негативним. Якщо число позитивне, у знаковий розряд проставляється символ 0, якщо негативне, то символ 1. Наприклад, число (+5) з урахуванням знакового розряду (відділяється крапкою) запишеться як 0.101, а число (–3) як 1.011.
При додаванні чисел з однаковими знаками вони складаються, і сумі привласнюється код знака доданків, наприклад:
2
510
0.011
0.010
0.1012
3
510
0.011
0.1012
22
Ускладнюється операція додавання чисел з різними знаками (алгебраїчне додавання), що рівносильно відніманню чисел. У цьому випадку необхідно визначити більше за модулем число, зробити віднімання й привласнити різниці знак більшого (за модулем) числа.
Для спрощення виконання цієї операції доданки зображуються у зворотному або додатковому кодах, оскільки відомо, що операція віднімання (алгебраїчного додавання) зводиться до операції простого арифметичного додавання двійкових чисел, зображених у зворотному або додатковому кодах. Позитивні числа в прямому, зворотному й додатковому кодах мають той самий вид, а негативні – різний.
Щоб зобразити негативне двійкове число у зворотному коді треба поставити в знаковий розряд 1, а у всіх інших розрядах прямого коду замінити одиниці нулями, а нулі – одиницями, тобто проінвертирувати число.
При записі негативного двійкового числа в додатковому коді, треба поставити 1 у знаковий розряд, а інші розряди одержати зі зворотного коду числа за допомогою додавання 1 до молодшого розряду.
Наведемо приклади запису двійкових чисел зі знаками в прямому, зворотному й додатковому кодах.
-
Число
Прямий код
Зворотний код
Додатковий код
+6
0.110
0.110
0.110
-5
1.101
1.010
1.011
-11
1.1011
1.0100
1.0101
Пояснимо процедуру віднімання чисел 5 і 3, 3 і 5. Послідовність і взаємозв'язок операцій наведено у табл. 1.3.
Правила
віднімання
чисел
Таблиця 1.3
Дія |
Зворотний код |
Додатковий код |
5 3 5 32 |
x1 0,101 x2 1,100 0,101 + 1,100 10,001
0,010 Перенос у молодший розряд. Сума позитивна |
x1 0,101 x2 1,101 0,101 +1,101 10,010 х 0,010 Одиниця переносу в молодший розряд ігнорується. Сума позитивна |
3 5 3 52 |
x1 0,011 x2 1,010 0,011 + 1,010 1,101 Перенос у молодший розряд відсутній. Сума негативна й зображена у зворотному коді |
x1 0,011 x2 1,011 0,011 + 1,011 1,110 Сума негативна й зображена в додатковому коді |
23
З прикладів випливає, що при використанні зворотного коду в пристрої, який забезпечує підсумовування багаторозрядних двійкових чисел – двійковому суматорі, необхідно передбачити ланцюг циклічного переносу. У випадку використання додаткового коду цей ланцюг відсутній.
З наведеного вище можна зробити наступний висновок. Застосування простого математичного «трюку» (подання двійкових чисел у зворотному або додатковому коді) дозволяє пристосувати двійковий суматор для виконання як операцій додавання двійкових чисел, так і операцій їх віднімання.
Більше того, за допомогою двійкового суматора можна забезпечити також виконання й операцій множення й ділення двійкових чисел (тобто всіх чотирьох арифметичних дій), оскільки множення являє собою послідовне додавання, а ділення – послідовне віднімання.
