- •Київ нухт 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
- •Бібліотека алгоритмів «ломіконту»
8.3. Функції часової витримки
Функції часової витримки або генерації часових інтервалів, необхідні при організації взаємодії МП з периферійними пристроями. Тактова частота МП завжди відома точно та разом з числом тактів , які необхідно на виконання команд в МП, може використовуватись для організації часової затримки. При цьому використовують 2 способи.
Для малих затримок може використовуватись команда пустої операції (NOP;), виконання якої займає фіксовану кількість тактів без виконання перетворення інформації. Наприклад, в МП К580 з тактовою частотою 2 МГц така команда виконується за 4 такти, тобто, за 2 мкс ( час виконання одного такту = 0,5 мкс). Послідовний запис у програмі декількох таких команд дозволяє дістати більший час витримки, але він буде обов’язково кратним часу виконання одної команди.
Другий спосіб організації програмної затримки в часі будується на
організації циклів виконання одної ділянки програми, число повторень якої і відповідно витримка в часі залежать від константи, що завчасно була занесена в лічильник. Наприклад:
MOV A, 40; 7 тактів, безпосередня загрузка акумулятора
TAJM: INX A ; 5 тактів, віднімання 1 від числа в акумуляторі
CZ BEG1 ; умовний перехід по нульовому результату та перехід
JMP TAJM; на початок, займають 10 тактів
Таким чином після виконання цієї послідовності команд дістаємо затримку в тактах 7 + 40 ( 5 + 10) = 607 тактів, та множимо на час одного такту (0,5 мкс) і отримуємо витримку 3,5 + 40 * 7,5 = 303,5 мкс.
Якщо витримка в часі потрібна рівно 300 мкс, то можна використати команди NOP (пуста операція) і програма буде мати вигляд:
MOV A, 39; 7 тактів, безпосередня загрузла акумулятора
TAJM: INX A ; 5 тактів, віднімання 1 від числа в акумуляторі
CZ BEG1 ; умовний перехід по нульовому результату та перехід
JMP TAJM; на початок, займають 10 тактів
BEG1 : NOP ; пуста операція
NOP ; пуста операція
…….. ; продовження програми.
Зальний час витримки = 3,5 + 39 * 7,5 + 2*2 = 300 мкс.
При організації витримки в часі в процесорі КР1816ВЕ51необхідно використовувати таймери/лічильники Т/С0 або Т/С1. Наприклад, підпрограма виконання витримки на 50 мс з похибкою не більше 2 мкс.
ZATRUM MOV TMOD, #0001H; налаштування лічильника Т/С0
MOV TH0, #HIGH (NOT (50000-16));
MOV TL0, #LOW (NOT (50000-16));
SETB TCON.4; старт лічильника Т/С0
VUTR JMB TCON.5, VUTR; чекання
ANL TCON, #NOT (30H); стоп та скид Т/С0
RET; повернення.
8.4. Функції вимірювання часових інтервалів
В задачах керування часто виникає необхідність вимірювання проміжку часу між двома подіями. Загалом такі події надаються дискретними сигналами від відповідних ПВП. Рахуючи подіями фронт та спад імпульсу, можна визначити такі часові характеристики імпульсних сигналів як протяжніть, період та скважність, швидкість переміщення об’єкту, що рухається, при наявності кінцевих вимикачів початку та кінця події.
Простішим способом вимірювання протяжності імпульсу є програмний.
Наприклад, вимірюваний імпульс подається в порт 3 біт 2 МК51:
; версія для КР1818ВЕ51
MOV TMOD, #0001H; налаштування лічильника Т/С0
MOV ТН0, #0; скид таймера
MOV ТL0, #0;
SETB TCON.4; старт лічильника Т/С0
WAIT0: JNB P3.2, WAIT0; очікування переходу із 0 в 1
WAIT1: JB P3.2, WAIT1; очікування переходу із 1 в 0
CLR TCON.4; стоп лічильника Т/С0
EXIT: …… ; вихід із процедури