Avr studio скачати
AVR Studio 4 - професійна інтегроване середовище розробки (Integrated Development Environment - IDE), призначена для написання і налагодження прикладних програм для AVR мікропроцесорів в середовищі Windows. AVR Studio 4 містить асемблер і симулятор.
У режимі симулятора AvrStudio дозволяє програмісту спостерігати за логікою виконання програми, тобто бачити вміст регістрів, пам'яті, портів, спостерігати за виконанням команд і т.д.
Запустимо AVRstudio. для створення нового проекту з цього вікна тиснемо на Project / New Project.
Вікно AVRstudio нічим не відрізняється від стандартних вікон, наприклад Delphi або CodeGear Зверху службові вікна команд. Зліва направо
2) Вікно з кодом Ассемблера
3) Вікно складових мікроконтролера.
Внизу лог подій.
Створення першого проекту
Для більш повного знайомства напишемо просту програму.
Створюємо новий проект (у верхньому меню Project \ new project або в стартовому вікні
У вікні, в графі Project type виберемо тип проекту Atmel AVR Assembler. в графі Project name вказуємо ім'я нового проекту, в рядку Location необхідно вказати шлях до майбутнього проекту (шлях не повинен бути занадто довгим, пробілів і мати українських символів) також необхідно відзначити галочкою Create folder (тоді проект буде створений в окремій папці). Натискаємо «Finish» .Якщо натиснути «Next». то перед нами відкриється вікно вибору пристрою, під яке ми будемо писати програму, але поки що нам це не потрібно.
Першу програму напишемо для мікроконтролера Atmega 16. Для початку його вистачить на всі експерименти.
Створення нового проекту
Розробити пристрій дозволяє керувати світлодіодом і кнопкою, при натисканні на кнопку світлодіод повинен запалитися, а при відпуску погаснуть.С практичної точки зору це абсолютно безглузде завдання, тому що можна обійтися без мікропроцесора. Але як приклад підходить чудово.
2) прочитати стан кнопки, якщо значення на кнопці «логічний 0», то запалити світлодіод, а якщо значення на кнопці «логічна 1», то погасити світлодіод
3) повернутися в початок циклу
ldi Rd. K Завантаження константи в регістр загального призначення
in Rd. P Пересилання з регістра вводу-виводу в регістр загального призначення
out P. Rd Пересилання з регістра загального призначення в регістр вводу-виводу
rjmp Відносний безумовний перехід
Регістр загального призначення (РОН), позначається Rd (приймач) або Rr (джерело) де d і r номер регістра.
Регістр вводу-виводу (РВВ), позначається P.
Константа позначається K.
include "m 16 def. inc"; підключення бібліотеки для роботи з ATmega 16
list; включення лістингу
def temp = r 16; визначення головного робочого регістра
cseg; вибір сегмента програмного коду
ldi temp, 0 x 80; вимикання компаратора
ldi temp, 0 x 00; записуємо нуль в регістр temp
out ddrd. temp; записуємо цей нуль в ddrd (порт rd на введення)
ldi temp, 0 xFF; записуємо 0 xff в регістр temp
out ddrb. temp; записуємо temp в ddrb (порт rb на висновок)
out portb. temp; записуємо temp в portb (погасити світлодіод)
out portd. temp; записуємо temp в portd (включаємо внутрішній резистор)
in temp. pind; читаємо вміст порту pd
out portb. temp; пересилаємо в порт pb
rjmp metka; переходимо по мітці до початку циклу
Після написання програми необхідно її відкомпілювати, для цього в AvrStudio в верхньому меню необхідно відкрити вкладку Build і натиснути знову ж на build або можна скористатися комбінацією клавіш F 7.
Після компіляції якщо програма написана правильно в балці подій ми побачимо повідомлення:
"Assembly complete, 0 errors. 0 warnings".
Тепер заходимо в папку з нашим проектом і бачимо там деяку кількість файлів, поки що нам потрібні тільки два: 1) файл з розширенням. asm. в ньому власне і знаходиться вихідний код программи.2) файл з розширенням. hex - відкомпільований машинний код (саме його і прошивають в мікропроцесор).
Перевіримо нашу програму в дії, для цього в Proteus зберемо просту схему.
Необхідні компоненти: ATmega 16, Button. Led - green. земля (ground) і джерело напруги (power +5 v).
Схема для перевірки програми
Коли ми зібрали схему, необхідно завантажити HEX-файл в мікроконтролер, для цього натискаємо правою кнопкою миші по микроконтроллеру і вибираємо Edit properties (правка властивостей), знаходимо рядок Program file і вказуємо в ній шлях до нашого. hex. поки більше міняти нічого не потрібно.
Після цього запускаємо симуляцію і натискаємо кнопку (button), світлодіод повинен міняти свій стан.
Так як в програмі ми управляємо цілими портами то без зміни програми можна підключити до порту PD вісім кнопок, а до порту PB вісім світлодіодів.
Схема 8 світлодіодів
AvrStudio в режимі налагодження програми
Основними функціями AvrStudio є функція розробки і функція налагодження програм для мікроконтролерів фірми Atmel. З функцією розробки ми вже познайомилися, тепер запустимо режим налагодження.
1) Запускаємо AvrStudio (якщо ще не запустили)
2) Створюємо новий проект
3) Напишемо найпростішу програму для ATmega 16 і откомпіліруем її
; Приклад для емуляції програми в AvrStudio
include "m 16 def. inc"; підключення бібліотеки
list; включення лістингу
def temp 0 = r 16; визначення робочих регістрів
def temp 3 = r 19
ldi temp 0,0 x 00; записуємо нуль в регістр temp 0
ldi temp 0,0 xFF; записуємо 0 xff в регістр temp 0
ldi temp 1,0 x 00; записуємо нуль в регістр temp 1
ldi temp 1,0 xAA; записуємо 0 xAA в регістр temp 1
ldi temp 2,0 x 00; записуємо нуль в регістр temp 2
ldi temp 2,0 xCC; записуємо 0 xCC в регістр temp 2
ldi temp 3,0 x 00; записуємо нуль в регістр temp 3
mov temp 3, temp 2; пересилання даних з temp 2 d temp 3
rjmp metka; перехід до мітки
Для цього у верхньому меню відкриємо вкладку Debug і виберемо select platform and device ..., у вікні виберемо платформу AVR simulator і пристрій ATmega 16 після чого натиснемо Finish.
5) Запустимо емуляцію натиснувши Start debugging в тій же вкладці Debug.
* Емуляція в AvrStudio - послідовне виконання команд з можливістю контролю їх виконання безпосередньо в структурі процесора.
У вікні I / O view ви можете контролювати стан портів, пам'яті і т.д. а у вікні Processors бачити як змінюються значення регістрів і стежити за процесом емуляції ... Жовта стрілка знаходиться зліва від команди показує що саме ця команда буде виконана при наступному кроці емуляції.
6) Почнемо виконання програми, для цього натискаємо на step Into (F 11) у вкладці Debug
Далі справа за вами, поєднуючи Proteus і AvrStudio можна швидко навчитися проектувати електронні пристрої, чого я вам і бажаю.
Питання обговорюємо на форумі
Завантажити Proteus можна тут
Avr studio завантажити тут