Відкрити головне меню

Зміни

768 байтів додано ,  6 років тому
нема опису редагування
Мікроконтролери сімейства AVR
</div>]]
Мікроконтролери AVR мають [[Гарвардська архітектура|гарвардську архітектуру]] (програма і дані знаходяться в різних адресних просторах) і систему команд, близьку до ідеології [[RISC]]. Процесор AVR має 32 8-[[Біт|бітових]] [[Регістр_процесора|регістра]]. Управління мікроконтролером, по суті, є управління цими регістрами. На відміну від «ідеального» [[RISC]], регістри не абсолютно ортогональні: Деякі команди працюють тільки з регістрами r16…r31. Результат множення (у тих моделях, в яких є модуль множення) завжди розміщується в r0:r1. Для непрямої адресації пам’яті даних використовуються три «здвоєні» 16-бітові регістри-[[Вказівник|вказівники]] X (r26:r27), Y (r28:r29) іта Z (r30:r31). ДляВ командах роботи з пам’яттю програм LPM, SPM використовується лише регістрова пара Z (r30:r31).
 
Управління периферійними пристроями здійснюється через адресний простір даних. Для зручності з першими 64-ма адресами периферійних пристроїв можна працювати за допомогою «скорочених» команд IN/OUT доступу до простору вводу-виводу (I/O&nbsp;– Input/Output). Роботу з окремими бітами периферійних пристроїв у просторі I/O забезпечують команди SBI, CBI, SBIS, SBIC. Втім, ці команди працюють лише з першими 32-ма адресами простору.
Окрім фірмових засобів розробки (IAR, CODEVISION і ін.), існує [[GNU]] порт [[GCC]] для AVR. Крім того, архітектура AVR дозволяє застосовувати [[Операційна система|операційні системи]] при розробці застосувань, основними з яких є написані на мові [[C_(мова_програмування)|C]] системи [[FREERTOS]] та [[uOS]]. Також існує написана на мові програмування [[C%2B%2B|C++]] система [http://scmrtos.sourceforge.net/ScmRTOS scmRTOS]
 
Суттєвий вплив на поширеність мікроконтролерів має те, що програмування цих мікроконтролерів здійснюється досить легко. Найпростіший [[Програматор|програматор]], пристрій за допомогою якого персональний комп'ютер записує програму ву [[Флеш-пам'ять|flash ]]-пам'ять мікроконтролера, складається з п'яти провідників та вилки LPT порта [[IEEE_1284|LPT]]. Це дозволяє з успіхом використовувати мікроконтролери AVR новачками, що хочуть отримати знання з мікроелектроніки.
 
== Основні сімейства ==
* tinyAVR
** 0.5–85–16 [[Кілобайт|кБ]] пам'яті програм
** 32-1024 байти оперативної пам’яті
** 0-512 байтів енергонезалежної пам’яті даних [[EEPROM]]
** 6–32-вивідний корпус
** Обмежений набір внутрішніх периферійних пристроїв
 
* megaAVR
** 4–256 [[Кілобайт|кБ]] пам'яті програм
** 0.25-8 [[Кілобайт|кБ]] оперативної пам’яті
** 0.25-4 [[Кілобайт|кБ]] енергонезалежної пам’яті даних EEPROM
** 28–100-вивідний корпус
** Розширений набір команд (Командикоманди множення, розширені методи адресації в командах LPM, SPM)
** Розширений набір внутрішніх периферійних пристроїв
 
* XMEGA
** 16–384 [[Кілобайт|кБ]] пам'яті програм
** 2–32 [[Кілобайт|кБ]] оперативної пам’яті
** 1–4 [[Кілобайт|кБ]] енергонезалежної пам’яті даних EEPROM
** 44–64–100-вивідний корпус (A4, A3, A1)
** Підвищена продуктивність за рахунок таких особливостей, як ПДП (Прямий Доступ до Пам'яті), підтримка криптографії, "Система подій".
19 424

редагування