Читайте также:
|
|
Мета роботи.
1.1. Вивчення та практичне застосування інтегрального середовища розробки програмного забезпечення AVR Studio.
1.2. Засвоєння методики створення та відлагодження програм, написаних мовою С.
2. Короткі теоретичнi відомості.
2.1 AVR Studio - це інтегроване середовище розробки (IDE) для сімейства мікроконтролерів AVR фірми ATMEL. AVR Studio дозволяє писати, відлагоджувати і оптимізувати програми. AVR Studio включає текстовий редактор, симулятор (віртуальний відладчик), і менеджер проектів.
AVR Studio є закінченим середовищем розробки, інтегруючи декілька інструментальних засобів:
· менеджер проектів. Використовується для створення проектів і роботи із зв'язаними файлами.
· редактор. Використовується для створення і редагування текстових файлів.
· симулятор. Дозволяє моделювати виконання команд і вхідні/вихідні сигнали мікроконтролерів.
· універсальний асемблер.
· програматор.
Для компілювання програм, написаних мовою С, AVR Studio використовує зовнішній компілятор WinAVR.
2.2 Вікна AVR Studio.
2.3.1 Вікно початкового коду. Вікно початкового коду - це головне вікно в будь-якій налагоджувальній роботі. Воно створюється коли відкритий об'єктний файл. Якщо закрити вікно початкового тексту, налагоджувальна робота буде завершена.
Вказівник (жовта стрілка) вказує позицію програмного лічильника (команда, що буде виконуватись) і інші налагоджувальні точки (точки зупину). Точки зупину легко встановлюються і вилучаються у вікні початкового коду.
2.3.2 Вікно процесора ( Processor ). Вікно процесора містить необхідну інформацію про виконуваний рядок (рис. 2.1).
Програмний лічильник указує адресу наступної інструкції яка буде виконана. Вміст програмного лічильника відображається в 16-ковій формі і може бути змінений, коли припиниться виконання команди.
Також можна змінювати вміст вказівника стека, лічильника циклів, регістрів подвійної довжини X, Y, Z, а також fclk і показання таймера відліку часу.
Нижче показаний вміст 32-х робочих регістрів.
Рисунок 2.1. Вигляд вікна процесора.
2.3.3 Вікновведення/виведення ( IO View ). Вікно введення/виведення використовується для перевірки і зміни стану регістрів введення/виведення у виконуваній програмі (рис. 2.2). Вміст регістрів може бути змінений.
Рисунок 2.2. Вигляд вікна введення/виведення.
2.3.4 Вікно пам'яті ( Memory ). Вікно пам'яті використовується для перевірки і зміни стану пам'яті у виконуваній програмі (рис. 2.3).
Рисунок 2.3. Вигляд вікна пам′яті.
2.3.5 Вікно стеження ( Watch ). Вікно стеження призначене для віображення типів, значень та адрес змінних у програмі на мові С. Додавати нові об′єкти до вікна стеження можна командою контекстного меню Add to Watch вікна початкового коду, встановивши попередньо курсор на цьому об′єкті.. (рис. 2.4).
Рисунок 2.4. Вигляд вікна стеження.
2.3 Відлагодження програми.
2.4.1 Під відлогодженням розуміють покрокове виконання програми з контролем вмісту регістрів мікроконтролера (перевірка на низькому рівні) та змінних (перевірка на програмному рівні).
2.4.2 При відлагодженні програм можуть використовуватись точки зупинки (breakpoints). Для керування ними використовуються команди меню Debug: Toggle breakpoint, Remove breakpoints та Clear fll breakpoints. Для послідовного переходу від однієї точки зупинки до іншої використовується команда меню Debug: Next breakpoint.
2.4.3 Для керування процесом відлагодження використовуються відповідні команди меню Debug.
3. Домашня підготовка до роботи:
3.1 Вивчити порядок роботи в інтегральному середовищі розробки програмного забезпечення AVR Studio.
Порядок виконання роботи
4.1. Виконати наведений нижче приклад.
4.1.1. Завантажити програму AVR Studio.
4.1.2. Створити новий проект Project>New Project.
§ виберіть тип проекту AVR GCC (програма мовою С);
§ вкажіть шлях до особистої папки і введіть ім'я файлу проекту (рис. 4.1);
Рисунок 4.1. Вигляд вікна проекта.
§ натисніть кнопку Next>>. Виберіть платформу AVR Simulator та мікроконтролер Atmega8515 (рис. 4.2);
Рисунок 4.2. Вигляд вікна вибору мікроконтролера.
4.1.3. Ввести текст програми. Програма опитує кнопки, підключені до ліній 2, 3 порту PORTD.
/* При появі "00" на PORTD.2, PORTD.3 дозволити переключення. При появі "0" на PORTD.2 - переключати лінію PORTB.6 з частотою 1. При появі "0" на PORTD.3 - переключати лінію PORTB.7 з частотою 2. */ #include <avr/io.h> #define u8 unsigned char void zatr8(u8 i) {do{} while(--i);} //8-розрядна затримка int main(void) { u8 d_pd; //сюди буде зчитуватись порт D u8 vkl=0; //сигнал включення DDRB=0xff; //порт В - на вивід DDRD=0; //порт D - на ввід ACSR=0x80; //заборона захоплення по компаратору while(1) { zatr8(255); //антидребезг /*зчитування порту D, Маскування розрядів крім 2-го (SW15) та 3-го (SW16) */ d_pd = PIND & 0x0c; switch(d_pd) { case 8: //"0" на лінії PORTD.2 { if(vkl){PORTB ^=(1<<6); zatr8(5); break;} //част. 1 else break; } case 4: //"0" на лінії PORTD.3 { if(vkl){PORTB ^=(1<<7); zatr8(15); break;} //част. 2 else break; } case 0: //"0" на лініях PORTD.2, PORTD.3 { vkl ^=(1<<0); break; //інверсія сигналу включення } } } } |
4.1.4. Виконати компіляцію проекту Build > Build. При успішній компіляції у вікні Build з′явится відповідне повідомлення (рис. 4.3). При наявності помилок та зауважень виправити їх та виконати повторну компіляцію.
Рисунок 4.3. Вигляд вікна результату компілювання.
4.1.5. Командою Debug>Start Debugging запустити процедуру відлагодження. За допомогою команд меню View відкрити вікна, які знадобляться в процесі відлагодження.
4.1.6. Використовуючи меню Debug або кнопки панелі інструментів, виконати програму в покроковому режимі.
4.1.7. Встановити в довільному місці програми точку зупинки і виконати прогон програми.
4.2. Виконати індивідуальне завдання (див. Додаток 1). Програми мають бути написані мовою С.
4.3. Дати відповіді на контрольні питання.
5. Зміст звіту
5.1. Хід та результати розрахунків.
5.2. Алгоритм та лістинг програми.
5.3. Пояснення по ходу виконання програми.
5.4. Відповіді на контрольні запитання
6. Контрольні питання.
1) Призначення інтегрального середовища розробки програмного забезпечення AVR Studio.
2) Порядок створення та компіляції програми.
3) Порядок запуску програми на виконання. Пококове виконання програми. Встанвлення та вилучення контрольний точок.
4) Характеристика основних та додаткових вікон AVR Studio.
7. Рівень знань та навичок після виконання лабораторної роботи.
В результаті виконання практичної роботи студенти повинні навчитися працювати в інтегральному середовищі розробки програмного забезпечення AVR Studio.
8. Література.
· Ю. Шпак. Программирование на языке С для AVR и РІС микроконтроллеров.
· Г.Б. Уильямс. Отладка микропроцессорных систем.
Додаток 1. Варіанти індивідуальних завдань
Варіант 1 Розробити програму двійково-десяткового перетворення двобайтного числа. Результат перетворення вивести на порти PORTВ (ст. байт) і PORTА (мол. байт). |
Варіант 2 Розробити програму формування табличним методом на виході порту PORTА цифрового сигналу, що описується функцією: y = 3x2 + 2 (х = 0, 1, 2, …, 15). |
Варіант 3 Розробити програму масштабування (додавання константи "0Fh") чисел, що зчитуються з порту PORTА і передаються в PORTD. |
Варіант 4 Розробити програму опитування кнопок, підключених до ліній 2, 3 порту PORTD з використанням переривань. При появі запиту переривання на лінії PORTD.2 – встановлювати лінію PORTВ.7 в "1". При появі запиту переривання на лінії PORTD.3 – скидати лінію PORTВ.7 в "0". |
Варіант 5 Розробити програму формування на лінії РORTD.2 послідовності імпульсів з такими парамертрами: § тривалість – 0,4 сек; § період – 2,4 сек. Пуск програми здіснювати при появі "0" на лінії PORTВ.7 |
Варіант 6 Розробити програму формування кожні 0,2 сек на лінії РORTE.0 імпульсу тривалістю 40 мкс. |
Дата добавления: 2015-11-14; просмотров: 40 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Методологические проблемы международно-правовых исследований. | | | Я половина Х1Х века. |