Главная arrow Программирование arrow AVR arrow Микроконтроллеры AVR Sunday, August 20 2017  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:

Микроконтроллеры AVR Версия для печати
Написал microsin   
07.03.2007

Начал изучать AVR я не сразу. Сначала работал с MCS51 (где-то с 1991 года), поскольку другой альтернативы попросту не было.

Потом с появлением PIC начал облизываться и на них (плюсы известные - низкая цена, малое энергопотребление, высокая производительность на простых задачах), но из-за ужасного ассемблера, неудобства написания прошивок к ним и дороговизны внутрисхемного эмулятора PIC у меня не прижились (сильно коробило от метода отладки скомпилировал/прошил/попробовал - и то на одном-единственном PIC16F84, хотя многие энтузиасты так программы и писали). До появления семейства ATtiny на AVR я тоже посматривал косо - несмотря на "драматическое", как говорят америкосы, увеличение быстродействия, уменьшение энергопотребления. Под MCS51 у меня уже был купленный дорогущий эмулятор, и пока возможности старой платформы устраивали. Но вот появились ATtiny и ATmega, принеся с собой такие вкусности, как дармовые многоканальные встроенные ADC, PWM, дешевую аппаратную отладку с помощью debugWIRE, и я не выдержал - бастион MCS51 пал. AVR оказался не так страшен, как PIC, поскольку имеет очень приятный и логичный ассемблер. Мне понравилось сравнение архитектур AVR и PIC здесь: http://avr.nikolaew.org/vybor.htm. Еще приятная возможность - можно подобрать модель AVR такую, что она по цоколевке будет совпадать с процессором платформы MCS51 - AT89C51, AT89C2051, так что можно сделать "апгрейд" старого устройства, практически не перепаивая схему. Потратил немного времени на изучение (не больше месяца!..), немного (по-настоящему немного!) денег на “взрослый” внутрисхемный эмулятор Atmel AVR JTAGICE mkII, и теперь для меня альтернативы AVR просто нет - писать больше под MCS51 нет смысла. Итак, как лучше изучать AVR, с чего начать?

Рекомендую действовать примерно по такому плану:
1. Нужно ознакомиться с основными возможностями архитектуры, для этого начните с
http://atmel.ru/
http://www.atmel.com/products/avr/
http://www.avr123.nm.ru/
   Совершенно без напрягов просмотрите бегло эти ссылки. Вы наверняка уже имеете некоторые требования к микроконтроллерам по ресурсам (памяти, возможностям, количеству ножек и т. п.) - выберите из таблицы один, максимально подходящий для Вас. Я со своей стороны рекомендую те, которые поддерживают отладку debugWIRE - это семейство ATtiny и ATmega, для них есть возможность относительно недорого купить внутрисхемный эмулятор Atmel AVR JTAGICE mkII (коммерческое название AT JTAGICE2). Я выбрал ATmega16 и ATtiny24 (потом еще зацепил и ATtiny45).
2. Скачайте из Интернета datasheet для выбранного микроконтроллера, попытайтесь найти его перевод на русский. Проштудируйте его, новые сведения оттуда, которые считаете важными и нужными, законспектируйте - это поможет запомнить материал, а также пользоваться потом конспектом как удобным справочником.
3. Выберите IDE и инструменты для написания программ. Советую:
- AVR Studio 4
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725
Позволяет писать проги на голом ассемблере. Доступен для бесплатного использования, поддерживает внутрисхемный эмулятор Atmel AVR JTAGICE mkII и другие, встроенный отладчик. Недостаток - нет штатно встроенного компилятора C, хотя легко подключается gcc (свободный компилятор C по лицензии GNU). Кроме того, отлаживать по исходному коду C можно, если код был создан и скомпилирован в совместимый для отладки формат - см. начиная с пункта 3 Как отлаживать программу на C для ATtiny24 с использованием AVR JTAGICE mkII)..
- IAR Embedded Workbench AVR v. 4.12 (или более поздняя)
http://www.iar.com/
Платная программа, поддерживает внутрисхемный эмулятор AVR JTAGICE mkII и другие, есть ассемблер и C, много возможностей.
- CodeVisionAVR
http://www.hpinfotech.ro/html/cvavr.htm
http://www.hpinfotech.ro/html/cvavr_features.htm
C Compiler, Integrated Development Environment, Automatic Program Generator и In-System Programmer (ISP) для Atmel AVR Family of Microcontrollers Version:  1.25.2 Beta1 Standard
В бесплатной версии достаточно возможностей, есть поддержка Atmel’s In-Circuit Emulators: ICE200, JTAG-ICE(правда, непонятно, поддерживается ли AT JTAGICE2).
- Visual Micro Lab или VMLAB Release 3.12
http://www.amctools.com/
Бесплатная продвинутая система отладки без внутрисхемного эмулятора.
- BASCOM-AVR
http://www.mcselec.com/
Просто сказать "продвинутая IDE с языком программирования Бейсик" - значит не сказать ничего. Посетите сайт разработчика, скачайте, попробуйте. Почитайте мою статью об этом продукте.

Последнее обновление ( 15.10.2008 )
 

Комментарии  

  1. #1 SeLF
    2010-02-0719:16:40 Подскажите пожалуйста чем отличается MCS51 от PIC16F84A! Очень надо! А я в этом в обще ни чего не понимаю!

    microsin: очень хочу ответить на Ваш вопрос, и не знаю, как это сделать в двух словах. Но попытаюсь - ОЛИЧАЮТСЯ ВСЕМ. Начиная с того, что MCS51 - это легендарное семейство микроконтроллер ов Intel (уже морально устаревшее), а PIC16F84A - всего лишь один из многочисленных представителей другого семейства (постепенно устаревающего) микроконтроллер ов - PIC от компании Microchip.

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.

Top of Page
 
microsin © 2017