Перший проект на асемблері AVR ATmega в AVR Studio, Blablacode
Так уже склалося, що до більшості статей я прикладаю вихідники у вигляді проекту, чи схему, чи ще чогось. Довго думав, що ж "прикласти" до цієї статті. Ох вже цей асм.
Проект мовою асемблера для AVR контролерів створити не дуже складно (твердження стосується лише цього - "пілотного" проекту). Припускатиму, що читач знайомий з основами мови асемблера, і відрізняє команди від директив.
Ідемо в AVR Studio клацаємо New -- Project -- ASM Project після чого вибираємо контролер і отримуємо порожній текстовий файл. Непідготовлена людина злегка "обдурює" від відсутності навіть інклуда з налаштуваннями для даного контролера. Але не біда.
Інклудимо його самі, ну і описуємо відразу ж 2 мітки:
Зробивши це ми просто включаємо по черзі всі піни порту B нашого mega128.
Як ви напевно знаєте, виконання починається з початку файлу, так що при включенні контролера насамперед будуть виконані дії за міткою RESET бо вона в самому верху нашої програми. У програмі після цієї мітки ми просто вказуємо, що всі висновки порту B це вихід, а не вхід.
Після чого починається виконання програми під міткою LOOP (що у перекладі "цикл"). Усередині цього циклу ми просто виводимо в порт B дані з 16 регістру (який ми обізвали temp) і зрушуємо значення регістрі, після чого відбувається безумовний перехід за міткою LOOP тобто. на початок циклу.