- •Київ нухт 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. Приклади програмування на асемблері кр1816ве51
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) в складі МПС.