
- •2. Програмне забезпечення
- •2.1. Мови програмування
- •2. 2 Компоненти мови Асемблер
- •3. Створення програми мовою Асемблер
- •3.1. Постановка задачі
- •3.2. Директиви
- •3.4. Алгоритм
- •3.5. Програма обчислення в одній точці
- •3.6. Застосування зсувів і масок
- •3.7. Запис масиву даних до озп і організація циклу
- •3.8. Завантаження масиву даних з озп до рзп
- •3.9. Зупин програми
- •4. Команди нашої програми
- •1) Арифметичні і логічні команди
- •2) Команди переходів (branch instructions)
- •3) Команди передачі даних (data transfer instructions)
- •4) Команди з бітами (bit and bit-test instructions)
- •5) Команди керування мк (mcu control instructions)
- •Лабораторна робота №1 Основи програмного пакету розробника avr Studio
- •3 Підготовка до налагодження проекту.
- •5 Виправлення помилок алгоритму.
- •5 Оформити звіт.
- •6 Завдання на самостійну роботу.
- •Лабораторна робота №2
- •3 Компіляція проекту.
- •4 Налагодження проекту.
- •Лабораторна робота №3
- •Лабораторна робота №4
- •Лабораторна робота №4
- •1 Підготовка проекту в avr Studio 4 для запису програми до пам'яті мікроконтролера.
- •2 Підготовка апаратних засобів стартового набору stk500.
- •3 Підготовка програмного інтерфейсу stk500.
- •4 Програмування мк та дослідження спроектованого виробу на платі стартового набору stk500.
- •5 Завдання на самостійну роботу
- •1 Налаштування основних модулів мікроконтролера.
- •2 Дослідження основних режимів функціонування мікроконтролера.
- •3 Програмування мк та дослідження цпп на платі стартового набору stk500.
- •4 Завдання на самостійну роботу.
Лабораторна робота №3
Основи програмного пакету розробника Atmel Studio
Частина 1 (Зразок D:\CPlabII\3_1ATSas\3_1ATSas.asm)
1 Створення нового проекту на основі програми мовою асемблера в інтегрованому середовищі розробника Atmel Studio 6.
1
.1
Запустити
програму
Atmel
Studio
6
ярликом
на робочому столі (або з меню Windows: Пуск
> Всі програми > Atmel
> Atmel
Studio
6) – після фірмової заставки програми
з'явиться діалогове вікно Start
Page
(фрагмкнт на ілюстрації), де треба вибрати
New
Project.
F
Примітка.
З головного вікна програми стартову
сторінку можна викликати піктограмою
інструментальної панелі Start
Page
(або з меню View
> Start
Page).
1.2 Визначити початкові дані нового проекту в діалоговому вікні New Project, що відчиниться, для чого виконати такі дії. Вибрати тип проекту на основі програми з різновидом мови асемблера для МК AVR (цифра 1 на ілюстрації), що відобразиться в центральному полі вікна, ввімкнути прапорець створення директорії (2), вибрати теку, де зберігаються Ваші проекти (3), увести назву теки для нового проекту (4), яка автоматично продублюється в нижньому рядку імені проекту (тут ATS – програма Atmel Studio), та натиснути ОК (5).
1
.3
Вибрати
тип МК
у вікні Device
Selection
(вибір мікросхеми), що відчиниться: для
зручності у віконці Device
Family
прокруткою встановити різновид МК та
у колонці Name
клацнути ім'я МК, наприклад, ATmega16.
Праворуч з'явиться інформаційне поле,
де в розділі Supported
Tools
(підтримувані
інструменти)
переконатися, що вибраний тип МК
підтримується
імітатором
AVR
Simulator
та інтерфейсом STK500,
відтак натиснути ОК – відчиниться
головне вікно Atmel
Studio
6 зі вставленим заголовком у програмному
файлі мовою асемблера.
F
Примітка.
Змінити тип МК під час налагодження
проекту можна піктограмою з її іменем
(ATmega16)
на локальній інструментальної панелі.
Для цього на вкладці файлу побудови
проекту, що з'явиться, в розділі Device
натиснути кнопку Change
Device
і виконати п. 1.3.
1
.4
Визначити
налагоджувальну платформу:
на локальній інструментальній панелі
з вибраним типом МК ATmega16
(цифра 1 на ілюстрації) натиснути кнопку
No
tool
selected
(немає
вибраного інструменту)
– у полі редагування головного вікна
з'явиться вкладка файлу без розширення
побудови проекту. У розділі Tool
установити імітатор
AVR
Simulator
(цифра 2), який відобразиться на локальній
інструментальній панелі (цифра 3). Після
цього зберегти файл (зникне зірочка в
назві на вкладці) та можна його закрити.
1
.5
Увести
свій варіант
програми мовою асемблера
в програмному файлі з розширенням ASM,
користуючись зразком. Для цього відкрити
зразковий файл
піктограмою
Open
File
або командою з меню File
> Open
> File,
відтак у теці зразкового проекту треба
відкрити вкладену теку і вибрати в ній
файл типу "ASM"
– він стане вкладкою в полі редагування.
F Примітка. Уведення нового тексту програми або його зміни позначається жовтими смугами на лівому полі, а після збереження смуги стають зеленими. При повторному відкритті файлу збережені місця зеленими смугами не позначаються.
2 Транслювання програми в машинні коди.
2
.1
Якщо це не зроблено, відкрити
проект
з програмою, що підлягає
транслюванню,
піктограмою
Open
Project
(або командою з меню File
> Open
> Project/Solution,
або після запуску
Atmel
Studio
6 у діалоговому вікні Start
Page
натисненням
кнопки Open
Project
чи імені проекту в розділі Recent
Projects
– недавні
проекти).
2.2
Установити
навігаційне вікно проекту
піктограмою Solution
Explorer
(або однойменною командою з меню View),
яке доцільно розташувати ліворуч поля
редагування, аби переконатися, що
опрацьовується потрібний проект.
F Примітка. Керування допоміжними вікнами аналогічне AVR Studio 4 (див. лабораторна робота №1, примітки 4, 5 до п. 3.3).
2.3
Запустити
процес побудови проекту
однією з
піктограм
Build
3_1ATSas3
(з назвою проекту) або Build
Solution
на інстру-ментальній панелі (або
однойменними командами з меню Build)
– з'явиться інформаційне вікно Output
> Build
зі службовою інформацією і (в разі
відсутності помилок) з повідомленням
про успішне транслювання: Build
succeeded
– побудова успішна.
2.4
Виправити
помилки синтаксису, проаналізувати
застереження та повторити
транслювання.
За наявності помилок процес транслювання
зупиняється
і
з'являється вікно Error
List
з переліком помилок. Для швидкої
локалізації помилки достатньо двічі
клацнути її рядок у списку – ділянка
потрібного тексту програми вийде на
передній план і на лівому полі біля
рядка, що містить помилку, з'явиться
мигтючий курсор. Як і в AVR
Studio
4, довідку про команду в рядку з курсором
можна викликати клавішею F1.
Так само усунути застереження у вікні
Output
> Build,
якщо їх зміст спеціально не передбачений
у програмі. По виправленні помилок
зберегти зміни у файлі та повторити п.
2.3.
3 Налагодження проекту в пакеті Atmel Studio 6.
3
.1
Запустити
процес налагодження
піктограмою
Start
Debug-ging
and
Break
(запустити налагодження і зупинитися)
на інструменталь-ній панелі (або
однойменною командою з меню Debug)
– рядок команди програмного файлу, яка
виконуватиметься першою, виділиться
жовтим кольором і на лівому полі проти
неї встановиться жовта стрілка покажчика
поточної команди, у головному вікні
з'являться допоміжні вікна та на
інструментальній панелі активізуються
інструменти програмного наладчика, які
були неактивними.
F
Примітка. У разі збою
(через ґлюк програми) натиснути піктограму
Reset (або з
меню Debug > Reset)
–
покажчик повернеться
на початкову команду програми.
3.2 Налаштувати головне вікно Atmel Studio 6 встановленням мінімуму допоміжних вікон, необхідних для налагодження. Варіант зручного їх розташуванням може бути наступним.
а
)
Піктограмами інструментів Solution
Explorer
(або однойменною командою з меню View)
та Processor
View
(або однойменною командою з меню Debug
> Windows)
установити вигляд навігатора і процесора
як вкладки одного вікна ліворуч головного
вікна програми (фрагмент
а
на ілюстрації нижче).
б ) Піктограмою Registers (або однойменною командою з меню Debug > Windows) установити вікно регістрів ліворуч локального вікна поля редагування (див. фрагмент а).
в
)
Піктограмами Memory
1 і Watch
1 (або командами з меню Debug
> Windows
> Memory
> Memory
1 та Debug
> Windows
> Watch
> Watch
1) установити плаваючі (Float)
вікна пам'яті (в режимі data
IRAM
– внутрішній ОЗП) і змінних у вільному
місці лівого локального вікна (
див.
фрагмент а).
г)
Піктограмою I/O
View
– вигляд
РВВ (або командою з меню Debug
> Windows
> I/O
View)
установити вікно РВВ праворуч головного
вікна програми
(фрагмент б
на ілюстрації).
На плані периферії (ввімкнено перемикач
Toggle
Peripheral
Pane)
вибрати потрібні порти (клацати їх назви
за натиснутої клавіші CTRL)
та натиснути перемикач вікна регістрів
Toggle
Registers
Pane
– у вікні залишаться вибрані порти.
Відтак вилучити колонку адрес: взятися
за її назву, перетягнути лівіше колонки
Name,
підвести
курсор до межі колонок і, коли він набуде
форми стрілки, змістити за поле вікна.
Таким самим чином розташувати компактно
всі колонки (як на
ілюстрації).
д
)
Піктограмою Breakpoints
(або командою з меню Debug
> Windows
> Breakpoints)
установити вікно точок зупинок у нижній
частині правого локального вікна (див.
фрагмент б).
е) Установити потрібні точки зупинок: у полі редагування поставити курсор, клацнути правою кнопкою миші і в контекстному меню вибрати Breakpoint > Insert Breakpoint – з'явиться позначка зупинки у вигляді червоної плямки і рядок програми забарвиться червоним кольором (фрагмент в), що в локальному вікні Breakpoints позначиться записом з координатами точки зупинки (див. фрагмент б).
F Примітка. Для видалення точки зупинки достатньо клацнути її червону позначку в полі редагування, а для видалення всіх точок – натиснути піктограму Delete all Program Breakpoints (або вибрати однойменну команду з меню Debug).
3
.3
Дослідити
налаштування портів
покроковим налагодженням і налагодженням
частинами до курсору,
користуючись
піктограмами Step
Into
(крок всередину) та Run
to
Cursor
(виконати до курсору) або однойменними
командами з меню Debug
(див. лабораторна
робота
№1, п. 4.1, 4.2).
Простежити зміни в РВВ, що керують
портами. У
разі помилки скинути курсор на початок
програми (піктограмою
або командою Reset
як
у примітці до п. 3.1)
та повторити проходження команд.
3.4 Дослідити режими з деренчанням контактів і з усуненням деренчання контактів, користуючись тими самими піктограмами або командами, що й у п. 3.3. Спочатку встановити код відтиснутих кнопок (у вікні РВВ увести з клавіатури на входах PIND значення ff замість 00, відтак клацнути у вільному місці – код набуде значення 0xFF). Переконатися, що натискання і відпускання однієї і тої самої кнопки в першому режимі спричиняє зміну стану СД (імітація деренчання контакту), а в другому режимі стан СД не змінюється, допоки не натиснуто нову кнопку (як у перемикача з фіксованими клавішами).
F Примітка. Для перевірки окремих фрагментів програми без виконання попередніх можна навести на покажчик курсор і, коли останній набуде форми стрілки, перетягнути покажчик до довільного місця.
4 Оформити звіт (див. лабораторна робота №1, ч.2, п.5).
Частина 2 (Зразок D:\CPlabII\3_2ATSci\3_2ATSci.c)
1
Створити новий проект на
основі програми мовою Сі в інте-грованому
середовищі розробника Atmel
Studio
6: піктограмою інструментальної панелі
New
Project
(або вибором команди з меню File
> Project,
або після запуску програми, як зазначено
в ч. 1, п. 1.1) викликати вікно New
Project,
вибрати
в ньому C
Executable
Project
– проект, здійснимий
мовою С, та ввести папку і ім'я проекту.
Відтак аналогічно
ч. 1, п. 1 вибрати тип МК, визначити
налагоджувальну платформу та ввести
свій варіант
програми мовою Сі в програмному файлі
з розширенням "с", користуючись
зразком.
2 Виконати транслювання програми в машинні коди (див. ч.1, п.2).
3 Виконати налагодження проекту в Atmel Studio 6 (див. ч.1, п.3).
4 Оформити звіт (див. лабораторна робота №1, ч.2, п.5).