Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

metod2-ukr

.pdf
Скачиваний:
4
Добавлен:
12.03.2016
Размер:
782.55 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет кораблебудування імені адмірала Макарова

Д.В. Костенко, С.Л. Трибулькевич

Мікропроцесорна техніка. Методичні вказівки до лабораторних робіт

Рекомендовано Вченою радою ІАЕ НУК

Миколаїв 2011

УДК 004.231.3:004.383(076)

Костенко Д.В., Трибулькевич С.Л.. Методичні вказівки до лабораторних робіт з дисципліни «Мікропроцесорна техніка». – Миколаїв:

НУК, 2011. – 54 с.

Кафедра електрообладнання суден та інформаційної безпеки

Наведені основні відомості по устрою мікроконтролерів Microchip середньої та розширеної серій, засобам адресації й набору команд. Описаний порядок роботи з інтегрованим середовищем розробки MPLAB. Подані методичні вказівки щодо виконання лабораторних робіт по вивченню технології програмування мікроконтролерів з використанням периферійних модулів та переривань.

Вказівки призначені для студентів НУК, що навчаються на спеціальностях галузей знань «Електротехніка та електромеханіка», «Інформаційна безпеку»

Рисунків 6, список літератури з 13-х найменувань.

Рецензент - д-р техн. наук Блінцов В.С.

© Національний університет кораблебудування, 2011

2

ВСТУП

З появою однокристальних мікро-ЕОМ зв'язують початок ери комп'ютерної автоматизації в галузі керування, ця обставина й визначила термін «контролер» - регулятор, керуючий пристрій.

Мікроконтролер (англ. Micro Controller Unit, MCU) - мікросхема, призначена для керування електронними пристроями. Типовий мікроконтролер сполучає у собі функції процесора й периферійних пристроїв, може містити ОЗП й ПЗП. По суті, це однокристальний комп'ютер, здатний виконувати прості завдання. Велика частина процесорів, що випускаються в сучасному світі - мікроконтролери.

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

вобчислювальній техніці - материнські плати, контролери дисководів жорстких і гнучких дисків, CD і DVD;

велектроніці й різноманітних пристроях побутової техніки, у якій використовуються електронні системи керування - пральних машинах, мікрохвильових печах, посудомиючих машинах, телефонах і сучасних приладах;

упристроях промислової автоматики - від програмувального реле й систем, що вбудовуються, до програмувального логічного контролера й систем керування верстатами;

усистемах розмежування доступу, у криптографічних пристроях, у телекомунікаційних пристроях.

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

3

програмування, способів вводу-виводу, особливостей взаємодії мікропроцесорних пристроїв. Ці лабораторні роботи є базовими для всіх спеціальностей. Лабораторні роботи з 8-ї по 13-у являють собою розширений курс і призначені для поглибленого вивчання окремих аспектів мікропроцесорної техніки, вимагають більшого часу для виконання й призначені для спеціальних дисциплін, що відповідають навчальним планам різних спеціальностей. Роботи № 8 і № 9 є завершальними для дисципліни «Мікропроцесорні засоби й системи» для спеціальності галузі знань «Інформаційна безпека», роботи № 11 і № 12 є завершальними для дисципліни «Мікропроцесорні пристрої» для спеціальностей «Електромеханічні системи автоматизації й електропривод» і «Електричні системи й комплекси транспортних засобів» відповідно. Найбільш складними і трудомістким є роботи № 10 і особливо № 13, вони призначені для дисципліни «Проектування микроконтролерных пристроїв» для спеціальності «Захист інформації з обмеженим доступом і автоматизація її обробки в комп'ютерних системах і мережах» і можуть виконуватися тільки після вивчення дисципліни «Основи теорії криптографії і криптоаналізу».

4

1. ОСНОВНІ ВІДОМОСТІ ПРО МІКРОКОНТРОЛЕРИ MICROCHIP

PIC контролери середньої серії призначені для систем керування і телеметрії, що вбудовуються в промисловому, транспортному й іншому обладнанні. Широке розповсюдження обумовлене невисокою вартістю, надійністю, простотою системи команд, більшим набором периферійних модулів. Залежно від типу мікроконтролери можуть містити до трьох таймерів, аналогово-цифровий перетворювач, компаратори, джерело опорної напруги, енергонезалежну пам'ять даних, блоки захват- порівняння-ШІМ, послідовний зв'язувальний інтерфейс, синхронний послідовний інтерфейс, паралельні порти вводу-виводу, паралельний порт типу “загальна шина”. Контролери мають Гарвардську RISC архітектуру, тобто мають роздільні адресні простори програм і даних і скорочений набір команд. Основним елементом процесорного пристрою (ЦПП) є арифметично-логічний пристрій ALU, що може виконувати додавання, віднімання, зсуви основні логічні операції (див. рис. 1). Функції акумулятора виконує робочий регістр W. Особливістю даного контролера є те, що результат операції може бути поміщений як у робочий регістр, так і в регістр, що містить другий операнд. Результати операції відображаються в регістрі ознак STATUS. Другий операнд надходить на арифметично-логічний пристрій через перемикач MUX. При використанні безпосередньої адресації другий операнд отримується з коду команди, що буферизується в регістрі команд Instruction reg, а при використанні непрямої або прямої адресації надходить із шини даних Data Bus. Всі комірки пам'яті, регістри спеціальних функцій процесорного ядра й керуючі регістри периферійних блоків перебувають у єдиному регістровому файлі RAM File Registers і доступні для читання й запису як регістри загального призначення. Мікроконтролер має симетричну систему команд, тобто будь-який регістр у регістровому файлі програмно доступний для будь-якої команди з використанням будь-якого способу адресації. При використанні прямої адресації адреса операнда повинна

5

перебувати в коді команди. При використанні непрямої адресації адреса операнда отримується з регістра-покажчика FSR, а в коді команди вказується

Рис. 1. ЦПП середньої серії

фізично неіснуючий неявний регістр із адресою 0. Вибір режиму адресації здійснюється перемикачем Addr MUX.

Для розміщення програм призначена область пам'яті, що називається FLASH Program Memory. Пам'ять програм має розрядність 14, завдяки

6

чому вдалося зробити всі команди довжиною в одне машинне слово. Адресний простір становить 8 К слів. Для зберігання адреси команди призначений лічильник команд Program Counter. Тому що мікроконтролер оперує з 8-и бітними даними, то лічильник команд розділений на дві частини. Молодша частина лічильника команд доступна для читання й запису як регістр загального призначення PCL. Старша частина лічильника команд програмно не доступна, але є програмно доступний буфер старшої частини лічильника команд PCLATH. Для зберігання адрес повернення для підпрограм і переривань є 8-и рівневий програмно недоступний апаратний стек. Мікроконтролер має вектор скидання 00 і вектор переривань 04. Для забезпечення роботи всіх вузлів операційного пристрою в складі процесорного ядра є дешифратор команд Instruction Decode & Control. Крім того, до складу мікроконтролерів входить ряд блоків, що забезпечують запуск і роботу процесорного ядра - тактовий генератор, сторожовий таймер, розвинена схема скидання при подачі й зниженню живлення.

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

Вся пам'ять даних розділена на чотири банки по 128 байт. Молодші адреси в банках відведені для спеціальних регістрів, старші - для регістрів загального призначення. Деякі найбільш важливі спеціальні регістри продубльовані у двох або у всіх чотирьох банках. Перемикання банків здійснюється трьома бітами регістра STATUS. При прямій адресації використовуються біти RP0 і RP1, при непрямій - біт IRP.

Мікроконтролери мають 35 простих команд, які розділені на три типи - байт-орієнтованої, біт-орієнтовані й команди керування й роботи з константами (див. табл. 1). У таблиці наведені мнемоніки команд, операції, що виконуються, зазначені арифметичні ознаки (прапори), які змінюються

7

відповідно до отриманого результату. У байт-орієнтованих командах вказуються адреса операнда F і біт D, що вказує місце розташування результату. У біт-орієнтованих командах вказується адреса операнда F і номер біта B, з яким виконується дія. У командах роботи з константами вказується константа K.

Рис. 2. Пам'ять даних середньої серії

Таблиця 1. Система команд середньої серії

Мнемоніка

Операція, яка виконується

Ознаки

команди

 

 

 

 

 

 

Байт-Орієнтовані команди

 

 

 

 

ADDWF F, D

Додавання

C ,DC, Z

 

 

 

ANDWF F, D

Логічні множення

Z

 

 

 

CLRF F

Очищення регістра

Z

 

 

 

CLRW

Очищення робочого регістра

Z

 

 

 

COMF F, D

Перетворення у зворотний код

Z

 

 

 

DECF F, D

Декремент

Z

 

 

 

DECFSZ F, D

Декремент із перевіркою на нуль

 

 

 

 

INCF F, D

Інкремент

Z

 

 

 

INCFSZ F, D

Інкремент із перевіркою на нуль

 

 

 

 

8

Мнемоніка

 

 

Операція, яка виконується

Ознаки

команди

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IORWF F, D

 

Логічне додавання

 

 

Z

 

 

 

 

 

 

MOVF F, D

 

Пересилання регістра

 

 

Z

 

 

 

 

MOVWF F

 

Пересилання в регістр із робочого регістра

 

 

 

 

 

 

 

NOP

 

Порожня операція

 

 

 

 

 

 

 

 

 

RLF F, D

 

Циклічний зсув вліво

 

 

C

 

 

 

 

 

RRF F, D

 

Циклічний зсув вправо

 

C

 

 

 

 

 

 

SUBWF F, D

 

Віднімання з регістра

 

 

C, DC, Z

 

 

 

 

 

 

SWAPF F, D

 

Обмін тетрадами

 

 

 

 

 

 

 

 

XORWF F, D

 

Логічне «АБО», що виключає

 

Z

 

 

 

 

 

 

 

 

 

Біт-Орієнтовані команди

 

 

 

 

 

 

 

 

BCD F, B

 

Скидання біта

 

 

 

 

 

 

 

 

 

BSF F, B

 

Установка біта

 

 

 

 

 

 

 

 

BTFSC F, B

 

Перевірка біта на нуль

 

 

 

 

 

 

 

BTFSS F, B

 

Перевірка біта на одиницю

 

 

 

 

 

 

 

Команди керування й роботи з константами

 

 

 

 

 

 

ADDLW K

 

Додавання з константою

 

C, DC, Z

 

 

 

 

 

ANDLW K

 

Логічне множення з константою

 

Z

 

 

 

 

 

 

CALL K

 

Виклик підпрограми

 

 

 

 

 

 

 

 

CLRWDT

 

Скидання сторожового таймера

 

 

 

 

 

 

 

 

GOTO K

 

Безумовний перехід

 

 

 

 

 

 

 

 

IORLW K

 

Логічне додавання з константою

 

Z

 

 

 

 

MOVLW K

 

Пересилання константи в робочий регістр

 

 

 

 

 

 

RETFIE

 

Повернення з переривання

 

 

 

 

 

 

RETLW K

 

Повернення з підпрограми з пересиланням

 

 

 

константи

 

 

 

RETURN

 

Повернення з підпрограми

 

 

 

 

 

 

 

 

 

SLEEP

 

Перехід

у

режим

зниженого

 

 

 

енергоспоживання

 

 

 

SUBLW K

 

Вирахування з константи

 

C, DC, Z

 

 

 

 

XORLW K

 

Логічне «АБО», що виключає, з константою

Z

 

 

 

 

 

 

 

9

PIC контролери розширеної серії є подальшим розвитком мікроконтролерів середньої серії. У розширеній серії вдосконалено багато периферійних модулів, додався ряд нових модулів, розширений набір команд, удосконалена пам'ять програм і пам'ять даних. Розглянемо основні особливості ЦПП мікроконтролерів розширеної серії в порівнянні із середньою серією (див. рис. 3). Підвищення продуктивності в обчислювальних завданнях багато в чому обумовлено наявністю апаратного перемножника (8×8 Multiply). Співмножники розташовуються в регістрах, як і для інших арифметичних команд, але для акумулювання 16-ти бітного добутку введені спеціальні регістри PRODH і PRODL. Розширено режими адресації пам'яті даних: уведений спеціальний регістр для перемикання банків BSR, додано ще два регістри-покажчика для непрямої адресації, завдяки спеціальній схемі інкремента-декремента (Inc/dec logic) покажчиків з'явилися непрямі автоінкрементні й автодекрементні режими адресації. В організації пам'яті команд основні зміни - це збільшення стека до 31 рівня, збільшення розрядності лічильника команд, додавання спеціального покажчика (Table pointer) для табличного читання пам'яті команд.

Біти перемикання банків у пам'яті даних винесені в окремий регістр BSR і додані нові арифметичні ознаки. Склад ознак наступний:

N - негативне число;

OV - переповнення для цілих чисел зі знаком; Z - нуль;

DC - допоміжний перенос; C - перенос.

Сильні зміни торкнулися організації пам'яті даних (див. рис. 4). Хоча пам'ять по колишньому сегментована, робота з пам'яттю сильно спростилася. Розмір банку збільшений до 256, регістри спеціальних функцій згруповані в одному банку (друга половина останнього банку), з'явилися команди працюючі з пам'яттю без обліку банків (команда

10

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