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; повернення.
- Київ нухт 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
- Бібліотека алгоритмів «ломіконту»