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

metod1-ukr

.pdf
Скачиваний:
2
Добавлен:
15.02.2015
Размер:
237.14 Кб
Скачать

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

Д.В. Костенко

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

"Проектування мікроконтролерних пристроїв"

Миколаїв, 2004 р.

УДК

Д.В. Костенко. Методичні вказівки до лабораторних робіт по дисципліні "Проектування мікроконтролерних пристроїв". – Миколаїв, НУК, 2004. – с.

Кафедра електрообладнання суден

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

Вказівки призначені для студентів НУК, що навчаються на спеціальності "Захист інформації з обмеженим доступом і автоматизація її обробки в комп’ютерних системах і мережах".

Рисунків 3, список літератури з 2-х найменувань. Рецензент – д-р техн. наук Блінцов В.С.

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

ВСТУП

Розвиток технологій, що використовуються в електронній промисловості, привів до значного здешевлення електронних компонентів. Особливо це торкається 8-розрядних мікроконтролерів. З урахуванням зростання ресурсів мікроконтролерів і розвитку технології постійної пам'яті з електричним стиранням стало можливим використовувати мікроконтролери там, де вони раніше не застосовувалися. З'явився навіть новий напрям - вбудовувані системи управління. Окремий інтерес є вживанням мікроконтролерів в системах обмеження доступу із застосуванням технології Keeloq. Алгоритм декодування є відкритим, тому достатньо просто реалізуються такі пристрої, як транспондери, іммобилайзери і так далі.

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

1. Основні відомості про мікроконтролери Microchip середньої серії

PIC контролери середньої серії призначені для вбудованих систем управління телеметрії в промисловому, транспортному і іншому устаткуванні. Широке розповсюдження обумовлено невисокою вартістю, надійністю, простотою системи команд, великим набором периферійних модулів. Залежно від типу мікроконтролери можуть містити до трьох таймерів, аналоговоцифровий перетворювач, компаратори, джерело опорної напруги, енергонезалежну пам'ять даних, блоки захват-порівняння-ШІМ, послідовний зв'язковий інтерфейс, синхронний послідовний інтерфейс, паралельні порти уведення-виведення, паралельний порт типу “загальна шина”. Контролери мають Гарвардську RISC архітектуру, тобто мають роздільні адресні простори програм і даних і скорочений набір команд. Основним елементом процесорного пристрою є арифметично-логічний пристрій ALU, який може виконувати додавання, віднімання, зсуви, основні логічні операції (див. рис. 1).

Функції акумулятора виконує робочий регістр W. Особливістю даного контролера є те, що результат операції може бути поміщений як в робочий регістр, так і в регістр, що містить другий операнд. Результати операції відображаються в регістрі ознак STATUS. Другий операнд поступає на арифметич- но-логічний пристрій через перемикач MUX. При використовуванні безпосередньої адресації другий операнд витягується з коду команди, який буферезується в регістрі команд Instruction reg, а при використанні непрямої або прямої адресації поступає з шини даних Data Bus. Всі елементи пам'яті, регістри спеціальних функцій процесорного ядра і управляючі регістри периферійних блоків знаходяться в єдиному регістровому файлі RAM File Registers і доступні для читання і запису як регістри загального призначення. Мікроконтролер має симетричну систему команд, тобто будь-який регістр в регістровому файлі програмно доступний для будь-якої команди з використанням

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

Рис. 1. Структура процесорного ядра

Для розміщення програм призначена область пам'яті, яка називається FLASH Program Memory. Пам'ять програм має розрядність 14, завдяки чому вдалося зробити всі команди довжиною в одне машинне слово. Адресний простір складає 8 К слів. Для зберігання адреси команди призначений лічильник команд Program Counter. Оскільки мікроконтролер оперує з 8-і бітовими даними, то лічильник команд роздільний на дві частини. Молодша частина лічильника команд доступна для читання і запису як регістр загального призначення PCL. Старша частина лічильника команд програмно не доступ-

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

Для того, щоб зберегти симетричну систему команд і довжину команд в одне слово і при цьому одержати великий об'єм пам'яті даних розроблювачам прийшлося ускладнити організацію пам'яті даних (див. рис. 2). Вся пам'ять даних розділена на чотири банки по 128 байт. Молодші адреси в банках відведені для спеціальних регістрів, старші – для регістрів загального призначення. Деякі найважливіші спеціальні регістри продубльовані в двох або у всіх чотирьох банках. Перемикання банків здійснюється трьома бітами регістра STATUS. При прямій адресації використовуються біти RP0 і RP1, при непрямій – біт IRP. Мікроконтролери мають 35 простих команд, які розділені на три типи – байт-орієнтовані, біт-орієнтовані і команди управління і роботи з константами (див. табл. 1). В таблиці приведені мнемоніки команд, виконувані операції, вказані арифметичні ознаки (прапори), які міняються відповідно до одержаного результату. У байт-орієнтованих командах вказуються адреса операнда 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

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

 

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

2. Устаткування для проведення лабораторних робіт

При виконанні лабораторних робіт використовується пакет програм MPLAB IDE і демонстраційна плата на основі мікроконтролера PIC16F628. Схема електрична принципова плати показана на рис. 3. Плата містить панель, в яку встановлений мікроконтролер DD1; світлодіоди VD6 – VD12 для індикації цифрових сигналів, кнопки SA1, SA2 для імітації вхідних дискретних сигналів, фоторезистор R23 для імітації вхідного аналогового сигналу; елементи забезпечуючі режим програмування мікроконтролера.

Рис. 3. Схема електрична принципова

Світлодіоди, встановлені в плату, мають різний колір і розташовані двома стовпцями, імітуючи світлофор на два напрями. Таке рішення дозволяє досліджувати прості циклічні алгоритми з високим ступенем наочності, використовувати внутрішні таймери для завдання часових проміжків, досліджувати алгоритми з перериваннями. Фоторезистор підключений до входу порту А який мультиплексирується з входом аналогового компаратора. Це дає можливість імітувати роботу контролера з аналоговим сигналом. Застосування вбудованого програмованого джерела опорної напруги дозволяє реалізувати програмний АЦП і виводити індикацію на світлодіоди різних кольорів (наприклад, зелений – "мало", жовтий – "норма", червоний – "багато"). Виводи RB6, RB7, MCLR використовуються тільки в режимі програмування. Живле-

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