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

metod2-ukr

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

Запустити виконання в режимі анімації, переконатися в працездатності алгоритму.

При необхідності налагодити програму.

Відкрити вікно асинхронних стимулів. Призначити для кнопок події й необхідні розряди портів.

Виконати програму в покроковому режимі з імітацією сигналів на входах мікроконтролера. При необхідності налагодити програму.

Відкрити вікно часових стимулів. Призначити події й часові інтервали для відповідних входів мікроконтролера.

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

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

Зміст роботи

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

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

1.Що таке мікроконтролер?

2.У чому полягають особливості архітектури PIC контролерів?

3.Чим відрізняється гарвардська архітектура від архітектури фон Неймана?

4.Чи можна в тексті програми застосовувати символьні імена регістрів спеціальних функцій і символьні мітки? Як привласнювати імена регістрам загального призначення?

5.Чим відрізняються покроковий режим виконання програми від режиму із зупинками в контрольних точках?

6.Пояснити призначення директив ORG, END, LIST, INCLUDE, EQU.

7.Які типи команд мають мікроконтролери?

21

8.Які способи адресації використовують PIC контролери середньої

серії?

9.Для чого призначені стимули в програмі MPLAB?

10.Чим відрізняються асинхронні й часові стимули?

Індивідуальні завдання

1.Збільшити вміст 5-ти регістрів, починаючи з 30-го, на числа, отримані з порту В.

2.Зменшити вміст 5-ти регістрів, починаючи з 30-го, на числа, отримані з порту В.

3.Заповнити 5 регістрів, починаючи з 30-го, числами, отриманими з порту В и збільшеними на 10.

4.Записати в 30-й регістр, число, подане на порт В; в 31-й регістр - суму нового числа на порту В и числа з 30-го регістра; в 32-й регістр - різниця нового числа на порту В и числа з 30-го регістра.

5.Записати в 35-й регістр суму чисел з регістрів з 30-го по 34-й і числа на порту В.

6.Переписати числа з регістрів з 30-го по 34-й у регістри з 35-го по 39- й, збільшивши їх на числа, отримані з порту В.

7.При надходженні сигналу високого рівня на 1-й розряд порту В збільшити вміст 30-го регістра 5 разів.

8.Переписати числа з регістрів з 30-го по 34-й у регістри з 35-го по 39- й, помноживши їх на числа, отримані з порту В.

9.Записати в 35-й і регістр суму чисел з регістрів з 30-го по 34-й і помножити на число, отримане з порту В.

10.Помножити вміст 5-ти регістрів, починаючи з 30-го, на числа, отримані з порту В.

22

Лабораторна робота №2 Складання програми із циклами й умовними операторами

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

Зміст домашньої підготовки

Вивчити роботу команд DECFSZ, INCFSZ, BTFSS, BTFSC, команд розгалуження, команд порівняння.

Вивчити призначення регістрів FSR, INDF, POSTINC, POSTDEC, PREINC, PLUSW.

Вивчити призначення наступних розрядів регістра STATUS: C, Z, DC, OV, N.

Скласти програму для мікроконтролера відповідно до індивідуального завдання.

Вивчити порядок роботи з зневаджувачем, устрій зневаджувальної плати, призначення виводів мікроконтролера.

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

Включити комп'ютер і запустити програму MPLAB.

Ввести програму, створити проект, підключити файл із програмою до проекту.

Зробити асемблювання, виправити синтаксичні помилки.

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

Запустити виконання в режимі анімації, переконатися в працездатності алгоритму.

При необхідності налагодити програму.

Відкрити вікно асинхронних стимулів. Призначити для кнопок події й необхідні розряди портів.

Виконати програму в покроковому режимі з імітацією сигналів на входах мікроконтролера. При необхідності налагодити програму.

23

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

Зміст роботи

Звіт по лабораторній роботі повинен містити титульний аркуш, блоксхему алгоритму, текст програми, протокол роботи, що відображає послідовність дій і отримані результати, повідомлення відладчика з вікна Output і їхній опис.

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

1.Які умовні команди є в мікроконтролерах?

2.Як організуються цикли з перевіркою наприкінці?

3.Як відбувається формування фізичної адреси при непрямій адресації?

4.Які різновиди непрямої адресації реалізовані в мікроконтролерах?

5.Як можна робити завантаження покажчиків непрямої адресації?

Індивідуальні завдання

1.Задано масив з десяти однобайтних чисел, починаючи з адреси 40. Знайти адресу останнього елемента більшого 15 і записати цю адресу в регістр 5 з появою низького рівня на 4-му розряді порту А.

2.Задано масив з десяти однобайтних чисел, починаючи з адреси 30. Знайти адресу останнього елемента меншого 7 і записати цю адресу в регістр 6 з появою низького рівня на 5-му розряді порту А.

3.Задано масив з десяти однобайтних чисел, починаючи з адреси 20. Знайти адресу останнього елемента не рівного 0 і записати цю адресу в регістр 7 з появою низького рівня на 0-му розряді порту А.

4.Задано масив з десяти однобайтних чисел, починаючи з адреси 50. Знайти останній елемент, більший 12, і перенести цей елемент у регістр 8 з появою низького рівня на 4-му розряді порту А.

5.Задано масив з десяти однобайтних чисел, починаючи з адреси 40. Знайти останній елемент, менший 10, і перенести цей елемент у регістр 9 з

24

появою низького рівня на 5-му розряді порту А.

6.Задано масив з десяти однобайтних чисел, починаючи з адреси 30. З появою низького рівня на 0-му вході порту А перетворити у зворотний код ненульові елементи масиву.

7.Задано масив з десяти однобайтних чисел, починаючи з адреси 20. З появою низького рівня на 4-му вході порту А збільшити елементи масиву на 1 нульові елементи масиву.

8.Задано масив з десяти однобайтних чисел, починаючи з адреси 10. З появою низького рівня на 5-му вході порту А зменшити елементи масиву, більші 25, на 1.

9.Задано масив з десяти однобайтних чисел, починаючи з адреси 50. З появою низького рівня на 0-му вході порту А помножити елементи масиву, значення яких менше 80, на 2.

10.Задано масив з десяти однобайтних чисел, починаючи з адреси 40. З появою низького рівня на 4-му вході порту А розділити парні елементи масиву на 2.

25

Лабораторна робота №3 Порта вводу-виводу

Ціль роботи: вивчення роботи портів вводу-виводу, знайомство з послідовним інтерфейсом.

Зміст домашньої підготовки

Вивчити призначення регістрів PORT, TRIS, LAT.

Вивчити послідовний інтерфейс SPI і особливості його реалізації в дисплеї демонстраційної плати.

Вивчити способи табулювання функцій за допомогою команди RETLW і за допомогою команд табличного читання пам'яті.

Скласти програму для мікроконтролера відповідно до індивідуального завдання.

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

Включити комп'ютер і запустити програму MPLAB.

Ввести програму, створити проект, підключити файл із програмою до проекту.

Зробити асемблювання, виправити синтаксичні помилки.

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

Запустити виконання в режимі анімації, переконатися в працездатності алгоритму. Рекомендується досліджувати тільки заново додані фрагменти програми.

При необхідності налагодити програму.

Відкрити вікно асинхронних стимулів. Призначити для кнопок події й необхідні розряди портів.

Виконати програму в покроковому режимі з імітацією сигналів на входах мікроконтролера. При необхідності налагодити програму.

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

26

Зміст роботи

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

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

1.Які умовні команди є в мікроконтролерах?

2.Як організуються цикли з перевіркою наприкінці?

3.Як відбувається формування фізичної адреси при непрямій адресації?

4.Які різновиди непрямої адресації реалізовані в мікроконтролерах?

5.Як можна робити завантаження покажчиків непрямої адресації?

Індивідуальні завдання

Програма до роботи №3 представляє із себе дороблену програму до роботи №2. У новій програмі додається вивід отриманого результату на дисплей і дублювання натиснутої кнопки світлодіодом. Для вирішення указаного завдання варто розробити програмну реалізацію протоколу SPI, підпрограму переведення числа в код семисегментного індикатора. Як завдання підвищеної складності пропонується додати в програму функцію переведення числа у двоїчно-десятковий формат.

27

Лабораторна робота №4 Таймери й переривання

Ціль роботи: вивчення роботи таймера 0 і системи переривань.

Зміст домашньої підготовки

Вивчити устрій таймера 0 і основні режими його роботи, призначення регістрів T0CON, TMR0, OPTION.

Вивчити призначення переддільника й способи перемикання його між таймером 0 і сторожовим таймером (тільки для середньої серії).

Вивчити роботу системи переривань.

Вивчити призначення регістрів INTCON, OPTION, PIE, PIR, RCON,

IPR.

Скласти програму імітації світлових динамічних ефектів і використанням LCD дисплей і дублюванням світлодіодами у двох варіантах: із програмним контролем таймера й з перериванням. Тип динамічного ефекту вибирається відповідно до індивідуального завдання.

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

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

Включити комп'ютер і запустити програму MPLAB.

Ввести перший варіант програми, створити проект, підключити файл із програмою до проекту.

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

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

Запрограмувати мікроконтролер. Переконатися в працездатності програми.

Аналогічні дії виконати для другого варіанта програми.

Зміст роботи

28

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

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

1.У яких режимах може працювати таймер 0? Як програмно змінювати режими роботи таймера?

2.Який максимальний проміжок часу можна відміряти за допомогою таймера 0 в 8-ми й в 16-ти бітному режимах?

3.Чим відрізняється переривання від підпрограми?

4.У чому необхідність збереження контексту при роботі з перериваннями?

5.Чим відрізняються команди RETURN і RETFIE?

6.Що відбудеться, якщо при обробці переривання відбудеться ще одне переривання?

7.Чому при обробці переривання необхідно скидати прапор запиту переривання?

8.Що таке вектор скидання й вектор переривання?

9.Для чого потрібний стек і як він працює?

Індивідуальні завдання

1.Символ стрілки вправо, який біжить. Використати переривання з високим пріоритетом.

2.Символ стрілки вліво, який біжить. Використати переривання з низьким пріоритетом.

3.Символ десяткової точки вправо, який біжить. Використати переривання з високим пріоритетом.

4.Символ десяткової точки вліво, який біжить. Використати переривання з низьким пріоритетом.

5. Подвійний символ стрілки вправо, який біжить. Використати

29

переривання з високим пріоритетом.

6.Подвійний символ стрілки вліво, який біжить. Використати переривання з низьким пріоритетом.

7.Символ подвійної десяткової точки вправо, який біжить. Використати переривання з високим пріоритетом.

8.Подвійний символ десяткової точки вліво, який біжить. Використати переривання з низьким пріоритетом.

9.Сегмент, який біжить по колу, за годинниковою стрілкою, у молодшому десятковому розряді. Використати переривання з низьким пріоритетом.

10.Сегмент, який біжить по колу, проти годинникової стрілки, у старшому десятковому розряді. Використати переривання з високим пріоритетом.

30

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