- •Київ нухт 2011
- •1. Загальні відомості про мікропроцесор та мікропроцесорну систему
- •1.1. Мікропроцесор. Загальні положення та визначення.
- •1.2. Архітектура мікропроцесора
- •1.3. Загальна структура мікропроцесора та його функціонування
- •1.4. Поняття про мікропроцесорну систему (мпс)
- •1.5. Поняття мікропроцесорного контролера
- •2. Загальні відомості пронадання та опрацювання інформації в мікропроцесонній техніці
- •2.1. Поняття інформації та дві форми її надання
- •2.2. Фізична суть цифрової інформації та елементи її реалізації
- •3. Основи алгебри логіки
- •3.1. Загальні положення
- •3.2. Опис та задання логічних функцій.
- •3.3. Основні логічні функції алгебри логіки
- •4. Способи надання інформації в мікропроцесорі
- •4.1. Поняття систем числення в мікропроцесорній техніці
- •4.2. Дівйкова система числення та основи переведення чисел між системами числення
- •4.2.1. Перетворення двійкових чисел в десяткові.
- •4.2.2. Перетворення десяткових чисел в двійкові
- •4.3. Вісімкова та шістнадцяткова системи числення
- •5. Структурні елементи мікропроцесора
- •5.1. Поняття машинного слова, регістрів
- •5.2. Формати надання чисел в мікропроцесорах
- •5.3. Двійкова арифметика в мікропроцесорі.
- •5.4. Двійково-десяткова арифметика.
- •5.4.1 Додавання двійково-десяткових чисел без знаку.
- •5.4.2 Додавання двійково-десяткових чисел із знаком.
- •5.5. Регістр стану (psw) мп та його призначення
- •5.6. Поняття шин (bus) мікропроцесора
- •5.7. Арифметично – логічний пристрій мікропроцесора
- •5.8. Пристій вводу – виводу (пвв).
- •In 07н; ввести в акумулятор дані із порту 7;
- •Поняття шинних драйверів.
- •5.9. Поняття інтерфейсу
- •5.10. Передавання інформації у послідовному коді.
- •5.11. Память мікропроцесорів та опереції з нею
- •5.12. Адресний простір мікропроцесора
- •5.13. Стек та його використовування
- •6. Мови програмування мпс
- •6.1. Рівні мов прграмування мп.
- •6.1.1. Базова мова мікропроцесора.
- •6.1.2. Мова “ асемблер” (другого рівня).
- •6.1.3. Мови третього рівня.
- •6.2. Основні правила запису програм на мові асемблера
- •6.3 Програмне забезпечення мікропроцесорнихсистем та його види
- •6.4. Способи адресації в мікропроцесорній системі
- •6.5. Формати команд мікропроцесорів
- •Варіанти однобайтних команд:
- •6.6. Робочий цикл виконання програми мп
- •7. Однокристальний мікропроцесорний контролер кр1816ве51…….
- •7.1. Номеклатура та порівняльні характеристики мп
- •7.2. Структурна схема мікроконтролера кр1816ве51 та призначення складових
- •Призначення виводів мп кр1816ве51
- •Призначення виводів мп кр1816ве51
- •7.3. Функціонування мп кр1816ве51
- •7.4. Система команд мп кр1816ве51
- •In port- те, що знаходиться в порту вводу заноситься в акумулятор а
- •8. Приклади програмування на асемблері кр1816ве51
- •8.1 Форомалізований підхід до розробки прикладної програми
- •8.2. Підрахунок імпульсів
- •8.3. Функції часової витримки
- •8.4. Функції вимірювання часових інтервалів
- •8.5. Перетворення кодів між системами числення
- •8.6. Аналого-цифрове перетворення
- •8.7 Приклад програмування технічної задачі
- •8.7.1. Постановка задачі
- •8.7.2. Аналіз задачі.
- •8.7.3. Розробка схеми пристрою та інтерфейсу.
- •8.7.4. Інженерна інтерпретація задачі
- •8.7.5. Розробка блок –схеми алгоритму
- •8.7.6 Розробка прикладної програми
- •Програма sezam
- •Контрольні запитання з курсу
- •Література
- •1..Технічне та програмне забезпечення плк “ломіконт” Функціональні можливості плк “Ломіконт”.
- •Технічні характеристики Ломіконта
- •2. Фізична сруктура контролера та його склад
- •На рис 1.1 приведена фізична структура л-110 з основними модулями.
- •Програмування плк “ломіконт”
- •ПрК задає логіку управління конкретним технологічним об”єктом.
- •Порядок виконання програми контролером:
- •05 Если умова а
- •07 Если умова в
- •11 Если умова с
- •00 Если в дв015
- •01 Тогда о кс102
- •02 Иначе в кс116
- •14 Тогда алг 031 (потім виконати алгоритм 031)
- •3. Приклад програмування на технологічній мові «Мікрол»
- •Програмування алгоритму
- •Безпоседньо програма
- •11 Тогда о кс100 - 26 тогда тс 1.0.0
- •Бібліотека алгоритмів «ломіконту»
5.4. Двійково-десяткова арифметика.
5.4.1 Додавання двійково-десяткових чисел без знаку.
Додавання десяткових чисел, кожне з яких має тільки один десятковий розряд і кодується двійковою тетрадою (десятковий двійково кодований упакований формат), виконується так, як додавання 4-х розрядних двійкових чисел без знаку, за виключенням того випадку, коли результат в тетраді, перевищує 1001 (тобто 9). В цьому випадку необхідно виконувати десяткову корекцію. Корекція результату виконується додаванням до двійкового числа коду тетроди числа 6, тобто 0110, якщо було перенесення 1 із молодшої тетради (в якій знаходиться результат додавання) в старшу, або якщо число в молодшій тетраді перевищує 9. Перенесення, яке виникає при перевищені результату числа 9, треба враховувати при додаванні багаторозрядних двійково-десяткових чисел, додаючи його наступного старшого розряду.
Приклади додавання однорозрядних чисел:
4 + 5 = 9 5 + 9 = 14 9 + 9 = 18
0100+0101=1001 0101+1001=1110 1001 + 1001 = 1 0010
(не перевищує 9) (перевищує 9) (перевищує 9 з перенесенням 1)
(і є результатом) результат вимагає результат вимагає
(без корекції) корекцію +0110 (6 ) корекцію +0110 (6 )
результат: (10 +4 ) 1 0100 результат: (10 +8 ) 1 1000.
Приклад додавання багаторозрядних чисел:
1889 0001 1000 1000 1001
+ 6376 0110 0011 0111 0110
= 8265 = 0111 1011 1111 1111
+ 0110 +0110 +0110 проводимо корекцію +6
+ 1 = 0101
+ 1 =0110 (5 )
(6 )
+ 1 = 0010
1000 (2 )
(8 ). Загальний результат :8265 .
5.4.2 Додавання двійково-десяткових чисел із знаком.
Алгоритми додавання та віднімання двійково-десяткових чисел із знаком розглянемо на наступних прикладах.
5.4.2.1 (+428) + 316 =+744. Нижче наводимо цю операцію у 2-10 коді:
(знаки)
0000 0100 0010 1000 (+428)
+ 0000 0011 0001 0110 (+316)
= 0000 0111 0011 1110
(корекція останньої тетради) + 0110
Результат: = 0000 0111 0100 0100
(+) (7) (4) (4).
5.4.2.2 (+428) - 316 =+112. Нижче наводимо цю операцію у 2-10 коді:
Операцію віднімання МП виконує, як окремий вид додавання, тому від’ємник повинен бути наданий у доповнюючому коді. Доповненням до числа 316 – є число 684, так як їх сума дорівнює 1000.
(знаки)
0000 0100 0010 1000 (+428)
+ 1001 0110 1000 0100 (-684)
= 1001 1010 1010 1100
(всі тетради крім знакової коригуємо) + 0110 0110 0110
= 1010 0001 0010 0010
(тепер вимагає корекцію знакова тетрада) +0110
= 1 0000 0001 0010 0010..
Результат: (+) (1 ) (2 ) (2 )
Наявність перенесення «1» із знакової тетради в неіснуючий розряд, показує
що результат знаходиться у прямому коді.
5.4.2.3 (-428) + 316 = -112. Нижче наводимо цю операцію у 2-10 коді:
Доповненням до числа 428 – є число 571 + 1 = 572.
1001 0101 0111 0010 (-572)
+ 0000 0011 0001 0110 (+316)
= 1001 1000 1000 1000
(-) (8 ) (8 ) (8 )
Відсутність перенесення в неіснуючий розряд показує, що отриманий результат (-888 ) знаходиться у доповнюючому коді. Прямий код (модуль числа) дорівнює: 1000 – 888 =112.
5.4.2.4 (-428) - 316 = -744. Нижче наводимо цю операцію у 2-10 коді:
Доповненням до числа 428 – є число 571 + 1 = 572. Доповненням до числа 316 – є число 684.
1001 0101 0111 0010 (-572)
+ 1001 0110 1000 0100 (-684)
= 1 0010 1011 1111 0110
(корекція знакової тетради , з неї було + 0110 0110 0110
перенесення, та ще двох, крім останньої) = 1001 0010 0101 0110
(-) (2 ) (5 ) (6 )
Відсутність перенесення після корекції в в неіснуючий розряд показує, що отриманий результат (-256 ) знаходиться у доповнюючому коді. Прямий код (модуль числа) дорівнює: 1000 – 256 = 744.
По аналогії розглянутих двійкової та двійково-десяткової арифметик використовується і шістнадцяткова арифметика, яка значно скорочує записи двійкових чисел.