Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Proektuvannya_mk_prystroyv_metoda.doc
Скачиваний:
3
Добавлен:
30.04.2019
Размер:
1.75 Mб
Скачать

Методичні вказівки для виконання лабораторних робіт для студентів спеціальності 7.091501 денної та заочної форм На вчання. Укл. Огневий О.В.- Хмельницький ТУП.

Лабораторна робота №1 вивчення структури, алгоритму роботи і програмування мікропроцесора intel

8080 (КР580ВМ80)

Мета роботи: вивчити структуру, алгоритм роботи, методи програмування мікропроцесорів

Теоретичні відомості

Вивчення МП 8080 (КР580ВМ80) припускає ознайомлення студентів з генератором тактових сигналів 8084 (КР580ГФ24) та системним контролером 8228 (КР580ВК28).

Мікропроцесор Intel 8080 (КР580ВМ8) має фіксований набір команд. Час виконання команд визначається часом отримання, декодування і виконання команди. Найбільш короткий часовий інтервал називається машинним тактом і рівний періоду синхросигналів, що подаються на ВІС мікропроцесора. Мінімальна тривалість одного такту рівна 400 не для тактової частоти F=2,5 МГц. Час, необхідний для витягу 1 байта інформації із пам'яті чи зовнішнього пристрою або виконання команди, визначаємої одним машинним словом, називається машинним циклом. Машинний цикл може включати в себе 3-5 машинних тактів. В залежності від виду команди час виконання команди може складатися з 1-5 машинних циклів. Для МП КР580ВМ80 є 10 різних типів машинних циклів:

1) добування коду команди (цикл М1);

2) читання даних із пам'яті;

3) запис даних в пам'ять;

4) добування даних із стека;

5) запис даних в стек;

6) введення даних із зовнішнього пристрою;

7) запис даних у зовнішній пристрій;

8) цикл обслуговування переривання;

9) зупинка;

10) обслуговування переривання під час зупинки.

Першим машинним циклом при добуванні будь-якої команди є цикл М1. На кожному машинному циклі МП перевіряє стан сигналу READY на своєму вході. Нульвий сигнал НІ цьому иході призупиняє роботу МП.

Внутрішні регістри (А - акумулятор і регістри читального призначення (РЗП) - B,C,D,E,H,L) МП 8-рочрядпі, причому регістри можуть утворювати пари, реалізуючи т.Ч. 16-рочрядні % регістрові пари - B,D,H. Лічильник команд - PC, вказівник стека SP - 16р. регістри. Регістр прапорців F містить наступні ознаки: прапорець переносу С (встановлюється в 1 при виникненні переносу із старшого розряду акумулятора), прапорець нульового результата Z, прапорець знака S (встановлюється в 1, якщо старший розряд результата в акумуляторі рівний 1), прапорець допоміжного переносу АС (встановлюється в 1 при переносі з молодшої тетради акумулятора в старшу), прапорець парності Р (встановлюється в 1 при парному числі одиниць в байті результату, розміщеному в акумуляторі).

До складу МП входять перераховані регістри, АЛП, регістр ознак, схема десяткової корекції, допоміжний аккумулятор, дешифратор команд і формувач машинних циклів, схема управління і синхронізації, регістр адреси із схемами Інкрементування і декрементування, буфер адреси і буфер даних.

Обмін з зовнішніми пристроями та.пам'яттю МП здійснює через 8-розрядну шину даних. МП КР580ВМ80 адресується до пам'яті і зовнішніх пристроїв через 16-розрядну шину адреси. Максимальне число комірок пам'яті, до яких він може звертатися, рівне 64К.

Команди МП реалізовані так, що вони маніпулюють з одно- і двохбайтними двійковими словами (числами). В систему команд МП не включені команди обробки двійкових чисел із знаками і чисел з плаваючою комою, а також команди десяткової арифметики.

Для реалізації команд застосовуються одно-, двох- і трьохбайтні формати. В першому байті команди чи його частині розміщується код операції, а в інших частинах і байтах - операнди чи вказівники операндів, утворюючи таким чином нуль, одно- і двохадресні команди. Загальне число допустимих кодів команд рівне 244. Деякі групи кодів команд, що виконують однотипні операції над різними даними, мають однакові мнемоніки асемблера. Загальне число мнемонік рівне 78. Для адресації операндів використовуються

наступні типи адресації: неявна, безпосередня, пряма регістрова, пряма, непряма регістрова, стекова В двохадресних командах застосовуються комбінації перерахованих видів адресації.

В МП КР580ВМ80 реалізовані наступні класи команд: пересилок (число кодів рівне 97), арифметичні (74), логічні (32), змінюючі порядок обчислень (35), керуючі (6).

До складу першого класу входять однонаправлені пересилки, циклічні пересилки, команди вводу-виводу.

До складу другого класу входять команди додавання, додавання з урахуванням переносу, обрахування, обрахування з урахуванням зайому, інкрементування, декрементування, десяткової корекції, порівняння.

До складу третього класу входять команди логічного І, логічного АБО, виключаючого АБО, інвертування вмісту акумулятора, зсувів.

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

До складу п'ятого класу входять команди ТС, CMC, HLT, NOP, E1, D1

Програма записується в мікроЕОМ в послідовних комірках пам'яті,

Розглянемо як приклад програму, що добуває число із адреси пам'яті 0800h, інвертує його і записує результат в адрес пам'яті 0801h.

В мнемокодах асемблера програма буде мати вигляд, представлений в Табл. 1.

.

Таблиця 1. Приклад програми в мнемокодах асемблера

Асембле Р

Коментар

LDA 0800

Загрузити аккумулятор вмістом комірки пам'яті по адресу 0800

СМА

Інвертувати число

STA 0801

Записати результат по адресу 0801

RST1

Перервати виконання програми

При запису програми всі числа представляються в шістнадцятковій системі числення (h - hex.).

Для запису програми в пам'ять мікроЕОМ необхідно перевести мнемокоди команд в машинні коди. У зв'язку з тим, що команди в програмі можуть бути одно-, двох-, трьохбайтні, то вони займають в пам'яті відповідно один, два, і три адреси. Тоді програма розміститься по адресам в наступному порядку (Табл.2).

Таблиця 2. Приклад програми в машинних кодах.

Адрес

Коди

Коментар

0900

ЗА

код команди LDA

0901

00

молодший байт адреса

0902

08

старший байт адреса

0903

2F

код команди СМА

0904

32

код команди STA

0905

01

молодший байтадреса

0906

08

старший байт адреса

0907

CF

код команди RST 1

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

Таблиця 3. Приклад програми в компактній формі.

Адрес

Коди

Асемблер

Коментар

0900

ЗА1008

LDA, 0800

одержати число

0903

2F

СМА

інвертувати число

0904

321108

STA, 0801

записати по адресу 080lh

0907

CF

RST1

перервати виконання програми

Завдання до лабораторної роботи

1) Ознайомитися з. теоретичними відомостями про МП КР580ВМ80, генератор тактових імпульсів КР580ГФ24, системний контролер КР580ВК28, а також з відомостями, приведеними в паспорті на модуль УМПК-80/ВМ.

2) Вивчити наявні в МП регістри і типи адресації.

3) Ознайомитися з системою команд МП КР580ВМ80, призначенням виводів МП.

4) Розробити програму до завданню.

5) Записати програму в машинних кодах.

6) Відладити складену програму, перевіривши правильність її роботи.

7) Зарисувати часову діаграму заданої команди.

8) Скласти звіт по виконаній роботі.

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

1) Вивчити теоретичні відомості про мікропроцесор КР580ВМ80, генератор тактових імпульсів КР580ГФ24, системний контролер KPS80BK28, а також відомості, приведені в паспорті ні модуль УМПК-80/ВМ.

2) Одержані завдання у викладача.

3) Розробити програму згідно завдання на мові Асемблер 8080 (в

мнемокодах).

4) Користуючись таблицею команд МП 8080, перекласти програму

з мови Асемблер 8080 в машинні коди. Розмістити

байти по адресам.

5) Ввімкнути УМПК-80.

6) Ввести програму в пам'ять УМПК-80,

7) Виконати програму в автоматичному режимі, покомандним циклам, по

машинним циклам. Якщо виявлені помилки, виправити їх.

8) Записати інформацію, індикуєму на світлодіодах шин адреса, даних і

керування в кожному режимі виконання. Поставити у відповідність

мнемокоди.

9) Вимкнути УМПК-80.

10) Оформити звіт згідно вимог до його вмісту.

11) Підготувати відповіді на контрольні питання.

12) Доповісти викладачу про готовність до здачі лабораторної роботи.

Зміст звіту

Дати визначення МП, МГЖ, структури пристрою (ВІС), машинного такту, машинного никлу, командного циклу; описати типи машинних циклів, структуру МП 8080, завдання до лабораторної роботи, програму в мнемокодах, машинних кодах, скласти опис виконання програми в програмному, покомандному і поцикловому виконанні з вказанням значень шин адреса, даних, керування і їх значення, висновки по лабораторній роботі.

Контрольні запитання

1. Що називається мікропроцесором?

2. Що називається мікропроцесорним комплектом?

3. Що називається машинним тактом?

4. Що називається машинним циклом?

5. Що називається командним циклом?

6. Які бувають типи машинних циклів?

7. Яка структура МП 8080?

8. Які є регістри МП 8080? ,

9. Які є прапорці МП 8080?

10. Які бувають класи команд МП 8080?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]