50321

ІНТЕГРОВАНЕ СЕРЕДОВИЩЕ РОЗРОБКИ ПРОГРАМ AVR STUDIO

Лабораторная работа

Информатика, кибернетика и программирование

Початок роботи При програмуванні в середовищі VR Studio необхідно виконати стандартну послідовність дій: створення проекту; написання програми; компіляція; симуляція. Натискаємо завершити Finish на цьому проект створений і ми потрапляємо в головне вікно програми. Загальний вид вікна програми Вікно розділене на 4 частини. Трохи нижче ліворуч розташовується вкладки Диспетчер проекту Project Перегляд вводу виводу I O View Інформація Info праворуч Текст програми.

Украинкский

2014-01-21

1.54 MB

18 чел.

ЛАБОРАТОРНА РОБОТА № 7

ІНТЕГРОВАНЕ СЕРЕДОВИЩЕ РОЗРОБКИ ПРОГРАМ AVR STUDIO

Мета: навчитися використовувати для написання програм інтегроване середовище розробки (ІСР) AVR Studio.

Завдання: розробити і налагодити програму в середовищі програмування AVR Studio.

Загальні відомості

AVR Studio 4 - професійна інтегроване середовище розробки (Integrated Development Environment - IDE), призначене для написання і налагодження прикладних програм для AVR мікропроцесорів в середовищі Windows 9x/NT/2000. AVR Studio 4 містить асемблер і симулятор.

Початок роботи

При програмуванні в середовищі AVR Studio необхідно виконати стандартну послідовність дій:

  •  створення проекту;
  •  написання програми;
  •  компіляція;
  •  симуляція.

Створення проекту

При запуску AVR Studio пропонує або створити новий проект (New Project) або відкрити вже існуючий (Open).

Створюємо новий проект

У вікні тип проекту (Project Type) вибираємо асемблер (Atmel AVR Assembler), заповнюємо поля ім'я проекту (Project Name) і заголовний файл (Initial File). Натискаємо далі (Next) ...

У вікні платформа відладки (Debug Platform) вибираємо симулятор, а у вікні пристрій (Device) - відповідний мікроконтроллер (в даному варіанті AT90S8515). Натискаємо завершити (Finish) - на цьому проект створений, і ми потрапляємо в головне вікно програми.

Загальний вид вікна програми

Вікно розділене на 4 частини. У верхній частині розташовані рядок меню і «плаваючі» панелі з кнопками. Трохи нижче ліворуч розташовується вкладки Диспетчер проекту (Project), Перегляд вводу/виводу (I/O View), Інформація (Info), праворуч - Текст програми. Знизу розташовані наступні вкладки: Конструкція (Build), Повідомлення (Message), Пошук в файлах (Find in Files), Контрольні точки (Breakpoints and Tracepoints).

Написання тексту програми

У вікні Текст програми користувач створює програму.

Для першого знайомства можна взяти програму з Додатка.

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

При написанні ПО слід не забувати періодично зберігатися.

Компіляція

Компіляція - процес перекладу тексту програми, написаної мовою програмування, в виконуваний модуль, що містить машинні команди конкретного процесора. Стосовно до мікроконтролерів процес компіляції називається асемблювання. (утворення *.hex файлу )

Асемблювання - трансляція з мови асемблера в команди машинного мови.

Дані кнопки на верхній панелі запускають процес асемблювання. Кнопка зліва асемблює проект, справа - асемблює і запускає на виконання.

Якщо при написанні тексту програми були допущені синтаксичні помилки, компіляція переривається і видається в вкладці Конструкція повідомлення про допущені помилки.

При вдалій компіляції в вкладці Конструкція показується звіт про проходження процесу асемблювання і таблиця використаних ресурсів.

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

Симуляція

Симуляція - моделювання процесу виконання програми микроконтроллером на персональному комп'ютері. Інакше кажучи - режим налагодження (Debugging).

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

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

Запустити відладку (симуляцію).

Зупинити відладку .

Запустити програму на виконання.

Пауза у виконанні програми.

Показати виконувану інструкцію.

Перезапустити програму.

Крок вперед із заходом в підпрограми.

Крок вперед без заходу в підпрограми.

Перейти до останньої інструкції програми (підпрограми).

Виконати програму до місця вказаного курсором.

Автоматичне покрокове виконання програми.

Встановити / зняти контрольну точку.

Видалити всі контрольні точки.

Інструкція яка буде виконуватися наступною позначена жовтою стрілкою.

Контрольна точка - інструкція в програмі дійшовши до якої виконання програми призупиниться. Встановлена контрольна точка відзначена червоним кружком.

Інформація про регістрах введення / виводу, процесорі і регістрах загального користування розташована і розподілена по групах в вкладці Перегляд вводу/виводу.

Після успішної компіляції проект можна зашивати у контролер, в тому числі у пакеті Протеус.

Хід роботи.

  1.  Набрати задані тексти програм у  AVR Studio (їх можна туди скопіювати, якщо хтось не здогадався =) ).
  2.  Набрану програму скомпілювати і відлагодити, подивившись як програма виконується покроково і як змінюється вміст відповідних регістрів.
  3.  Виправити помилки, якщо вони є.
  4.  У пакеті «Протеус» вибрати відповідних контролер (AT90S8515) і зашити у нього утворений hex файл і переконатись і працездатності програми, склавши необхідні схеми (взявши з попередньої роботи).


Додатки. Тексти програм.

Вивод числа на порт

.include "8515def.inc" ;підключення файлу опису МК AT90S8515

.CSEG ;сегмент коду

.org 0;сама перша його адреса

rjmp reset ;йдемо на мітку reset. Можна було б почати програму лише з цього місця, але в подальшому тут можна буде описувати ще вектора переривань.

reset:

ldi r16,low(RAMEND) ;Обов’язково ініціалізуємо стек! Це в подальшому буде необхідно

out SPL,r16 ;для інших програм. Бажано звикати

ldi r16, 0xFF ;завантажуємо  в регістр r16 шістнадцяткове число FF

out DDRB, r16 ;копіюємо це значення із r16 в регістр налаштування PortB, тепер цей порт готовий до виводу даних, але він поки що нічого не виводить

ldi r16, 0b01010101 ;завантажуємо в регістр r16 двійкове число 01010101

out PORTB, r16 ;копіюємо це значення із r16 в PortB, тепер це двійкове число опинилося на виводах PortB відповідними рівнями напруги і під’єднавши PortB до світло діодів, побачимо їх світіння

loop:

rjmp loop ; зациклюємо програму. Це потрібно, так як програмний лічильник після виконання останньої нами заданої команди спробує дати процесору адресу наступної комірки пам’яті, думаючи, що там знаходиться наступна команда, а так як ми туди нічого не записували, то там може виявитися всілякий «непотріб», в результаті чого МК може виконати непередбачувану операцію.


;
Програма показує як працювати з регістрами, показує правильний ввід і вивід даних, налаштування портів вводу-виводу

.include "8515def.inc" підключення файлу опису МК AT90S8515

.CSEG ; сегмент коду

.org 0 ; сама перша його адреса

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

reset:

ldi r16,low(RAMEND) ;Обов’язково ініціалізуємо стек! Це в подальшому буде необхідно

out SPL,r16  ;для інших програм. Бажано звикати

ldi r16, 0xFF ;завантажуємо  в регістр r16 шістнадцяткове число FF

out DDRB, r16 ;копіюємо це значення із r16 в регістр налаштування PortB, налаштувавши його таким чином на вивід інформації

ldi r16, 0b00000000 ;завантажуємо в регвстр r16 нуль

out DDRD, r16 ; копіюємо це значення із r16 в регістр настройки PortD , задавая цим настройку PortD на ввід информацції

ldi r16, 1 ;завантажуємо в регістр r16 десяткове число 1

out PORTB, r16 ;копіюємо це значення із r16 в PortB

label1:

sbic PIND, 0 ;якщо нульовий біт в порту D очищений, то переходимо через інструкцію

;УВАГА! Перевіряти біти потрібно саме в PIND, а не PORTD! PortD - регістр виводу даних!

rjmp label1  ;а якщо не очищений (там нуль), то виконуємо цю інструкцію (перехід на мітку label1)

ldi r16, 2  ;завантажуємо в регистр 16 число 2

out PORTB, r16 ;виводимо його в PORTB

loop:

rjmp loop ; зациклюємо програму. Це потрібно, так як програмний лічильник після виконання останньої нами заданої команди спробує дати процесору адресу наступної комірки пам’яті, думаючи, що там знаходиться наступна команда, а так як ми туди нічого не записували, то там може виявитися всілякий «непотріб», в результаті чого МК може виконати непередбачувану операцію.
;проста програма для запалювання світлодіода по натиснутій кнопці

.include "m8515def.inc" ; Coment; thise symbol

.def temp = r16

rjmp INIT

INIT:

ser temp ; всі одиниці в темпі

out DDRB,temp ; port B - out

ldi temp,0b11111110 ; PD0-input

out DDRD,temp

clr temp

out PORTB,temp ; led off

ldi temp,0b00000001

out PORTD,temp

Start:

 

sbic PIND,0 ;пропускає команду rjmp LEDoff якощо PIND=1

rjmp LEDoff ; перехід

sbi PORTB,0

rjmp Start

LEDoff:

cbi PORTB,0

rjmp Start


 

А также другие работы, которые могут Вас заинтересовать

21086. Торговые механизмы национальной экологической защиты 104.5 KB
  Торговля как инструмент экологической защиты В регулировании влияния на экосистемы не последнюю роль играет торговля. Считается что разногласия которые возникают в системе отношений торговля окружающая среда могут быть до определённой меры разрешимы с помощью таких трех основных подходов: воспитательноубеждающий основывается на принципе: делать то что полезно для окружающей природной среды даже если такие действия не удобны для экономического субъекта; запретноштрафной основывается на использовании разного рода экономических...
21087. Экологизация научно-технического прогресса 82 KB
  Общественные и государственные интересы Интересы потребителей Интересы производителей Рынок экологических инноваций Вторичный рынок экологических товаров Первичный рынок экологических разработок Спрос Предложение Спрос Предложение Мотивационный механизм потребления экологических товаров 1 Мотивационный механизм производства экологических товаров 2 Мотивационный механизм внедрения инновационных разработок 3 Мотивационный механизм разработки инновационных проектов 4 Тема 8: Экологизация научнотехнического прогресса...
21088. Розвиток освіти у XIX - на початку XX ст 22.7 KB
  Було затверджено чотири типи шкіл: парафіяльні повітові губернські гімназії університети. Проміжне становище між гімназіями та університетами займали ліцеї яких на Україні було три: Рішельєвський в Одесі з 1817 p. стало заснування на східноукраїнських землях університетів які завдяки загальноєвропейській реформі університетської освіти швидко почали відігравати велику роль у культурному житті в розвитку науки. Перший університет на українських землях у складі Російської імперії засновано 1805 р.
21089. Розвиток науки у XIX - на початку XX ст 20.63 KB
  Всебічно обдарованим і феноменально працездатним був перший ректор Київського університету М. У розвиток філософської та філологічної наук суттєвий внесок зробив перший ректор Харківського університету І. Засновником вітчизняного слов’янознавства був професор Харківського університету І. ректором Харківського університету був Т.
21090. Розвиток літератури у XIX - на початку XX ст 27.79 KB
  Цей бурлескнотравестійний твір є однією з найбільш талановитих переробок поеми римського поета Вергілія в якій автор подав панорамну картину українського народного життя. Обидва письменники були визначними організаторами театрального життя першої половини XIX ст. Поетизація Гоголем українського життя і національного характеру романтичне зображення минулого українського народу сприяли широкому зацікавленню історією та етнографією України збуджували патріотичні почуття і стверджували гуманістичні цінності в українській культурі. Величні...
21091. Архітектура XIX - початку XX ст 15.03 KB
  У класицистичній манері будуються численні споруди в західноукраїнських містах. Романтичний настрій створювався не так самою архітектурою скільки природним оточенням споруд. На формі споруд позначилося впровадження нових будівельних матеріалів і технологій. До української культури на віки увійшли такі архітектурні споруди як Одеський та Львівський оперні театри Г.
21092. Образотворче мистецтво XIX–початку XX ст 24.18 KB
  Художники ніби намагаються стерти межі між класицизмом і романтизмом досягаючи при цьому значних успіхів у торуванні шляхів до цілком реалістичного живопису. Розширення меж тематичного арсеналу портретного живопису вже у другій половині XIX ст. Розвиткові живопису в Україні XIX ст. Соколов справжнім шедевром пізньоромантичного живопису є його картина Дівчата ворожать уночі проти Івана Купала з двома центрами освітлення маленьким каганцем і яскравим повним місяцем які надзвичайно виразно окреслюють постаті групи дівчат у човні.
21093. Музика і театральне мистецтво XIX - початку XX ст 18.06 KB
  Опинившись у залежності від російського субкультурного середовища народна українська музична культура дещо законсервувалася у своєму розвитку більше того у вжитку з’являються непритаманні українській музичній культурі містечкові романси казармені пісні тощо. у професійній музиці з’являються перші симфонічні твори Українська симфонія і симфонія сольмінор з Козачком невідомих авторів. Невід’ємною складовою національного театру була українська музика. Українська професійна музична школа спиралася на здобутки як української так і...
21094. Розвиток культури у добу Національно-демократичної революції (1917 - 1920 рр.) 18.88 KB
  Політика Тимчасового уряду в галузі народної освіти була демократичнішою ніж царського уряду і тому вже в березні 1917 р. Справжнім виразником інтересів українського громадянства і учительства у справі освіти стала Центральна Рада – представницький політичний орган українського народу утворений 7 березня 1917 р. Велику підтримку і допомогу надавали їй українські громадянські організації: товариство шкільної освіти учительські організації товариство Просвіта. було створено Генеральний секретаріат міністерство народної освіти який...