Микроконтроллеры AVR |
![]() |
Добавил(а) microsin |
Начал изучать AVR я не сразу. Сначала работал с семейством MCS51 - Intel 8751, AT89C51, AT89C52 (где-то с 1991 года), поскольку другой альтернативы попросту не было. Потом с появлением PIC начал облизываться и на них (плюсы известные - низкая цена, малое энергопотребление, высокая производительность на простых задачах), но из-за ужасного ассемблера, неудобства написания прошивок к ним и дороговизны внутрисхемного эмулятора PIC у меня не прижились (сильно коробило от метода отладки скомпилировал/прошил/попробовал - и то на одном-единственном PIC16F84, хотя многие энтузиасты так программы и писали). Со временем, конечно, многое изменилось к лучшему, но как говорится - осадочек остался, и поезд PIC ушел. До появления семейства ATtiny на AVR я тоже посматривал косо - несмотря на "драматическое", как говорят америкосы, увеличение быстродействия, уменьшение энергопотребления. Под MCS51 у меня уже был купленный дорогущий эмулятор, и пока возможности старой платформы устраивали. Но вот появились ATtiny и ATmega, принеся с собой такие вкусности, как дармовые многоканальные встроенные ADC, PWM, дешевую аппаратную отладку с помощью JTAG и debugWIRE, и я не выдержал - бастион MCS51 пал. AVR оказался не так страшен, как PIC, поскольку имеет очень приятный и логичный ассемблер. Еще приятная возможность - можно подобрать модель AVR такую, что она по цоколевке будет совпадать с процессором платформы MCS51 - AT89C51, AT89C2051, так что можно сделать "апгрейд" старого устройства, практически не перепаивая схему. Потратил немного времени на изучение (не больше месяца!..), немного (по-настоящему немного!) денег на “взрослый” внутрисхемный эмулятор Atmel AVR JTAGICE mkII, см. [3] (для тех же целей можно купить намного более дешевый AVR Dragon) и теперь для меня альтернативы AVR просто нет - писать больше под MCS51 нет смысла. Итак, как лучше изучать AVR, с чего начать? Рекомендую действовать примерно по такому плану: 1. Нужно ознакомиться с основными возможностями архитектуры, для этого начните с [1]. Без напрягов просмотрите бегло эти ссылки. Вы наверняка уже имеете некоторые требования к микроконтроллерам по ресурсам (памяти, возможностям, количеству ножек и т. п.) - выберите из таблицы один, максимально подходящий для Вас. Я со своей стороны рекомендую те, которые поддерживают отладку debugWIRE - это семейство ATtiny и ATmega, для них есть возможность относительно недорого купить внутрисхемный эмулятор Atmel AVR JTAGICE mkII (коммерческое название AT JTAGICE2). Я выбрал ATmega16 и ATtiny24 (потом еще зацепил и ATtiny45). 2. Скачайте из Интернета datasheet для выбранного микроконтроллера, попытайтесь найти его перевод на русский. Сейчас информацию на русском найти уже не составляет большого труда. Проштудируйте даташит, новые сведения оттуда, которые считаете важными и нужными, законспектируйте - это поможет запомнить материал, а также пользоваться потом конспектом как удобным справочником. 3. Выберите IDE и инструменты для написания программ. Советую: - AVR Studio 4, AVR Studio 5, см. [2]. - IAR Embedded Workbench AVR v. 4.12 (или более поздняя). - CodeVisionAVR - Visual Micro Lab или VMLAB Release 3.12 - BASCOM-AVR [Ссылки] 1. AVR: полезные ссылки. |