- •Міністерство освіти і науки, молоді та спорту україни Національний університет "Львівська політехніка"
- •Інструкція до лабораторної роботи №1
- •Тема. "Знайомство з інтегрованим середовищем розробки програмного забезпечення ProView"
- •Мета роботи.
- •Короткі теоретичнi відомості.
- •Домашня підготовка до роботи:
- •Порядок виконання роботи
- •8. Література.
- •Контрольні питання.
- •7. Рівень знань та навичок після виконання лабораторної роботи.
Домашня підготовка до роботи:
3.1. Вивчити систему команд ОЕОМ сімейства MCS-51.
3.2 Вивчити порядок роботи в інтегральному середовищі розробки програмного забезпечення ProView.
Порядок виконання роботи
Виконати наведені нижче приклади 1 і 2.
4.1. Приклад 1. Програмування на Асемблері. Запис чисел у резидентну пам′ять даних.
4.1.1. Завантажити програму Proview. Якщо після завантаження програми відкривається попередній проект, з яким проводилася робота, то необхідно закрити його через меню (рис. 4.1).
4.1.2. Створити новий проект (рис.4.2).
-
Рис. 4.1. Закриття проекту
Рис. 4.2. Створення нового проекту
Вказати ім'я файлу проекту в особистій папці (рис. 4.3).
Рис. 4.3. Ім'я і шлях файлу проекту
4.1.3. Створити новий файл для подальшого введення тексту програми (рис. 4.4) і вказати тип файлу (рис. 4.5).
|
|
Рис. 4.4. Новий файл |
Рис. 4.5. Тип файлу |
Відкриється порожнє вікно для введення асемблерного тексту програми. Записати цей файл (рис. 4.6). Вкажіть ім'я і розширення імені файлу (рис. 4.7).
|
|
Рис. 4.6. Запис файлу |
Рис. 4.7. Ім'я файлу |
4.1.4 Ввести текст програми:
ORG 0 START: JMP LOAD ;перехід до іншої ділянки програми ORG 30H ;директива разміщення програми з адреси 30h LOAD: MOV R0,#41h ;завантаження в R0 адреси комірки MOV @R0,#1Ch ;запис у пам′ять числа 1Ch INC R0 ;інкремент вказівника (R0) MOV @R0,#3Fh ;запис у пам′ять числа 3Fh JMP START ;зациклювання програми END |
4.1.5. Підключити цей файл до проекту, заздалегідь активізувавши вікно проекту (рис. 4.8, 4.9).
|
|
Рис. 4.8. Підключення файлу до проекту |
Рис. 4.9. Вибір файлу для підключення |
4.1.6. Виконати компіляцію проекту (рис 4.10).
4.1.7. Запустити програму на виконання за допомогою команди Start з меню Debug, вказавши необхідні опції відлагоджувача (рис. 4.11).
|
|
Рис. 4.10. Компіляція |
Рис. 4.11. Вікно опцій відлагоджувача |
4.1.8. За допомогою команди Data dump з меню View (рис. 4.12) відкрити вікно резидентної пам'яті даних (рис. 4.13).
|
|
Рис. 4.12. Вибір вікна резидентної пам'яті даних |
Рис. 4.13. Вікно резидентної пам'яті даних
|
4.1.9. Виконати програму в покроковому режимі. Спостерігаючи зміну вмісту вікна резидентної пам'яті даних і вікна Main Registers, переконатися в правильності роботи програми. Визначити час виконання програми.
4.2. Приклад 2. Програмування на С. Вивід через послідовний порт рядка символів.
4.2.1. Завантажити програму Proview. Якщо після завантаження програми відкривається попередній проект, з яким проводилася робота, то необхідно закрити його через меню (рис. 4.1).
4.2.2. Створити новий проект (рис.4.2).
4.2.3. Створити новий файл для подальшого введення тексту програми (рис. 4.4) і вказати тип файлу (C Files).
Відкриється порожнє вікно для введення тексту програми мовою С. Записати цей файл. Вказати ім'я і розширення імені файлу (lab1.c).
4.2.4 Ввести текст програми:
/* Програма виводу через UART рядка символів */
#include <reg51.h> #include <stdio.h>
void main (void) { SCON = 0x50; // прогр UART: р-м 1, 8 біт, дозв. прийому TMOD = 0x20; // прогр TMR1: р-м 2, автоперезавантаження TH1 = 0xf3; // завантаження TH1 TR1 = 1; // пуск TMR1 TI = 1; //ініціювання передачі 1-го символа printf ("ЛДІНТУ ім. В. Чорновола\n"); // виклик функції 'printf' while (1) {}; // нескінчений цикл
} |
4.2.5. Підключити цей файл до проекту, заздалегідь активізувавши вікно проекту (4.14).
-
Рис. 4.14. Вибір файлу для підключення
4.2.6. Скомпілювати файл. Цей процес компілює, зв'язує файл lab1.c з бібліотеками і створює абсолютний об'єктний модуль, який можна перевірити у відлагоджувачі Winsim.
Вибрати Make з меню Project. Proview відображає вікно, показуючи поточний стан процесу. Коли процес компіляції закінчиться, у вікні Message відображається повідомлення завершення. Якщо були виявлені які-небудь помилки, про них повідомляється тут же.
4.2.7. Запустити програму на виконання за допомогою команди Start з меню Debug, вказавши необхідні опції відлагоджувача.
4.2.8. Вибрати Hardware (апаратні засоби) з меню View. Вибрати UART. Відкриється вікно послідовного порту (рис. 4.15). Надалі при роботі програми тут можна буде побачити все, що виводить мікроконтролер у послідовний порт.
4.2.9. Вибрати Run з меню Debug.. Зверніть увагу, що у вікні UART виведений текст "ЛДІНТУ ім. В. Чорновола".
4.2.10. При виведенні символів в порт починається виконання нескінченного циклу.
Можна
зупинити виконання програми, вибравши
Stop
з меню Debug.
За допомогою регулятора
при натиснутій кнопці
на панелі інструментів можна міняти
швидкість роботи відлагоджувача. Рядок
стану показує поточний реальний час.
4.2.11. Можна використовувати відлагоджувач, щоб переміщатися за програмою. Вибрати Reset з меню Debug (ця команда скине модельований процесор) і вибрати Step Into і Step Over з меню Debug.
Команди Step дозволяють “крокувати” по рядках початкового тексту. Поточна команда висвічується на кожному кроці. Step Into дозволяє увійти до функції, що викликається, Step Over - переступити через неї, не входивши всередину.
Для завершення роботи з відладчиком у будь-який момент часу можна вибрати Terminate з меню Debug і повернутися в режим редагування.
-
Рис. 4.15. Вікно послідовного порту
4.2.12. Зверніть увагу, що в режимі відлагодження на екрані видно ще два вікна. Перше - вікно коду, де в покроковому режимі паралельно з початковим текстом на мові C йде трасування тексту на асемблері.
Прокрутить вікно коду і вивчіть асемблерний аналог початкового тексту. З символів “##” починаються рядки, за допомогою яких легко співставити асемблерний текст і текст на мові C. Зверніть увагу на те, скільки коду довелося б написати, якщо проектувати програму на асемблері.
Асемблерний аналог тексту зберігається у файлі lab1.lst, якщо в опціях проекту (Project з меню Options) відмічене Generate Listing (рис. 4.16). Тут же можна вказати, яку інформацію включати в лістинг.
-
Рис. 4.16. Діалог опцій проекту
Вивчити значення інших опцій проекту в розділах Environment, C51, A51, L51. Відкрити файл лістингу за допомогою View listing з меню View.
Друге вікно, яке присутнє на екрані під час відлагодження, - Main Registers (рис. 4.17).
-
Рис. 4.17. Вікно регістрів
У цьому вікні постійно відображається поточний стан всіх програмно-доступних регістрів мікроконтролера. Більш того, вміст регістрів можна міняти під час відлагодження.
За допомогою пункту Data dump з меню View можна подивитися вміст пам'яті різного типу в режимі відлагодження. Спробуйте це зробити.
4.2.13. Через пункт Hardware меню View можна відкрити вікна контролера переривань, таймерів, паралельних портів і послідовного порту.
У інформаційному вікні контролера переривань вказується статус і пріоритет усіх джерел переривання.
У рядку стану (рис. 4.18) при виконанні програми в покроковому режимі або в режимі анімації показується поточний реальний час.
-
Рис. 4.18. Рядок стану
У вікнах таймерів доступний вміст 16-бітового таймера/лічильника THLx, регістра режиму роботи таймера/лічильника TMOD, регістра управління/статусу таймера TCON, прапорець переповнювання таймера TFx, біт управління таймера TRx. Тут же вказується стан і режим роботи таймера.
У вікнах паралельних портів доступний вміст регістра-клямки LATCH і окремих ліній порту. Стан ліній порту може бути змінений за допомогою миші.
У вікні послідовного порту UART відображається вміст буфера передавача Buffer, режим роботи і швидкість. У буфер приймача Input може бути введена послідовність байтів. Інформація може бути представлена в символьному вигляді ASCII або в шістнадцятковій формі HEX. Буфер очищається за допомогою кнопки Reset Buffer.
При відлагодженні програми часто виникає необхідність припинити її виконання на певній команді.
Breakpoints - це контрольні точки у вашій програмі, які примушують відлагоджувач зупинити її виконання в “реальному масштабі часу”. Ви можете встановити контрольні точки на будь-яких командах програми. Коли відлагоджувач Winsim51 доходить до контрольної точки , виконання програми буде припинено, і управління повернеться Вам. В цьому випадку Ви можете самі ухвалити рішення про подальше продовження роботи програми. Breakpoints встановлюються через пункт Toggle breakpoint з меню Debug або з контекстного меню, яке викликається натисненням правої кнопки миші у вікні з початковим текстом або кодом програми.
4.3. Виконайте індивідуальне завдання (див. Додаток 1). Програми мають бути написані мовами Асемблера та С.
Для відлагодження кожної з програм:
створіть файл проекту завдання, створіть файл початкового тексту програми і додайте його до проекту;
виконаєте трансляцію початкового тексту і виправіть можливі синтаксичні помилки;
запустите відлагоджувач;
у разі потреби задайте початкові значення регістрів і пам'яті;
запустіть програми;
переконаєтеся в повній працездатності програми;
після усунення всіх помилок і відлагодження виконаєте генерацію лістингу програми, який включіть в звіт про виконання роботи.
4.6. Дайте відповіді на контрольні питання.
Зміст звіту
5.1. Хід та результати розрахунків.
5.2. Лістинги програм
5.3. Пояснення по ходу виконання програм.
5.4. Відповіді на контрольні запитання
