Читайте также: |
|
ВСТУП
Цикл лабораторних робіт з курсу «Електроніка та мікропроцесорна техніка» виконується на лабораторних стендах на базі універсальної мікропроцесорної системи, а також за допомогою інтегрованого відлагоджувача програм в середовищі Windows.
Універсальна мікропроцесорна система призначена для знайомства з особливостями побудови мікро-ЕОМ на мікропроцесорі Intel-8080 з фіксованим набором команд і використовується для дослідження методів програмування і роботи ВІС, що входять у мікропроцесорний комплект, а також як керуюча ЕОМ при створенні і дослідженні систем керування з різними об'єктами.
Мета методичних вказівок – надбання навичок програмування на мовах низького рівня (АСЕМБЛЕР, машинні коди) мікропроцесора комплекту КР580.
Усі лабораторні роботи розраховані на виконання протягом відведеного навчального часу за умови належної теоретичної підготовки.
У результаті попередньої підготовки потрібно вміти відповісти на всі контрольні запитання до роботи; під час лабораторних занять виконати необхідні завдання; оформити звіт про роботу; дати на підпис викладачеві. Звіти оформляти кожному студентові в окремому зошиті.
теоретичнА частина
Структурна схема мікропроцесорної системи
Апаратурний склад МПС.
До складу МПС входять такі великі інтегральні схеми (ВІС):
– вісьмирозрядний процесор КР580ВМ80;
– програмований послідовний інтерфейс КР560ИК51;
– програмований паралельний інтерфейс KР580BB55;
– контролер переривань КР580ВН59;
– програмований таймер КР580ВИ53.
Основні технічні характеристики.
Ємність ОЗП – 1 кБайт.
Ємність ППЗП – 12 кБайт.
Загальне число каналів введення-виведення інформації 48, зокрема що з гальванічною розв'язкою 8 (4- для введення, 4 - для виведення).
Число каналів послідовного введення - 1, виведення – 1.
Діалог з контролером здійснюється за допомогою пульта керування і керуючої програми МОНІТОР.
Число цифр…букв, що відображаються, на індикаторі - 9, організація одночасного свічення всіх індикаторів динамічна, здійснюється програмним шляхом.
Програмне забезпечення МПС.
Програмне забезпечення МПС надає користувачеві засоби контролю і відладки програм в режимі реального часу, дозволяє понизити трудоємність і підвищити якість програмування алгоритмів, що реалізовуються МПС, а також контролювати працездатність МПС.
До програмного забезпечення входять:
– керуюча програма МОНІТОР;
– бібліотека підпрограм обробки чисел з плаваючою комою;
– тест-програма перевірки працездатності КПУ.
Пам'ять МПС розподілена таким чином:
0000Н…07FFH – тести, ініціалізація МПС;
0800Н…08FFH – бібліотека програм;
2000Н…23FFH – ОЗП користувача;
3000Н…37FFH – МОНІТОР;
5000H…7FFFH – ППЗП користувача.
Програма МОНІТОР встановлює початок стека з адреси 2035Н. Комірки з адресами 2000Н... 2060Н є робочими комірками програми МОНІТОР.
Мікропроцесор КР580ВМ80 є основою МПС K1-20.
Цей мікропроцесор є аналогом мікропроцесора Intel-8080, має близько вісімдесяти команд. Він є однокристальним восьмирозрядним МП з фіксованою системою команд, і призначений для створення засобів обробки даних в пристроях автоматики, контролерах і мікро-ЕОМ. Він поміщений в пластиковий корпус з 40 виводами і споживає потужність 750 мВт. Його тактова частота складає 4 МГц.
Мікропроцесор Intel-8080 має восьмирозрядну внутрішню шину даних. Обмін інформацією між внутрішньою шиною даних і шиною даних мікропроцесорної системи здійснюється через двонаправлений буферний регістр даних. Шістнадцатирозрядна шина адреси дозволяє мікропроцесору здійснювати безпосередню адресацію до 64Кб пам'яті. Буферні регістри адрес і даних мають виходи з трьома станами (високий і низький рівні та стан з високим вхідним опором), що дозволяє відключати мікропроцесор від шини системи при реалізації режиму прямого доступу до пам'яті з боку зовнішніх пристроїв.
Секція регістрів включає вісім восьмирозрядних регістрів (Z, W, B, C, D, E, H, L) і три шістнадцятирозрядних регістра: програмовий лічильник (РС), покажчик стека (SP), керований адресний регістр. Регістри B, C, D, E, H, L є регістрами загального призначення (РЗП), залежно від типу команди можуть використовуватися або як самостійні регістри, або як шістнадцятирозрядні пари BC, DE, HL. Буферні регістри Z і W не є програмно-доступними регістрами і використовуються для виконання команд у середині ВІС мікропроцесора.
Рисунок 1.1 – Структурна схема мікропроцесора Intel-8080.
Програмовий лічильник (РС) містить адресу пам'яті, по якій знаходиться поточна команда. Вміст лічильника автоматично змінюється протягом кожного циклу команди. Покажчик стека (SP) містить адресу пам'яті, починаючи з якої її можна застосовувати для зберігання і відновлення змісту програмно-доступних регістрів МП ВІС.
Мікропроцесор складається з восьмирозрядного арифметико-логічного пристрою (АЛП), схеми десяткової корекції (ДК), побудованої на базі ПЗП, восьмирозрядного регістру ознак (F), акумулятору (A) і буферного регістру (Т). Арифметико-логічний пристрій дозволяє здійснити арифметичні операції складання і віднімання, а також основні логічні операції (І, АБО, виключне АБО) і зсування. При проведенні операцій одне число завжди береться з акумулятора, а інше - з буферного регістра T. Результат виконання операції поступає на внутрішню шину даних або записується в регістр накопичувача. Блок десяткової корекції при необхідності здійснює переклад вмісту регістра накопичувача з двійкової в двійково-десяткову форму.
Після виконання кожної операції в АЛП виробляється п'ять ознак, значення яких можуть впливати на виконання подальших команд обробки інформації (але не всіх) і умов передачі керування. Для зручності збереження і відновлення стану мікропроцесора під час переривань і переходу до підпрограм всі ознаки зібрані в одному регістрі – регістрі ознак (F).
Ознака перенесення (Carry – C) встановлюється в одиницю, якщо при виконанні команд з'являється одиниця перенесення із старшого розряду.
Додаткова ознака перенесення (Auxiliary carry – AC) встановлюється в одиницю, якщо при виконанні команди виникає одиниця перенесення з третього розряду числа. Стан розряду може бути проаналізований лише командою десяткової корекції числа.
Ознака знаку (Sign – S) в машинному слові можна представити числом від -128 до +127. В цьому випадку сьомий (старший) розряд числа – його знак. Одиниця в сьомому розряді при такому записі указуватиме на від’ємне число, а нуль – на додатне.
У розряд нульової ознаки (Zero – Z) записується одиниця, якщо при виконанні команди результат дорівнює нулю.
У розряд ознаки парності (Parity – P) записується одиниця, якщо при виконанні команди кількість одиниць у розрядах результату буде парною.
Регістр команд (IRR) і дешифратор команд використовується в мікропроцесорній ВІС для отримання і дешифрування команди. При витяганні команди, перший байт, що містить її код, поміщається в регістр команди і поступає на дешифратор команд. Дешифратор спільно з схемою керування і синхросигналами F1 та F2 формує керуючи сигнали для всіх внутрішніх блоків мікропроцесорної ВІС, а також його вихідні сигнали керування і стану.
На схему керування надходять шість сигналів і виходять ще шість керуючих сигналів.
Вхідні керуючі сигнали МП Intel-8080.
F1, F2 - Тактові імпульси. Постійно подаються на МП, забезпечують тактування.
RESET - Скидання. Початкова установка і запуск командного циклу з адреси 0000H.
READY - Готовність даних до обміну між пам'яттю або зовнішніми пристроями (ЗП) і мікропроцесором.
INT - Запит на зовнішнє переривання.
HOLD - Захват шин. Запит на прямий доступ до пам'яті з боку зовнішніх пристроїв.
Вихідні керуючі сигнали МП Intel-8080.
DBIN - Дозвіл прийому інформації з шини даних системи.
- Ознака видачі інформації на шину даних.
SYNC - Синхронізація. Початок машинного циклу.
WAIT - Очікування. Мікропроцесор знаходиться в стані очікування.
INTE - Дозвіл переривання.
HLDA - Підтвердження захвату шин. Ознака допуску зовнішніх пристроїв до шин даних і адреси.
Виконання кожної команди проводиться мікропроцесорною ВІС в певній послідовності, що визначається кодом команди, і синхронізується в часі сигналами F1, F2 тактового генератора.
Залежно від виду команди час виконання команди (час отримання, декодування і виконання) може складатися з 1–5 машинних циклів. Машинний цикл (МЦ) – час, потрібний для витягання одного байта інформації з пам'яті або виконання команди, що визначається одним машинним словом. Машинний цикл може складатися з 3–5 машинних тактів. Машинний такт (МТ) – період синхросигналів F1 або F2. Для мікропроцесорної ВІС Intel-8080 існує десять різних типів машинних циклів:
– витягання коду команди;
– читання даних з пам'яті;
– запис даних в пам'ять;
– витягання із стека;
– запис даних в стек;
– введення даних із зовнішнього пристрою;
– запис даних у зовнішній пристрій;
– цикл обслуговування переривання;
– обслуговування переривання при роботі МП в режимі зупинення;
– зупинення.
Першим машинним циклом при виконанні будь-якої команди завжди є цикл витягання коду команди.
Восьмирозрядне машинне слово використовується для повідомлення МП коду команд або даних. Набір команд фіксований і складається з 244 різних команд. Всі команди можна розділити на п'ять груп:
– команди перенесення даних, що здійснюють перенесення даних між регістрами або регістрами і пам'яттю;
– арифметичні команди, включають команди складання, віднімання, збільшення або зменшення на одиницю даних в регістрах або пам'яті;
– логічні команди, що дозволяють здійснити логічні операції І, АБО, виключаюче АБО, порівняння, зсування в регістрах або пам'яті;
– команди передачі керування, що забезпечують передачу керування по умові або безумовну передачу, а також виклик або повернення з підпрограм;
– команди керування і роботи із стеком, які організовують введення-виведення інформації з мікро-ЕОМ, доступ до стека і внутрішнього регістра ознак мікропроцесорної ВІС, а також її керування.
Пам'ять мікро-ЕОМ організована у вигляді восьмирозрядних комірок, кожна з яких має свою шістнадцятирозрядну адресу. Таким чином, мікропроцесорна ВІС може оперувати пам'яттю до 65536 байт.
Одна команда може містити від одного до трьох байт. Багатобайтові команди записуються в послідовні елементи пам'яті. Перший байт команди завжди містить код команди. При трибайтових командах в другому і третьому байтах містяться дані (адреса), причому в другому байті записується молодший байт даних, а в третьому – старший байт даних (адреси).
Мікропроцесорна ВІС має п'ять різних типів адресації до пам'яті або регістрів: пряма адресація – другий і третій байти команди містять адресу пам'яті (молодший байт адреси в другому байті команди, а старший байт – в третьому); регістрова – команда вказує на регістр або пару регістрів, в яких записані дані; безпосередня – команда сама містить дані; посередньо-регістрова – команда вказує на пару регістрів, в яких записана адреса пам'яті по якому знаходяться дані; неявна – команда, в якій місцезнаходження операнда і результату операції фіксоване.
За винятком обслуговування переривань і виконання команд передачі керування, мікропроцесор здійснює виконання програми, прочитуючи команди послідовно з елементів пам'яті.
У командах передачі керування адреса, до якої звертатиметься мікропроцесор, може вказуватися за допомогою прямої або непрямої адресації. При виконанні команд передачі керування за умовою МП перевіряє наявність умови і у разі її підтвердження здійснює передачу керування. При незадоволенні умови виконання програми продовжуватиметься з команди, записаної в елементі пам'яті, наступному після команди передачі керування за умовою.
При обслуговуванні переривання, залежно від коду команди RST<N>, мікропроцесорна ВІС звертається до одного з восьми фіксованих елементів пам'яті. Особливістю команди RST є те, що її код передається в МП по шині даних від джерела запиту на переривання. Це відбувається після того, як мікропроцесор входить в режим переривання і виробляє ознаку INTE=1. За цією командою вміст програмного лічильника мікропроцесора записується в стек, потім в ньому встановлюється адреса перерваної програми, що складається з трирозрядної адреси з команди RST у нулів в решті розрядів. Таким чином, передається керування однієї з восьми можливих перериваючих програм.
Форма представлення даних в мікропроцесорних системах
Усі мікропроцесорні комплекти використовують двійкову систему числення, коли для представлення чисел використовується цифрова база: 0 та 1
(«логічний 0» - 0…0,9 В; «логічна 1» - 3,5…5 В).
Одиничною інформацією в мікропроцесорних системах є біт, який може мати стан 0 або 1. Кратними інформаційними одиницями є:
1 байт = 8 бітів;
1 Кбайт = 210 байта = 1024 байти;
1 Мбайт = 210 Кбайта = 1024 Кбайта;
1 Гбайт = 210 Мбайта = 1024 Мбайта.
Слово – це одна група оброблюваних біт, єдиний вираз або одна команда мікропроцесора. Залежно від розрядності процесора слово може дорівнювати 8 бітам, тобто байту (для 8-розрядного процесора), двом байтам (для 16-розрядного процесора), чотирьом байтам (для 32-розрядного процесора).
Недоліком двійкової форми представлення інформації в мікропроцесорних системах є громіздкість отримуваних чисел, тому в мікропроцесорних комплектах для опису двійкових чисел використовують шіснадцяткову (HEX-код) форму їх уявлення. Оскільки один шіснадцятковий знак описує 4 біта, то з'являється можливість істотно скоротити число знаків для опису двійкових чисел. Це особливо важливо, коли необхідно реалізувати введення інформації і її індикацію в МПС.
У шіснадцятковій системі числення використовується така цифрова база: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Для опису двійкового числа у шіснадцятковій системі числення користуються наступними алгоритмом:
У шіснадцятковій системі числення один шіснадцятковий знак описує 4 біта, тому двійкове число розбивається справа наліво на групи з 4 біт, кожен з яких має вагу: молодший – 20 (1); другий – 21 (2); третій – 22 (4); старший – 23 (8).
Шіснадцятковий знак виходить:
,
де: 316 – шіснадцятковий знак;
2i – вага i-го біта групи (1,2,4,8);
Бi– вміст i-го біта групи (0 або 1).
Наприклад:
Е 9
Ч2 = 11101001 В
Ч16 = Е9 Н
Можна також скористатися нижчеприведеною таблицею перекладу чисел.
Таблиця 1.1
BIN | HEX | DEC | |||
3 біт | 2 біт | 1 біт | 0 біт | ||
A | |||||
B | |||||
C | |||||
D | |||||
E | |||||
F |
Методика роботи в середовищі інтегрованого відлагоджувача
У процесі проектування мікропроцесорних засобів дуже часто виникає ситуація, коли розробник вимушений проектувати програмне забезпечення до проектованої системи, не маючи ще апаратури, на якій воно функціонуватиме. Одним з можливих виходів з цього скрутного положення є використання крос-систем. Крос-система – комплекс інструментальних засобів, що дозволяють відлагоджувати і виконувати програми, написані в одній системі команд на машинах з іншою системою команд. Далі описується інтегрований відлагоджувач програм на мові Асемблер для мікропроцесора Intel-8080, реалізований на ПЕВМ IBM РС.
Склад і функції інтегрованого відлагоджувача
Інтегрований відлагоджувач об'єднує такі програмні засоби: асемблер, завантажувач, емулятор команд, дизасемблер, сервісне ПЗ.
Асемблер - системна програма, що здійснює переклад програм, записаних на мові Асемблера у форму, придатну для виконання.
Завантажувач - системна програма, яка забезпечує правильну настройку взаємодіючих програм і завантаження отриманої програми в пам'ять для її виконання.
Емулятор - програма, що моделює виконання команд мікропроцесора в системі команд IBM РС.
Дизасемблер - програма, що виконує функції зворотні Асемблеру, тобто що здійснює переклад машинних кодів в символьну форму.
Сервісні процедури забезпечують інтеграцію пакету названих вище програм, а також візуалізацію результатів виконання програми і користувача.
Дата добавления: 2015-07-08; просмотров: 212 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Проверка правильности решения (7 этап) | | | Мета роботи |