Тема: Програмування мікро – еом 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема: Програмування мікро – еом



Мета роботи: одержання навиків програмування мікро-ЕОМ для реалізації керуючих функцій.

Порядок виконання роботи

5.2.1 Перевірка засвоєння студентами теоретичного матеріалу.

5.2.2 Видача завдань на програмну реалізацію окремих елементів керуючого алгоритму.

5.2.3 Складання, налагодження та реалізація програм корекції конкретних розрядів байта, який видається (задача видачі керуючих сигналів).

5.2.4 Складання, налагодження та реалізація програми аналізу конкретних розрядів прийнятого байта. Оволодіння прийомами маскування (задача читання датчиків).

5.2.5 Набуття навиків роботи з підпрограмами.

5.2.6 Набуття навиків програмування таймера.

5.2.7 Виконання бригадного завдання.

5.2.8 Програма реалізації заданої комбінаційної схеми.

5.2.9 Складання звіту з лабораторної роботи.

Методичні вказівки

В процесі виконання роботи студенти відпрацьовують прийоми аналізу стану датчиків на об’єкті керування, видачі керуючих сигналів на об’єкт, використання підпрограм, реалізація тимчасових затримок (програмування таймера). Такі навики необхідні для реалізації керуючих алгоритмів програмним способом з використанням мікропроцесора.

5.3.1 Перевірка теоретичних знань студентів проводиться викладачем протягом перших десяти хвилин занять. При цьому виявляється ступінь активності кожного студента, якість засвоєння теми. Форма питання повинна бути спрямована на формування у кожного студента особистої відповідальності за ефективність своєї праці.

5.3.2 Завдання на програмну реалізацію окремих елементів керуючого алгоритму видається кожній бригаді студентів. Завдання відрізняються одне від одного комбінаціями вхідних та вихідних сигналів розміром тимчасової затримки.


Таблиця 5.1 — Варіанти бригадних завдань

Бригада Аналіз датчиків Вихідні сигнали   Ттимчасова затримка, с  
вимкнути   ввімкнути  
№1 X1, ХЗ У1, У4 У2, У5  
№ 2 Х2, X1 УЗ, У5 У1, У4  
№ 3 X1, Х2 У2, У6 УЗ, У5  
№ 4 Х3, X1 У4, У5 У2, У6  
№ 5 Х2, X3 У56 У1, УЗ  

5.3.3 Задача видачі сигналів керування зводиться до вмикання розрядів вихідного порту мікро-ЕОМ у різних комбінаціях. При цьому комбінації повинні змінювати одна одну при переході до чергової операторної вершини граф-схеми алгоритму керування.

Реалізувати зміни вихідних сигналів мікро-ЕОМ можна двома способами: статичним та динамічним.

Статичнийспосіб припускає пряме включення необхідних розрядів вихідного порту без врахування їх попереднього стану. Пряме включення тих або інших світлодіодів на виході мікро ЛАБ KP580 ИК-80 відпрацьовувалось у лабораторній роботі № 4.

Наприклад: MVI А, <константа> – завантаження у акумулятор коду числа, яке відповідає комбінації нулів та одиниць у виходному байті.

OUT F9 видача коду в порт виведення.

Цей простий спосіб використовується при невеликому числі керуючих сигналів. Особливість способу полягає в тому, що керуючі сигнали розглядаються у статиці, та при переході від одної комбінації до другої всі сигнали, що не були вимкнуті, потребують повторного включення.

Але, в багатьох практичних випадках, коли число сигналів керування перевищує 10...15 цей спосіб є нелегким, а коли сигнали формуються програмами не підходить у принципі. Тоді використовується динамічний спосіб формування сигналів керування.

Динамічний спосіб розглядає зміну вихідних сигналів при переході між операторними вершинами граф-схеми алгоритму. Він реалізує лише необхідні зміни, зберігаючи значення решти розрядів вихідного порту.

Ця задача розв’язується в два прийоми. Спочатку занулюються розряди сигналів, які вимикаються при збереженні решти інформації.

Потім примусово заносяться одиниці в розряди сигналів, що вмикаються.

Це можна зробити таким чином.

Занулення конкретних розрядів:

MVІ В <маска о.р.> Завантаження в регістр В маски розрядів, що занулюються;

IN F9 Читання порту виведення;

CMA Інвертування вмісту регістра-акумулятора;

ОRA B Логічне додавання вмісту регістра А з маскою;

CMA Інвертування вмісту регістра-акумулятора;

OUT F9 Видача результатів в порт виведення.

При цьому розряди порту, які вказані в масці, вимикаються.

5.3.4 Задача читання датчиків зводиться до аналізу стану відповідних розрядів вхідного порту.

Виділення розряду, що аналізується проходить по розрядних логічних множеннях місткості порту введення та "маски" конкретного датчика, який підключений до даного розряду. При цьому використовується такий набір команд:

MVI D, <маска датчика> Занесення маски датчика в регістр;

IN FA Читання порту введення;

ANA D Логічне множення вмісту регістра А та маски;

J... Адреса Умовний перехід за адресою.

Маску можна включити безпосередньо в команду логічного множення. Тоді команда ANA D замінюється командою ANІ <маска>, а команда MVI D вилучається.

Спільний аналіз двох датчиків (при розгалуженні алгоритму на три напрямки) робиться аналогічно, але результат маскування порівнюється послідовно з константами, які відповідають шляхам переходу.

Наприклад:

 
 

 

 


MVI D, OA Занесення в регістр маски Х1Х3;

 

 
 

 


IN FA Читання порту введення;

ANA D Маскування;

CPI OA Порівняння з константою;

JZ M3 Перехід на мітку МЗ;

CPI 02 Порівняння з константою;

JZ M2 - Перехід на мітку М2;

JMP M1 Безумовний перехід на мітку.

Слід відмітити, що маскування спрощується, якщо маску розташовувати прямо в команді логічних множень ANІ <маска>. У цьому випадку не використовується регістр загального призначення та вилучається операція його завантаження.

5.3.5 Використання підпрограм значно спрощує програмування алгоритмів керування, оскільки програма керування зображує чергування однотипних процедур. Це процедури корекції розрядів байта що видаються (сигнали керування), це аналіз розрядів вхідного байта (читання датчиків), це організація тимчасових затримок (реалізація таймерів).

Усі ці процедури бажано реалізувати через підпрограми.

5.3.6 Програмування таймера організовується як тимчасова затримка, яка необхідна на виконання великої кількості простих та коротких машинних команд. Такою командою є зменшення на одиницю вмісту регістрової пари (ДСХ <код пари>).

Приклад програми тимчасової затримки:

Мітка 1 LXI B, K Завантаження константи у регістрову паруВ (регістри В і С);

Мітка 2 DCХ В Зменшення на одиницю вмісту

реєстраційної пари В.

MOV А, В Пересилання вмісту регістра В у регістр А;

ORA C Логічне складання вмісту

регістра А та С;

Мітка 3 JNZ МІТКA 2 Внутрішня петля таймера;

DCR D Зменшення на 1 вмісту регістра-

(установлюється завчасно)

JNZ МІТКA 1 Основна петля затримки.

Комбінація команд MOV А, В і ORA C дозволяє перевірити на нуль шістнадцятирозрядну регістрову пару у восьмирозрядному регістрі-акумуляторі.

5.3.7 Вказівки до виконання бригадного завдання

Програма повинна починати свою роботу при вимкнених датчиках. При цьому вихідні сигнали, які подаються, ввімкнуті (реалізувати прямим включанням).

При вмиканні першого датчика комбінація вихідних сигналів повинна змінюватись динамічним способом.

При спрацьовуванні другого датчика повинні загоратися усі світлодіоди та погаснути після заданої тимчасової затримки.

 
 

5.3.8 Програмна реалізація заданої комбінаційної схеми проводиться кожним студентом самостійно. Кожний студент одержує свій варіант завдання у вигляді схеми на логічних елементах. Для програмної реалізації схеми її необхідно виразити структурною формулою. Тоді формується вихідний сигнал У1 при появі на вхідному порту тих комбінацій включання датчиків, які відповідають складовим структурної формули

Приклад:

За схемою складена структурна формула:

 

Таблиця 5.2 — Програма, що реалізується

Адреса Код Мітка Мнемокод Коментар
         
    MVI A, 81 Програмування
       
  Д3   OUT FB Інтерфейса
  FB      
  DB START: IN FA Читання вхідного порту
  FA      
  E6   ANI OE Виділення сигналів Х1Х2Х3
  OE      
Продовження таблиці 5.2
         
  FE   CPI OA Перевірка доданка
  OA      
800А CA   JZ ON Перехід на ON, якщо перший доданок дорівнює 1
800В IC    
800С        
800Д FE   CPI OC Перевірка доданка
800Е OC      
800F CA   JZ ON Перехід на ON, якщо другий доданок дорівнює 1
  IC    
         
  FE   CPI 00 Перевірка доданка
         
  CA   JZ ON Перехід на ON, якщо третій доданок дорівнює 1
  IC    
         
  3E   MVI A, 00 Завантаження 0, якщо всі доданки дорівнюють 0
         
  C3   JMP OUT Перехід до виходу результату
801A IE      
801B        
801C 3E ON: MVI A, 02 Завантаження у акумулятор VI
801D        
Продовження таблиці 5.2
         
801Е Д3 OUT: OUT F9 Видача VI у вихідний порт
801F F9      
  C3   JMP START Повернення до початку програми
       
         

Зміст звіту:

— титульний лист;

— мета роботи;

— варіант бригадного завдання;

— програма, що реалізує завдання;

— індивідуальне завдання на реалізацію комбінаційної схеми;

— програма, що реалізує роботу комбінаційної схеми.

Звіт оформляється на листах формату А4 згідно з вимогами ЄСКД до текстових документів.

 


ЛАБОРАТОРНА РОБОТА №6



Поделиться:


Последнее изменение этой страницы: 2016-07-11; просмотров: 56; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.159.224 (0.09 с.)