- •1. Основи теорії автоматичного регулювання
- •Основні поняття і визначення
- •1.2. Показники якості процесів регулювання
- •1.3. Об'єкти регулювання і їх властивості
- •1.3.1. Математичний опис нагрівальної печі як простішого об'єкту регулювання
- •1.3.2. Визначення параметрів об'єкту регулювання по кривій розгону
- •1.4. Закони автоматичного регулювання і основні типи регуляторів
- •1.4.1. Двопозиційний (релейний) регулятор
- •1.4.3. Пропорційно-інтегральний (пі) регулятор
- •1.4.2. Пропорційний (п) регулятор
- •1.4.4. Пропорційно-інтегрально-диференційний (під) регулятор
- •1.5. Математичні основи теорії автоматичного регулювання
- •1.5.1. Перетворення Лапласа
- •1.5.2. Застосування перетворення Лапласа. Передавальна функція
- •1.5.3. Типові ланки сар
- •1.5.4. З'єднання ланок. Передавальна функція замкнутої сар
- •1.5.5. Стійкість сар і методи її дослідження
- •1.6. Оптимізація перехідного процесу в сар з об'єктом регулювання типу «аперіодична ланка із запізнюванням»
- •1.7. Датчики сигналів зворотного зв'язку
- •1.7.1. Датчики температури
- •1.7.2. Нормуючі підсилювачі-перетворювачі
- •1.7.3. Датчики-вимірники тиску і витрати
- •2. Основи мікропроцесорної техніки
- •2.1. Подання чисел в цифрових пристроях
- •Відповідність двійкових, десяткових і шістнадцяткових чисел
- •2.1.1. Основні дії над двійковими числами
- •2.2. Типова структура мікропроцесорної системи
- •2.3. Мікроконтролери
- •2.3.1. Види архітектури мпс
- •2.3.2. Структура мікроконтролерів типу ріс16f87x
- •2.4. Основні типи команд і їхнє застосування
- •2.4.1. Основні типи команд та особливості програмування мікроконтролерів
- •2.5. Організація та функціонування стекової пам’яті та переривань
- •2.6. Основні внутрішні периферійні пристрої мікроконтролера
- •1. Універсальні порти вводу-виводу.
- •2. Набір таймерів.
- •2.7. Організація і функціонування інтерфейсу
- •Скорочена система команд мп кр580вм80
- •Команди мікроконтролерів pic16f87х
- •Перелік посилань
- •1. Основи теорії автоматичного регулювання..........................3
- •1.1. Основні поняття і визначення....................................................................3
- •Навчальний посібник до вивчення курсу «автоматизація технологічних процесів і мікропроцесорна техніка»
2.4.1. Основні типи команд та особливості програмування мікроконтролерів
Система команд для мікроконтролерів з RISС - архітектурою трохи простіша і має меншу кількість команд (МП КР580ВМ80 має 111 команд, а PIC16F87X використовує лише 35). В програмуванні багато спільного, але є і деякі особливості.
Система команд мікроконтролера PIC16F87х наведена в табл.2.4. В цій таблиці також наведені змінні при цьому прапори регістра стану STATUS.
Кожна команда (інструкція) - це 14 - бітове слово (код), що розподіляється на: код операції і один або більш операндів, що можуть брати участь або ні в цій команді. Особливістю є те, що система команд PIC16F87Х містить в собі байт-орієнтовані і біт-орієнтовані команди (операції з окремими бітами).
Для байт-орієнтованих команд символ "f" у мнемоніці команди вказує регістр (його адреса), з яким виконується дія. Символ "d" - визначає, де зберігається результат операції. Якщо "d"=0, то результат буде поміщений в робочий регістр W, при "d"=1 - в регістр "f".
Для біт-орієнтованих команд символ "b" означає номер біта, що бере участь у команді, а символ "f" вказує регістр, де біт розміщений. Для команд з константами і переходу "k" означає восьми - або одинадцятибітну константу.
Всі команди виконуються протягом командного циклу. В двох випадках виконання команди займає два командні цикли:
- перевірка умови і перехід;
- зміна вмісту програмного лічильника як результат виконання команди.
Один командний цикл складається з чотирьох періодів тактового генератора. Таким чином, для генератора з частотою 4 МГц час виконання командного циклу буде 1 мкс, при 20 МГц – 200 нс.
В табл.2.4 команди об'єднані в такі ж, як і в табл.2.3 умовні групи.
Будь-яких особливостей команди 1 групи не мають, окрім команди CLRWDT (вона може бути віднесена і до спеціальних), що призначена для скидання вартового таймера. Ця команда повинна бути присутньою в таких дільницях програми, щоб час виконання програми між двома сусідніми командами CLRWDT не перевищував часу спрацьовування вартового таймера.
Більшість команд з групи 2 виконують операції над даними, що заздалегідь завантажені до робочого регістра W. Результат операції можна зберігати в ньому ж або в регістрі, що бере участь в операції. В залежності від результату у регістрі стану STATUS відповідні розряди встановлюються в 0 або 1.
Переходи можуть бути як безумовними (GOTO k, CALL k), так і умовними. В якості команд умовних переходів можна використати команди 11, 15, 34, 35, наприклад, DECFSZ f,d. Ця команда означає: відняти 1 з вмісту регістра f і, якщо результат дії не дорівнює 0, то виконати наступну команду, що вибрана під час виконання поточної; якщо результат 0, то пропустити. Отже, перевіряється умова – результат дорівнює 0 або ні і, в залежності від цього, виконуються різні дії. Таким чином, можна організувати галуження програми і особливо зручно формувати цикл, оскільки команда також зменшує вміст регістра на одиницю (до тих пор, доки не отримається 0).
Команда CALL використовується для переходу в підпрограму за адресою, що задається у команді, а команда RETURN - для повернення із підпрограми. Обидві команди виконуються за 2 цикли. Адреса команди, що слідує за командою CALL, запам'ятовується у спеціально організованих регістрах, що називаються стеком адресів повернення. В кінці підпрограми по команді RETURN МП витягає зі стека адресу, встановлює її у лічильник - регістр команд, і з нього продовжує виконання програми. Таким чином, після повернення із підпрограми виконання основної програми продовжується з наступної після CALL команди. Вміст регістрів W і STATUS при виклику підпрограми не зберігається, тому, якщо необхідно, їх можна зберегти в окремих комірках пам'яті.
В МК стек, як правило, апаратний (немає команди LXI SP, A16), використовується тільки для зберігання адрес повернення і не вимагає жодних команд. У той же час деякі типи мікроконтролерів дозволяють організувати і стек в ОЗП, що аналогічний стеку у класичних МПС.
До спеціальних команд відноситься команда SLEEP, що призначена для переведення процесора у режим зниженого енергоспоживання. Після виконання цієї команди тактовий генератор процесора вимикається і назад в робочий режим процесор можна перевести або за входом скидання, або за спрацьовуванням вартового таймера, або за перериванням.
Є також дві команди зсуву: RRF - зсув праворуч через біт CARRY вмісту будь-якого регістра f і RLF – зсув ліворуч. Як і для інших команд, при d=0 результат зсуву записується в регістр W, а при d=1 залишається в регістрі f. Команди зсуву можна використати для виконання операцій множення і ділення, для послідовної передачі даних і т.п. В усіх випадках біт, що зсувається з 8-битного регістру f, записується в біт С (CARRY) регістра STATUS, а біт C записується в інший кінець регістра f, в залежності від напрямку зсуву. При зсуві ліворуч RLF вміст C записується в молодший біт регістра f, а при зсуві праворуч RRF - C записується в старший біт регістра f.
Група 5 включає до себе біт–орієнтовані команди, які дозволяють змінювати і контролювати стан окремого біта.
Укладання тексту програми, його редагування з наступною трансляцією звичайно здійснюється на персональному комп'ютері з використанням спеціального програмного забезпечення. Стосовно контролерів PIC це програма MPLAB (вільно розповсюджується фірмою Microchip). Якщо додати програматор (ICD-S) – прилад, що записує код програми в мікроконтролер з відповідною програмою (ICD Control Program) і безпосередньо плату мікроконтролера – одержуємо програмно-апаратний комплекс достатній для отримання кінцевого результату. Слід відзначити можливість програмування МП в готовому приладі (не виймаючи мікросхему з плати).
