Ціль роботи: вивчити архітектуру й принципи програмування мікроконтролера AVR АТMEGA128 на прикладі розробки програми для керування блоком світлодіодів; структурну організацію, склад і можливості компонентів лабораторного макета, освоїти користувальний інтерфейс середовища програмування C Code Vision AVR.
1.1 Вказівки по організації самостійної роботи
Перед роботою необхідно проробити теоретичний матеріал по літературі [1, 2] і конспект лекцій, ознайомитися зі структурою й принципами функціонування мікроконтролера AVR АТMEGA128, системою команд і основами програмування на мовах Assembler і С. При підготовці до лабораторної роботи необхідно скласти попередні варіанти листингів програм, що вказують у пунктах практичного виконання роботи.
1.1.1. Основні характеристики мікроконтролера AVR АТMEGA128. AVR-архітектура поєднує високопродуктивний RISC-процесор з роздільним доступом до пам'яті програм і даних, 32 регістра загального призначення, кожний з яких може працювати як регістр-акумулятор, і розвинену систему команд із фіксованою (16-біт) довжиною. Конвеєрна архітектура з одночасним виконанням поточної й вибіркою наступної команди дозволяє виконувати більшість команд за один машинний цикл, що забезпечує продуктивність до 1 MIPS на кожний Мгц тактової частоти.
Нижче приводяться основні характеристики мікроконтролера AVR АТMEGA128:
виробництво по КМОП-технології з низьким енергоспоживанням;
тактова частота може змінюватися в широких межах від 0 до 16 Мгц (повністю статична архітектура);
ядро мікроконтролера засноване на RISC архітектурі із двоступінчастим конвеєром, що забезпечує виконання однієї команди за один машинний цикл;
гарвардська архітектура з роздільною пам'яттю програм і даних;
регістровий файл містить 32 регістра загального призначення;
всі регістри загального призначення безпосередньо підключені до АЛУ;
сполучена архітектура вводу/виводу (регістри загального призначення й порти вводу/виводу перебувають в адресному просторі ОЗУ даних);
наявність програмного стека;
наявність у складі АЛУ апаратного помножувача;
19 джерел внутрішніх переривань, 8 джерел зовнішніх переривань;
Обсяг FLASH-пам'яті програм: 128 кбт;
Обсяг статичної оперативної пам'яті (ОЗУ): 4 кбт
Обсяг пам'яті даних на основі електрично-стираємого
(ЕЕРROM): 4 кбт;
Інтерфейси програмування: SPI і JTAG;
Напруга живлення: 4.5-5.5 В;
Периферійні пристрої:
8-розрядні паралельні порти вводу/виводу;
8 і 16 розрядні таймери-лічильники;
широтно-імпульсні модулятори;
аналогові компаратори,
10-розрядний 8-канальний АЦП,
Убудований універсальний асинхронний приймач (USART).
Висока продуктивність, наявність розвинутої підсистеми вводу/виводу й широкого спектра вбудованих периферійних пристроїв дозволяють віднести мікроконтролери AVR АТMEGA128 до класу найбільш функціональних мікроконтролерів для вбудованих систем керування, застосовуваних у побутовій і офісній техніці, мобільних телефонах, контролерах периферійного встаткування (принтери, сканери, приводи СD-ROM), портативних медичних приладах, інтелектуальних датчиках (охоронних, пожежних) і ін.