- •Лабораторна робота № 1 Тема: структура учбової мікропроцесорної лабораторії, клавіатура керування, індикація
- •Коротка інформація
- •Порядок виконання лабораторної роботи
- •Лабораторна робота № 2 Тема: пам’ять учбової мікропроцесорної лабораторії, дослідження виконання програм в покроковому I автоматичному режимах
- •Коротка інформація
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Лабораторна робота № 3 Тема: дослідження програмно-доступних регістрів мікропроцесора кр580ик80
- •Коротка інформація
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Лабораторна робота № 4 Тема: вивчення команд пересилання даних.
- •Коротка інформація
- •Індивідуальне завдання на лабораторну роботу
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Лабораторна робота № 5 Тема: вивчення арифметичних команд
- •Коротка інформація
- •Індивідуальні завдання
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Лабораторна робота № 6 Тема: вивчення логічних команд
- •Коротка інформація
- •Індивідуальне завдання на лабораторну роботу
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Лабораторна робота № 7 Тема: вивчення команд переходів
- •Коротка інформація
- •Індивідуальні завдання
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Лабораторна робота № 8 Тема: вивчення команд введення / виведення, керування і рестарту
- •Коротка інформація
- •Індивідуальне завдання
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Лабораторна робота № 9 Тема: вивчення зв’язків мікролабораторії із зовнішнім середовищем
- •Коротка інформація
- •Індивідуальне завдання на лабораторну роботу
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Лабораторна робота № 10 Тема: керування клавіатурою і індикаторами мікро лабораторії
- •Коротка інформація
- •Індивідуальні завдання на лабораторну роботу
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Лабораторна робота № 11 Тема: програмування тимчасових затримок
- •Коротка інформація
- •Індивідуальне завдання на лабораторну роботу
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Лабораторна робота № 12 Тема: програмне керування пристроями введення / виведення
- •Коротка інформація
- •Індивідуальне завдання на лабораторну роботу
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Лабораторна робота № 13 Тема: динамічне керування об’єктами введення / виведення
- •Коротка інформація
- •Індивідуальне завдання на лабораторну роботу
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Лабораторна робота № 14 Тема: імітаційне моделювання передньої панелі вимірювального приладу з вбудованим мп
- •Коротка інформація
- •Індивідуальне завдання на лабораторну роботу
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Лабораторна робота № 15 Тема: тестування пам’яті мікропроцесорної системи
- •Коротка інформація
- •Індивідуальні завдання на лабораторну роботу
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Лабораторна робота № 16 5 Тема: макет мікропроцесорної системи охоронної сигналізації на автомобілі
- •Коротка інформація Постановка задачі
- •Інженерна інтерпретація
- •Оцінка системи
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Додаток. Система команд 8–розрядного однокристального мікропроцесора к580ик80а.
- •Література
Індивідуальне завдання
1. Скласти алгоритм програми з використанням підпрограми обробки переривання за командою RST 2. Перехід на підпрограму записати у вічку 83D1.
2. Реалізувати алгоритм в командах МП К580ИК80 і, використовуючи таблицю кодів, закодувати програму.
Порядок виконання лабораторної роботи
1. Занести в пам’ять мікро лабораторії програму рис. 8.5 і виконати її.
2. Занести в пам’ять, відлагодити і виконати індивідуальну програму.
3. Зробити висновки по лабораторній роботі.
Контрольні питання
1. Послідовність дій при входженні в підпрограму обробки переривання за командою RST і повернення в головну програму.
2. Послідовність дій при апаратному перериванню.
3. Як, використовуючи команди роботи із стеком, змінити вміст регістра прапорців?
4. Як виконуються команди XTHL і SPHL?
5. Як формується адреса переходу при виконанні команди RST n ?
6. Як програмно відключити і включити апаратні переривання?
Лабораторна робота № 9 Тема: вивчення зв’язків мікролабораторії із зовнішнім середовищем
Мета: ознайомитись із роботою мікросхеми інтерфейсу КР580ВВ55 та його програмуванням.
Коротка інформація
Зовнішні пристрої мікролабораторії (світлодіоди, перемикачі, клавіатура, гучномовець) підключені до шин МП-системи через паралельний периферійний інтерфейс КР580ВВ55 (ППІ). Структурна схема ПШ показана на рис. 9.1.
Мікросхема уявляє собою пристрій, що програмується, який використовується для вводу-виводу паралельної інформації. Схема дозволяє здійснювати обмін 8-розрядними даними через три порти А, В, С при виконанні команд IN # та OUT #. Порт складається з 8-розрядного вихідного регістру, вихідних формувачів і 8-розрядного вхідного регістру.
Рис. 9.1. Структура ППІ
Призначення виводів мікросхеми і сигналів, що надходять до мікросхеми ППІ:
D7 ÷ D0 – вхід/вихід двонаправленої шини даних мікропроцесорної системи (МПС);
А0, А1 – два адресних розряди шини адрес МПС, які забезпечують вибір конкретного порту або регістра керуючого слова (00 – порт А, 01 – порт В, 10 – порт С, 11 – регістр керуючого слова (РКС));
RESET – вхід сигналу скидання для установки внутрішніх регістрів ППІ у вихідний стан (всі порти встановлюються в режим вводу);
– сигнал вибору мікросхеми низького рівня (дозволяє зв’язок між ППІ і процесором);
– сигнал читання низького рівня, який забезпечує можливість отримання процесором інформації із ППІ;
– сигнал запису низького рівня, який дозволяє процесору занести дані або код керуючого слова в ППІ.
Напрямок обміну і режим роботи для кожного порту задається програмно шляхом виводу командою OUT в РКС коду керуючого слова. Порти слугують для передачі як даних, так і керуючих сигналів.
Адресовані об’єкти мікросхеми включають три порти вводу-виводу даних (А, В, С) і РКС.
Порт С може бути розділений на два чотирирозрядні підпорти вводу-виводу даних, до яких здійснюється доступ як до окремих незалежних портів. Є можливість розділення трьох портів на два канали. В цьому випадку порти А і В використовуються для обміну даними, а розряди порту С – для керуючих сигналів (С0 ÷ С3 – для керування роботою порту В, С4 ÷ С7 – для керування роботою порту А).
Режими роботи мікросхеми (її програмування) задаються шляхом запису певного коду в регістр керуючого слова (РКС). Існує три режими роботи.
Режим 0 – це простий ввод-вивод даних через три 8-розрядні порти, причому порт С може бути розділений на два окремих 4-розряді канали, по яких незалежно може здійснюватись введення або виведення інформації. При роботі мікросхеми в цьому режимі ніяких додаткових сигналів керування не потрібно. Інформація постійно приймається на вхідні регістри портів або видається з вихідних регістрів портів через вихідні формувачі на вихід портів на протязі всього режиму виведення.
Режим 1 дозволяє здійснювати або прийом, або видачу даних через порти А і В за допомогою сигналів керування (стробуючих сигналів), що подаються через порт С. Прийом або видача інформації через порти здійснюється тільки під час дії стробуючого сигналу. Незадіяні для керуючих сигналів розряди порту С окремо можуть бути використані для вводу-виводу даних. Напрямок передачі інформації через порти визначає код, що записаний в РКС.
Режим 2. В цьому режимі порт А може використовуватись для двонаправленої передачі даних, порт С – для запису керуючих сигналів, що забезпечують передачу даних через порт А. Керуючі сигнали є комбінацією сигналів, необхідних при роботі порту А в режимі 1.
Таблиця станів сигналів, які визначають передачу інформації.
Найменування сигналів |
Читання R = 0 |
Запис W = 0 |
ШД знаходиться в третьому стані |
Заборонена ситуація |
|||||
із порту A – в ШД |
із порту В – в ШД |
із порту С – в ШД |
із ШД – в порт A |
із ШД – в порт В |
із ШД – в порт С |
із ШД – в РКС |
|||
CS |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
WR |
0 |
0 |
0 |
1 |
І |
1 |
1 |
X |
0 |
RD |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
X |
1 |
Al |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
X |
1 |
A0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
X |
1 |
Очевидно, що при відсутності сигналу вибір мікросхеми не відбувається, тобто адреса, що виставлена на шину, відповідає іншим вузлам мікропроцесорної системи (ОЗП, ПЗП і т.д.). Заборонена комбінація вказує, що не можна здійснити читання РКС з видачею інформації на шину даних МП-системи.
В командах вводу IN # або виводу OUT # другий байт команди містить адресу конкретного порту або РКС. За адресою F8 здійснюється введення / виведення даних через порт A, F9 – через порт В, FA – через порт С і FB – вивід в регістр РКС. Інформаційний байт (дане, що виводиться або вводиться) при виводі подається із регістра А процесора через шину даних в ППІ, а при вводі – із ППІ через шину даних в регістр А процесора.
Для програмування режимів роботи ППІ в РКС завантажується керуюче слово (рис. 9.2), яке визначає режим і напрямок передачі інформації. Обмін сигналами при роботі в указаних режимах докладно описаний в довідковій літературі.
Розглянемо більш докладно апаратну реалізацію під’єднання зовнішніх пристроїв мікролабораторії через ППІ.
Рис. 9.2. Формат керуючого слова мікросхеми КР580ВВ55А.
Рис. 9.3. Інтерфейс мікролабораторії.
Старші чотири біта порту С програмуються на виведення, а порт А — на введення. Програма монітору видає по черзі на виходи С від’ємні імпульси, зчитуючи після кожного виведення інформацію з порту А. Кожний розряд порту С надходить на вісім кнопок клавіатури (горизонтальний ряд). Якщо жодна з кнопок ряду, на який поданий низький потенціал, не натиснута, в порт А надходить код FF, якщо натиснута хоча б одна кнопка, у відповідному розряді порту А з’явиться логічний нуль. Враховуючи номер ряду і розряд порту А, в якому при введенні був логічний нуль, монітор формує код натиснутої кнопки і звертається у відповідності з ним до потрібної програми, яка виконує відповідну цій кнопці операцію (рис. 9.3).
До восьми розрядів порту В підключені світлодіодні індикатори. Цей порт програмується на виведення. Розряд В0 порту В крім того ще підключений до гучномовця, тобто, організувавши певним способом програму, можна виводити інформацію у вигляді звукових сигналів. До розрядів С1...С3 порту С під’єднані тумблери, тобто, запрограмувавши певним способом ППІ, можна зчитувати інформацію з тумблерів і виводити її на світлодіодні індикатори.
Розглянемо програму, що вмикає всі світлодіоди, якщо тумблерами набраний код 010, і вимикає їх при інших положеннях тумблерів. Перетворення програми в коди МП студенти повинні виконати самостійно (рис. 9.4).
Адреса |
Код команди |
Мітка |
Мнемоніка |
Коментар |
8000 |
|
|
MVI А, 81 |
Програмування |
8002 |
|
|
OUT FB |
інтерфейсу |
8004 |
|
START: |
IN FA |
Читання з перемикачів і |
8006 |
|
|
MVI B, 04 |
керування світлодіода- |
8008 |
|
|
CMP В |
ми |
8009 |
|
|
JNZ OFF |
|
800С |
|
ON: |
MVI A, FF |
Включення індикаторів |
800Е |
|
|
ОГТ F9 |
|
8010 |
|
|
JMP START |
|
8013 |
|
OFF: |
MVI A, 00 |
Виключення індикаторів |
8315 |
|
|
OUT F9 |
|
8017 |
|
|
JMP START |
|
Рис. 9.4. Програма аналізу стану тумблерів.
Розглянемо практичний приклад програми, яка забезпечує видачу звукових сигналів. Для вирішення цієї задачі порт В повинен бути запрограмований на виведення інформації. Текст програми показаний на рис. 9.5. Кодування програми студенти повинні також виконати самостійно.
Змінюючи константу в операторі, що визначає цикл тимчасової затримки, можна змінювати тональність звукового сигналу. Експериментальну перевірку студенти виконують самостійно.
Адреса |
Код команду |
Мітки |
Мнемоніка команди |
Коментар |
8000 8002 |
|
|
MVI А, 80 OUT FB |
Програмування інтерфейсу |
8004 8006 |
|
S: |
MVI A, 01 ОUТ F9 |
Виведення на гучномовець рівня логічних "1" або "0" |
8008 800А 800В |
|
LOOP: |
MVI B.4F DCR В JNZ LOOP |
Виконання тимчасової" затримки |
800Е 800F |
|
|
СМА JMP S |
Підготовка до виведення на гучномовець інверсного коду |
Рис. 9.5. Програма видачі звукового сигналу.