8.2. Підрахунок імпульсів
РАХУНОК є одною із простіших функцій МП.
За звичаєм, рахунок пов’язаний з циклічною ділянкою програми або якоюсь зовнішньою подією. В МП можливі два способи організації підрахунку числа повторень чи зовнішніх подій. Розробці програми завжди передує послідовно складені блок-схеми різних рівнів. Приведемо, як приклад:
А) Початок Б) Початок
↓ ↓
Початкова Початкова
установка установка
лічильника лічильника
→ → ↓ ↓ ← ← ┐
↑Виконання основної Рахунок (+ або -) ↑
якоїсь функції ↓
↓ Результат = 0? ↑
Рахунок (+ або – 1) ↓ так ↓ні
↑ ↓ ↓ виконання
└ ні Результат = 0 ? ↓ якоїсь ↑
↓ так ↓ основної функц┘
Кінець Кінець
Для організації підрахунку один із регістрів загального призначення РЗП використовується як лічильник. За допомогою команд він загружається відповідною константою, з якої віднімається 1 до одержання нульового результату в цьому регістрі. Нульове вмістиме регістру визначається командою умовного переходу. В деяких МП можливо краще записати в регістр доповнюючий код числа та збільшувати в кожному циклі його на 1 до нульового результату. Результат при цьому, звісно, буде той же самий.
При відсутності зайвого регістру, як лічильник можливе використання комірки оперативного запам’ятовуючого пристрою.
Як бачимо способи дають різні результати в роботі. Лівий А) - завжди виконує якусь запрограмовану основну функцію і після її виконання перевіряється умова для виходу із циклу зменшення вихідної константи на 1, якщо результат = 0. По другому способу – основна функція може не виконатись ні разу, якщо після першого ж збільшення чи зменшення на 1 константи результат буде дорівнювати 0.
Можливі варіанти реальної програми:
По варіанту А):
MOV A, -10 ; до регістру А заноситься константа –10
BEGIN: ; мітка початку програми, яка повторюється
...................... ; тіло основної програми, що буде повторюватись
INС A ; збільшуємо зміст регістру А на 1
CZ BEG3 ; виходимо з програми на мітку BEG3, якщо
; результат в регістрі А дорівнює 0, умовний
; перехід по нульовому результату
JMP BEGIN ; безумовний перехід на початок, якщо в А не «0».
По варіанту В):
MOV A, -10 ; до регістру А заноситься константа –10
BEG5: ;нова мітка для початку збільшення змісту А
INС A ; збільшуємо зміст регістру А на «1»
CZ BEG3 ; виходимо з програми на мітку BEG3, якщо
; результат в регістрі А дорівнює «0»
BEGIN: ; мітка початку програми, яка повторюється
...................... ; тіло основної програми, що буде повторюватись
JMP BEG5 ; безумовний перехід на початок, якщо в А не 0
Розглянуті схеми та програми дозволяють вести підрахунки подій до
величини, яка обмежена розрядністю (n) регістрів чи комірки пам’яті, які використовуються як лічильники. Для 8-ми розрядів рахунок можна вести до 256. Для більшого числа повторень потрібно використовувати регістри подвійної довжини, що збільшує число повторень до 65536.
- Київ нухт 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
- Бібліотека алгоритмів «ломіконту»