8.1 Форомалізований підхід до розробки прикладної програми
Якщо цільова функція використання мікроконтролера КР1816ВЕ5 визначена, тобто, поставлена задача на розробку праграми, то для отримання вихідної програми необхідно виконати настпні послідовні дії:
■ виконати детальний опис задачі, яку повинен виконувати КР1816ВЕ51;
■ провести аналіз задачі;
■ виконати інженерну інтерпретацію задачі з використовуванням апарату формалізації (наприклад, скласти граф автомата Мілі (рис.8,а), використати матрицю стану або мережі Петрі тощо);
■ розробити загальну блок-схему алгоритму (БСА) мікроконтролера (рис.8,б);
■ розробити деталізовані БСА окремих процедур, які повинні бути виділені
на базі модульного принципу складання програми;
■ виконати детальну розробку інтерфейсу мікроконтролера;
■ розподілити робочі регістри та пам’ять мікроконтролера;
■ виконати форматування тексту вихідної програми.
В результаті роботи по першим трьом пунктам наведеного переліку дій отримують так звану функціональну специфікацію прикладної програми, в які основна увага повинна бути зосереджена на деталізації способів формування вхідної і вихідної інформації.
На мові схем алгоритмів розробник описує метод, який вибраний для вирішення поставленої задачі. Часто буває, що одна і таж задача може бути
вирішена різними методами. Спосіб вирішення задачі , що вибраний на стадії її інженерної інтерпретації, на базі якого складається БСА, буде визначати як якість майбутньої прикладної програми, так і якість функціонування мікроконтролера на об’єкті.
П орівнюючи фрагменти гафа Мілі та фрагмент БСА, які приведені на рис.8, можна стверджувати , що вони еквівалентні. На фрагментах X та Z- двійкові вектори, що належать множині комбінацій вхідних {x} та вихідних {z} сигналів, а Q – це стан автомату із множини можливих станів {q}. Стан автомату Qi і вихідний вектор Zi є функціями попереднього стану Qi-1 автомату і плинного вхідного вектору Xi.
Операторні прямокутники в БСА інтерпретуються як
а) б) вершини (стійкі стани) графу автомата, а умовні
Рис. 8.1 оператори – як дуги графу Xi/Zi, тобто, переходи з одного стійкого стану в інший. При цьому операторний прямокутник являє собою фрагмент програми. В час всього стійкого стану Qi вихідний вектор Zi залишається незмінним, поки не змінить свій стан вхідний вектор Xi. Для цього в період стійкого стану Qi умовні оператори алгоритму програмної реалізації автомату селектують (із заданим періодом дискретизації) зміну вхідного вектору Xi, якщо вона відбулась під дією зовнішніх (по відношенню до МП) подій. В результаті встановлення факту зміни вектора Xi. контролер переходить в новий стійкий Qi+1 стан автомату і генерує новий вихідний вектор Zi+1, значення якого повністю визначені графом автомата.
В свою чергу при розробці БСА бажано притримуватись наступних етапів:
■ визначити, що повинен робити кожний модуль, кожний фрагмент пркладної програми;
■ визначити способи отримання модулем вихідних даних (від первинних вимірювальних перетворювачів (сенсорів) через порти, чи таблиць пам’яті, чи робочі регістри); для реалізації введення вихідних даних в модуль в його БСА ввести відповідні оператори;
■ визначити неохідність попередньої обробки введених даних (маскування, зсув, масштабування , перекодування тощо) іпри неохідності останньої ввести
відповідні оператори;
■ визначити способи перетворення вхідних даних у необхідні вихідні;
використовуючи оператори процедур та умовні оператори , відображувати
на БСА вибраний метод змістовної обробки вхідних даних;
■ визначити способи видачі із модуля опрацьованих даних (передати у пам’ять,чи у програму виклику, чи у порти тощо);
визначити необхідність постобробки виведених даних (зміна формату,перекодування, масштабування, маскування тощо) і ввести по необхідності в БСА відповідні оператори для виводу інформації із модуля;
■ повернутись на початок та проаналізувати отриманий результат. По можливості виконати ітеративне коригування БСА з метою його спрощення;
■ перевірити алгоритм на папері шляхом введення в нього дійсних даних та розглянути граничні значення інформаційних об’єктів в ньому (аналіз можливих переповнень розрядної сітки МП, зміна знаку результату операції, ділення на змінну, яка може приймати нуль, реакцію алгоритму на переривання тощо).
Наступний етап - компіляція вихідного модулю отриманої прикладної програми на мову машинних команд та занесення об’єктного модулю у ППЗП з подальшим налаштуванням МП КР1816ВЕ31(51) в складі МПС.
- Київ нухт 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
- Бібліотека алгоритмів «ломіконту»