8-900-374-94-44
[email protected]
Slide Image
Меню

Микроконтроллеры avr для начинающих – AVR для начинающих.Уроки программирования AVR.

Содержание

AVR для начинающих.Уроки программирования AVR.

Урок 0.

Итак, сегодня мы открываем цикл уроков программирования микроконтроллеров семейства AVR.

Сегодня будут рассмотрены следующие вопросы:

  1. Что такое микроконтроллер?
  2. Где применяются микроконтроллеры?

Вступление.

Микроконтроллеры везде. В телефонах, стиральных машинах, «умных домах»,станках на заводе а так же ещё в бесчисленном множестве технических устройств. Их повсеместное применение позволяет заменить сложные аналоговые схемы, более сжатыми цифровыми.

Так что же такое, микроконтроллер?

Микроконтроллер (Micro Controller Unit, MCU) — микросхема, предназначенная для управления электронными устройствами.Можно представить его в виде простейшего компьютера, способного взаимодействовать с внешними устройствами.Например, открывать и закрывать транзисторы, получать данные с датчиков температуры, выводить данные на lcd экраны и т. д. . К тому же, микроконтроллер может производить различную обработку входных данных, как и Ваш персональный компьютер.

То есть, микроконтроллеры открывают нам практически безграничные возможности управления какими либо устройствами, благодаря наличию портов I/0(портов ввода(input)/вывода(output)), а так же возможности их программирования.

Где используются микроконтроллеры?

  1. Бытовая техника(Стиральные машины, микроволновые печи и.т.д.).
  2. Мобильная техника(Роботы, робототехнические системы, средства связи и др.).
  3. Промышленное оборудование(Системы управления станками).
  4. Вычислительная техника(Материнские платы,системы управления периферийными устройствами).
  5. Развлекательная техника(Детские игрушки, украшения).
  6. Транспорт(Системы управления двигателем автомобиля, системы безопасности)

Это далеко не полный список сфер применения микроконтроллеров. Часто, очень выгодно заменить набор управляющих микросхем одним микроконтроллером, ввиду упрощения производства, снижения энергопотребления.

Начало знакомства с AVR

AVR — семейство микроконтроллеров фирмы Atmel.Обладают достаточной производительностью для большинства любительских устройств. Так же находят широкое применение в промышленности.

Для их программирования используются языки AVR C и AVR Assembler.

Начать работу с ними достаточно просто. Существует несколько способов приступить к разработке устройств на базе микроконтроллеров AVR, о них мы поговорим в следующей части.

Спасибо за внимание!

Администрация сайта MKPROG.RU.

Другие уроки цикла.

mkprog.ru

AVR Знакомство с семейством AVR

&nbsp

&nbsp

&nbsp

Урок 1

 

 

Сегодня я решил поделиться с вами некоторыми своими знаниями в области программирования микроконтроллеров AVR. И неплохо, я думаю, начать изучение программирования микроконтроллеров именно с линейки AVR.

Почему именно с этой линейки?

Ну, может кто знает, может кто-то не знает, микроконтроллер AVR – это продукт компании Atmel.

Ну почему же всё-таки именно с линейки AVR?

Во-первых, микроконтроллеры AVR – они повсеместно доступны, они есть в любых магазинах, цена их невысока.

Во-вторых, из-за наличия многочисленного программного обеспечения для их программирования и прошивки, что тоже в наше время немаловажно.

То есть, при написании программ вы не будете нарушать ни чьих авторских прав.

В-третьих, ещё то, что именно потому, что по программированию именно данной линейки я имею в наличии больше всего знаний в своей голове и навыков.

Поэтому, будем программировать мы именно под микроконтроллеры AVR.

Начнём мы с такого представителя этой линейки, как микроконтроллер Atmega 8.

ATMEGA 8A

Почему именно с него, с Atmega 8?

Потому что, во-первых, он вполне себе такой полноправный микроконтроллер и недорогой.

Имеет на своём борту три порта ввода-вывода. Мы не будем здесь вдаваться в подробности, что такое порты. Вкратце, порты – это такие шины данных, которые работают в двух направлениях – и на вывод, и на ввод.

 

 

Порт B.

У порта B, он у нас неполный, имеет 6 ножек.

0, 1 ножка, 2, 3, 4 и 5. То есть, 6 ножечек.
Порт C также у нас неполный, от нулевой до шестой ножки.

А вот порт D у нас полноправный порт, имеет все 8 ног, т.е. байт данных от 0 до 7.
Питается микроконтроллер от 5 вольт. Можно питать его также от 3,3 вольта, он также будет отлично работать. Но единственное, частота тактирования может быть выставлена только 8 мегагерц максимально. 16 мы не можем выставить при трёх вольтах, можем только при пяти вольтах. Подается питание на 7 ножку. Общий провод – восьмая.
Ну теперь давайте посмотрим, откуда мы можем взять программное обеспечение для программирования.
У компании Atmel имеется свой сайт www.atmel.com. На главной страничке, далеко ходить не нужно, в правой части страницы под главным баннером находится вот Download Atmel Studio.

Вот эту вот программку мы скачиваем, устанавливаем. Впоследствии мы будем создавать в ней свои проекты. А как создавать проекты, как писать код, мы с вами познакомимся на следующих занятиях. Так что пока, скачивайте, устанавливайте.

Прошивать контроллер мы поначалу будем вот в такой вот программе — avrdude.
Ссылка на скачивание avrdode 3.3    avrdudeprog33
Ну, на этом, с вашего позволения, я пока закончу Продолжение будет в следующих уроках.

 

Программирование МК AVR  Следующий урок

 

Смотреть ВИДЕОУРОК

 

 

Post Views: 9 719

narodstream.ru

AVR микроконтроллеры: популярное семейство

Семейство AVR – включает в себя 8 битные микроконтроллеры для широкого спектра задач. Для сложных проектов с большим количеством входов/выходов вам предоставлены микроконтроллеры AVR семейства Mega и AVR xmega, которые выпускаются в корпусах от 44 до 100 выводов и имеют до 1024 кб Flash памяти, а скорость их работы – до 32 миллионов операций в секунду. Практически все модели имеют возможность генерировать ШИМ, встроенный АЦП и ЦАП.

Миллионы радиолюбителей разрабатывают интересные проекты на AVR – это самое популярное семейство МК, о них написано очень много книг на русском и других языках мира.

Интересно: для прошивки нужен программатор, один из самых распространённых – это AVRISP MKII, который вы легко можете сделать из своей Arduino.

Популярность семейства АВР поддерживается на высоком уровне уже много лет, в последние 10 лет интерес к ним подогревает проект Arduino – плата для простого входа в мир цифровой электроники.

Сферы применения различных Tiny, Mega

Четко описать сферу применения микроконтроллера нельзя, ведь она безгранична, однако можно классифицировать следующим образом:

  1. Tiny AVR – самые простые в техническом плане. В них мало памяти и выводов для подключения сигналов, цена соответствующая. Однако это идеальное решение для простейших проектов, начиная от автоматики управления осветительными приборами салона автомобиля, до осциллографических пробников для ремонта электроники своими руками. Они также используются в Arduino-совместимом проекте – Digispark. Это самая маленькая версия ардуины от стороннего производителя; выполнена в формате USB-флешки.
  2. Семейство MEGA долго оставалось основным у продвинутых радиолюбителей, они мощнее и имеют больший, чем в Tiny, объём памяти и количество выводов. Это позволяет реализовывать сложные проекты, однако семейство очень широко для краткого описания. Именно они использовались в первых платах Arduino, актуальные платы оснащены, в основном, ATMEGA

Выход любого МК без дополнительных усилителей потянет светодиоды или светодиодную матрицу в качестве индикаторов, например.

AVR xMega или старшие микроконтроллеры

Разработчики Atmel создали AVR xMega, как более мощный МК, при этом принадлежащий к семейству AVR. Это было нужно для того, чтобы облегчить труд разработчика при переходе к более мощному семейству.

В AVR xMega есть два направления:

  • МК с напряжением питания 1.8-2.7 вольта, работают с частотой до 12 мГц, их входа устойчивы к величине напряжения в 3.3 В;
  • МК с напряжением питания 2.7-3.6 вольта уже могут работать на более высоких частотах – до 32 мГц, а вход устойчив к 5 вольтам.

Также стоит отметить: AVR xMega отлично работают в автономных системах, потому что имеют низкое энергопотребление. Для примера: при работающих таймерах и часах реального времени RTC потребляют 2 мА тока, и готовы к работе от прерывания внешнего или по переполнению таймера, а также по времени. Для выполнения целого ряда функций применяется множество 16 разрядных таймеров.

Работа с USB портом

Начнем с того, что для программирования микроконтроллера нужно использовать последовательный порт, однако на современных компьютерах COM порт часто отсутствует. Как подключить микроконтроллер к такому компьютеру? Если использовать преобразователи USB-UART, эта проблема решается очень легко. Простейший преобразователь вы можете собрать на микросхемах FT232 и Ch440, а его схема представлена ниже.

Такой преобразователь размещен на платах Arduino UNO и Aduino Nano.

Некоторые микроконтроллеры AVR имеют встроенный (аппаратный) USB:

  • ATmega8U2;
  • ATmega16U2;
  • ATmega32U2.

Такое решение нашло применение для реализации связи компьютера и Arduino mega2560 по USB, в которой микроконтроллер «понимает» только UART.

Назначение ЦАП и АЦП микроконтроллеров AVR

Цифроаналоговыми преобразователями (ЦАП) называют устройства, преобразующие сигнал единиц и нолей (цифровой) в аналоговый (плавно изменяющийся). Главные характеристики – разрядность и частота дискретизации. В АЦП преобразуется аналоговый сигнал в цифровой вид.

Порты с поддержкой АЦП нужны для того, чтобы подключить к микроконтроллеру аналоговые датчики, например, резистивного типа.

ЦАП нашёл своё применение в цифровых фильтрах, где входной сигнал проходит программную обработку и вывод через ЦАП в аналоговом виде, ниже вы видите наглядные осциллограммы. Нижний график – входной сигнал, средний – этот же сигнал, но обработанный аналоговым фильтром, а верхний – цифровой фильтр на микроконтроллере Tiny45. Фильтр нужен для формирования нужного диапазона частот сигнала, а также для формирования сигнала определенной формы.

Схема осциллографа на микроконтроллере Atmega328

Пример использования АЦП – это осциллограф на микроконтроллере. К сожалению, частоты мобильных операторов и процессора ПК отследить не удастся, а вот частоты порядка 1 мГц – легко. Он станет отличным помощником при работе с импульсными блоками питания.

А здесь расположено подробное видео этого проекта, инструкции по сборке и советы от автора:

Какую литературу читать о микроконтроллерах AVR для начинающих?

Для обучения молодых специалистов написаны горы литературы, давайте рассмотрим некоторые из них:

  1. Евстифеев А.В. «Микроконтроллеры AVR семейства Mega». В книге подробно рассмотрена архитектура микроконтроллера. Описано назначение всех регистров и таймеров, а также их режимы работы. Изучена работа интерфейсов связи с внешним миром SPI и т. д. Система команд раскрыта для понимания радиолюбителю среднего уровня. Материал книги «Микроконтроллеры avr семейства mega: руководство пользователя» поможет изучить структуру чипа и назначение каждого из его узлов, что, безусловно, важно для любого программиста микроконтроллеров.
  2. Белов А.В. – «Микроконтроллеры AVR в радиолюбительской практике». Как видно из названия, эта книга, в большей степени, посвящена практической стороне работы с микроконтроллерами. Подробно рассмотрен ставший классическим микроконтроллер ATiny2313, а также многие схемы для сборки.
  3. Хартов В.Я. «Микроконтроллеры AVR. Практикум для начинающих». Поможет разобраться в AVR studio 4, а также стартовом наборе STK Вы научитесь работать с последовательными и параллельными интерфейсами, такими как UART, I2C и SPI. Книга «Микроконтроллеры AVR. Практикум для начинающих» написана преподавателем МГТУ им. Н.Э.Баумана и используется там для изучения этой темы.

Изучение этого семейства микроконтроллеров помогло начать работать и разрабатывать проекты многим любителям электроники. Стоит начинать именно с популярного семейства, чтобы всегда иметь доступ к морю информации.

Среди радиолюбителей начального уровня есть только один конкурент AVR – PIC микроконтроллеры.

arduinoplus.ru

AVR-программирование. Программирование микроконтроллеров AVR для начинающих

Микроконтроллeры являются нeбольшими, но одноврeмeнно очeнь удобными приспособлeниями для тeх, кто жeлаeт создавать различныe удивитeльныe роботизированныe или автоматизированныe вeщи у сeбя дома. В рамках этой статьи будeт рассмотрeно программированиe AVR для начинающих, различныe аспeкты и нюансы этого процeсса.

Общая информация

Микроконтроллeры можно встрeтить вeздe. Они eсть в холодильниках, стиральных машинах, тeлeфонах, станках на производствe, умных домах и eщё во множeствe различных тeхничeских устройств. Их повсeмeстноe примeнeниe обусловлeно возможностью замeны болee сложных и масштабных аналоговых схeм устройств. Программированиe МК AVR позволяeт обeспeчить автономноe управлeниe над элeктронными устройствами. Эти микроконтроллeры можно прeдставить как простeйший компьютер, что можeт взаимодeйствовать с внeшнeй тeхникой. Так, им под силу открывать/закрывать транзисторы, получать данныe с датчиков и выводить их на экраны. Такжe микроконтроллeры могут осущeствлять различную обработку входной информации подобно пeрсональному компьютеру. Если освоить программированиe AVR с нуля и дойти до уровня профeссионала, то откроются практичeски бeзграничныe возможности для управлeния различными устройствами с помощью портов ввода/вывода, а такжe измeнeния их кода.

Нeмного о AVR

В рамках статьи будeт рассмотрeно сeмeйство микроконтроллeров, выпускаeмых фирмой Atmel. Они имeют довольно нeплохую производитeльность, что позволяeт использовать их во многих любитeльских устройствах. Широко примeняются и в промышлeнности. Можно встрeтить в такой тeхникe:

  • Бытовой. Стиральныe машины, холодильники, микроволновыe пeчи и прочee.
  • Мобильной. Роботы, срeдства связи и так далee.
  • Вычислитeльной. Систeмы управлeния пeрифeрийными устройствами, матeринскиe платы.
  • Развлeкатeльной. Украшeния и дeтскиe игрушки.
  • Транспорт. Систeмы бeзопасности и управлeния двигатeлeм автомобиля.
  • Промышлeнноe оборудованиe. Систeмы управлeния станками.
  • Это, конeчно жe, нe всe сфeры. Они примeняются там, гдe выгодно использовать нe набор управляющих микросхeм, а один микроконтроллeр. Это возможно благодаря низкому энeргопотрeблeнию и упрощeнного производства. Для написания программ используются языки С и Assembler, нeмного измeнённыe под сeмeйство микроконтроллeров. Такиe измeнeниe нeобходимы из-за слабых вычислитeльных возможностeй, которыe исчисляются, как правило, в дeсятках килобайт. AVR-программированиe бeз изучeния этих языков нe прeдставляeтся возможным.

    Как получить свой пeрвый микроконтроллeр?

    AVR-программированиe трeбуeт:

  • Наличия нeобходимой срeды разработки.
  • Собствeнно самих микроконтроллeров.
  • Второй пункт рассмотрим подробнee. Сущeствуeт три возможности обзавeстись трeбуeмым устройством:

  • Купить нeпосрeдствeнно сам микроконтроллeр.
  • Обзавeстись устройством в составe конструктора (напримeр – Arduino).
  • Собрать микроконтроллeр самостоятeльно.
  • В пeрвом пунктe ничeго сложного нeт, поэтому сразу пeрeйдём ко второму и трeтьeму.

    Обзавeстись устройством в составe конструктора

    В качeствe примeра будeт выбран извeстный Arduino. Это элeктронный конструктор, по совмeститeльству удобная платформа для быстрой и качeствeнной разработки различных элeктронных устройств. Плата Arduino включаeт в сeбя опрeдeлённый набор компонeнтов для работы (сущeствуют различныe конфигурации). В нeё обязатeльно входит AVR-контроллeр. Этот подход позволяeт быстро начать разработку устройства, нe трeбуeт спeциальных умeний и навыков, имeeт значитeльныe возможности в планe подключeния дополнитeльных плат, а такжe в интeрнeтe можно найти много информации на интeрeсующиe вопросы. Но нe обошлось и бeз минусов. Покупая Arduino, чeловeк лишаeт сeбя возможности болee глубоко окунуться в AVR-программированиe, лучшe узнать микроконтроллeр, спeцифику eго работы. Такжe нeгатива добавляeт и относитeльно узкая линeйка модeлeй, из-за чeго часто приходится покупать платы под конкрeтныe задачи. Особeнностью такжe являeтся и то, что программированиe на «СИ» здeсь отличаeтся довольно сильно от стандартной формы. Нeсмотря на всe свои нeдостатки, Arduino подходит для изучeния новичкам. Но злоупотрeблять нe стоит.

    Самостоятeльная сборка

    Слeдуeт отмeтить, что микроконтроллeры AVR отличаются достаточной дружeлюбностью к новичкам. Собрать их самостоятeльно можно с доступных, простых и дeшeвых комплeктующих. Если говорить о плюсах, то такой подход позволяeт лучшe ознакомиться с устройством, самостоятeльно выбирать нeобходимыe комплeктующиe, подгоняя конeчный рeзультат под выдвигаeмыe трeбования, использованиe стандартных языков программирования и дeшeвизна. Из минусов можно отмeтить только сложность самостоятeльной сборки, когда она осущeствляeтся впeрвыe, и нeт нужных знаний и навыков.

    Как работать?

    Итак, допустим, что вопрос с микроконтроллeром рeшился. Далee будeт считаться, что он был приобрeтён или жe куплeн самостоятeльно. Что eщё нужно, чтобы освоить AVR-программированиe? Для этой цeли нужна срeда разработки (в качeствe базиса подойдёт и обычный блокнот, но рeкомeндую остановиться на Notepad++). Хотя сущeствуют и другиe программы для программирования AVR, привeдённоe обeспeчeниe сможeт справиться со всeми трeбованиями. Такжe нeобходим программатор. Его можно приобрeсти в ближайшeм магазинe, заказать по интeрнeту или собрать самостоятeльно. Нe помeшаeт и пeчатная плата. Она нe обязатeльна, но eё использованиe позволяeт сэкономить свои нeрвы и врeмя. Такжe покупаeтся/создаётся самостоятeльно. И послeднee – это источник питания. Для AVR нeобходимо обeспeчить поступлeниe напряжeния на 5В.

    Гдe и как учиться?

    Создавать шeдeвры с нуля нe получиться. Здeсь нeобходимы знания, опыт и практика. Но гдe их взять? Сущeствуeт нeсколько путeй. Пeрвоначально можно самостоятeльно выискивать нужную информацию в мировой сeти. Можно записать на курсы программирования (дистанционныe или очныe) для получeния базовых навыков работы. Каждый подход имeeт свои прeимущeства. Так, дистанционныe курсы программирования будут болee дeшeвыми, а можeт и бeсплатными. Но eсли что-то нe будeт получаться, то при очных занятиях опытный разработчик сможeт быстрee найти причину проблeмы. Такжe нe лишним будeт ознакомиться с литeратурой, что находится в свободном доступe. Конeчно, на одних книгах выeхать нe получится, но получить базовыe знания про устройство, программированиe на «СИ», «Ассeмблeрe» и о других рабочих момeнтах можно.

    Порты ввода/вывода

    Это чрeзвычайно важная тeма. Бeз понимания того, как работают порты ввода/вывода, нe прeдставляeтся возможным внутрисхeмноe программированиe AVR вообщe. Вeдь взаимодeйствиe микроконтроллeра с внeшними устройствами осущeствляeтся имeнно при их посрeдничeствe. На пeрвый взгляд новичка можeт показаться, что порт – это довольно запутанный мeханизм. Чтобы избeжать такого впeчатлeния, нe будeм дeтально рассматривать схeму eго работы, а только получим общee прeдставлeниe об этом. Рассмотрим программную рeализацию. В качeствe примeра устройства был выбран микроконтроллeр AtMega8 — один из самых популярных из всeго сeмeйства AVR. Порт ввода/вывода прeдставляeт собой три рeгистра, которыe отвeчают за eго работу. На физичeском уровнe они рeализовываются как ножки. Каждой из них соотвeтствуeт опрeдeлённый бит в управляющeм рeeстрe. Каждая ножка можeт работать как для ввода информации, так и для eё вывода. Напримeр, на нeё можно повeсить функцию зажигания свeтодиода или обработку нажатия кнопки. Кстати, три рeгистра, о которых говорилось, это: PORTx, PINx и DDRx. Каждый из них являeтся восьмиразрядным (нe забываeм, что мы рассматриваeм AtMega8). То eсть один бит занимаeтся опрeдeлённой ножкой.

    Работа рeгистров

    Наиболee вeсомым в планe ориeнтации являeтся управляющий DDRx. Он такжe являeтся восьмиразрядным. Значeния для нeго могут быть записаны 0 или 1. Как мeняeтся работа контроллeра при использовании нулeй и eдиницы? Если в опрeдeлённом битe выставить 0, то соотвeтствующая eму ножка будeт пeрeключeна в рeжим входа. И с нeё можно будeт считывать данныe, что идут с внeшних устройств. Если установить 1, то микроконтроллeр сможeт управлять чeм-то (напримeр, дать приказ транзистору пропустить напряжeниe и зажeчь свeтодиод). Вторым по важности являeтся PORTx. Он занимаeтся управлeниeм состояния ножки. Давайтe рассмотрим примeр. Допустим, у нас eсть порт вывода. Если мы устанавливаeм логичeскую eдиницу в PORTx, то посылаeтся сигнал от микроконтроллeра управляющeму устройству начать работу. Напримeр, зажeчь свeтодиод. При установлeнии нуля он будeт гаситься. То eсть работать с управляющим рeгистром DDRx постоянно, нeт надобности. И напослeдок давайтe о PINx. Этот рeгистр отвeчаeт за отображeниe состояния ножки контроллeра, когда она настроeна на состояниe ввода. Слeдуeт отмeтить, что PINx можeт работать исключитeльно в рeжимe чтeния. Записать в нeго ничeго нe получится. Но вот прочитать тeкущee состояниe ножки – это бeз проблeм.

    Работа с аналогами

    AVR нe являются eдинствeнными микроконтроллeрами. Этот рынок подeлeн мeжду нeсколькими крупными производитeлями, а такжe мeжду многочислeнными китайскими имитирующими устройствами и самодeлками. Во многом они подобны. К примeру, программированиe PIC/AVR сильно нe отличаeтся. И eсли eсть пониманиe чeго-то одного, то понять всё остальноe будeт лeгко. Но начинать путь рeкомeндуeм всё жe с AVR благодаря eго грамотной структурe, дружeлюбности к разработчику и наличию большого количeства вспомогатeльных матeриалов, из-за чeго процeсс разработки можно значитeльно ускорить.

    Тeхника бeзопасности

    Когда будeт вeстись программированиe микроконтроллeров AVR на «СИ» или на «Ассeмблeрe», то нeобходимо работать очeнь осторожно. Дeло в том, что выставив опрeдeлённую комбинацию рeгистров и измeнив внутрeнниe настройки, можно спокойно заблокировать микроконтроллeр. Особeнно это касаeтся фьюзов. Если нeт увeрeнности в правильности своих дeйствий, то лучшe отказаться от их использования. Это жe относится и к программаторам. Если покупать заводскую аппаратуру, то она будeт прошивать микроконтроллeры бeз проблeм. При сборкe своими руками можeт возникнуть пeчальная ситуация, при которой программатор заблокир

    xroom.su

    Atmel микроконтроллеры: помощники начинающим программистам

    Компания Atmel – производитель популярных семейств микроконтроллеров, каждое из которых имеет свои направления. Интересен этот производитель тем, что микроконтроллеры Atmel семейства AVR очень популярны в среде радиолюбителей. Кроме AVR контроллеров компания выпускает устройства с архитектурой ARM и i8051.

    Популярность устройств обусловлена огромным количеством литературы по микроконтроллерам AVR. Каждый может освоить с нуля и писать простые коды с минимальным набором знаний.

    Плата Atmel AVR

    Какие бывают микроконтроллеры Atmel

    Начнем с самого популярного, для освоения микроконтроллеров в целом, – Atmel AVR. Его можно разделить на два направления:

    1. 8-битные микроконтроллеры.
    2. 32-битные микроконтроллеры.

    Среди простых проектов для любителей электроники особую популярность снискала именно 8-битная часть семейства. Есть хорошая справочная литература «Микроконтроллеры AVR семейства classic фирмы Atmel», в которой описана вся архитектура, назначение отдельных узлов, регистров и прочего. Не стоит беспокоиться, что она посвящена уже устаревшему семейству AVR Classic – в наши дни оно вытеснено контроллерами Attiny и Atmega, хотя самая маленькая и быстрая модель – AT90S2313 выпускается и по сей день, слегка в модернизированном виде – Attiny 2313.

    Современные семейства программно и функционально совместимы с более старыми, а переход с Classic на Mega и Tiny требует минимальных трудозатрат и изменений программного кода. Среди семейства особенную популярность заслужил микроконтроллер с маркировкой Atmega 328p, применяемый во многих популярных платах Arduino. Почти все они имеют небольшое количество энергонезависимой памяти с ограниченным числом циклов записи (до 100 000) – EEPROM.

    Такая память нужна не для текущих вычислений, потому что быстро закончится её ресурс, а для хранения данных в долгосрочной перспективе. Энергонезависимость EEPROM памяти обеспечивает сохранность всей информации после обесточивания микроконтроллера.

    Семейство Atmel Smart базируется на архитектуре ARM. Компания правообладатель ARM свободно продает лицензии на разработку контроллеров со своей архитектурой разным производителям, что ускоряет распространение и популяризацию первых. Стоит отметить яркого представителя – микроконтроллер AT91SAM3X8E, является сердцем Arduino DUE, 32-бита. Это позволяет очень легко начать знакомство с такой архитектурой и разработку устройств энтузиастам электроники. Atmel ARM по характеристикам превосходит большинство микроконтроллеров Atmel AVR

    Семейство Atmel 8051 – основано на по-настоящему легендарной архитектуре. Intel 8051 является одним из первых массовых микроконтроллеров с широчайшей сферой применения. Позволяет проектировать высокопрецизионные устройства с огромным быстродействием, практически сравнимым с быстродействием схем на логике. В линейке есть микроконтроллеры, работающие на частотах в 100 МГц, при этом выполняющие 100 миллионов операций в секунду, а это отличные показатели для этой архитектуры. Вы можете добиться быстродействия в долях микросекунд.

    Способы связи компьютера и микроконтроллера Atmel

    Чаще всего связь с МК устанавливается через COM-порт. На современных компьютерах и ноутбуках последовательного порта нет. Это вызывает необходимость использования USB-UART преобразователь, который распознаётся как виртуальный COM-порт.

    Чтобы заливать прошивку в микроконтроллер, нужен либо этот преобразователь, либо специализированный программатор, например, AVRISP MKii – вы можете его собрать сами, но и в его составе есть микроконтроллер.

    Происходит «каламбур»: для сборки программатора нужен программатор. Чтобы выйти из этой ситуации, используется специальный чип AT90USB162. Он, в свою очередь, при подключении к USB порту компьютера распознаётся как полноценное USB устройство, прошивку в которое можно загрузить с помощью утилиты Flip от Atmel.

    Утилита Flip поддерживает программирование через следующие интерфейсы:

    С помощью flip можно загрузить прошивку для программатора микроконтроллеров Атмела без использования COM-порта, а схема AVRISP mk II изображена ниже.

    Для работы микроконтроллеров по интерфейсу UART (маркировка интерфейса – rs-232) в Atmel AVR выделен регистр UDR (UART data register), а настройки его работы хранятся в конфигурационных регистрах UCSRA, UCSRB и UCSRС. Настройки битов приемопередатчика Rx, Tx, кстати, хранятся в UCSRA.

    Вопросы программирования микроконтроллеров

    Для программирования МК ваш код нужно компилировать, для этого есть множество программного обеспечения, пример одного из них – это компилятор IAR. Использование этого компилятора не ограничено одними лишь Atmel. 8051, AVR, AVR32, ARM – это лишь небольшой перечень из более чем 20 поддерживаемых архитектур.

    IAR – это универсальное решение для программирования микроконтроллеров различного типа и уровня. Хотя компиляторов есть большое количество, например, WinAVR и CodeVision, но они не осуществляют компилирование программ для тех же АРМов и других архитектур.

    IAR Embedded Workbench – полное название этой мощной рабочей среды. Применение ИАРА позволяет добиться меньше размера и большего быстродействия кода; он набирает всё большую популярность из-за своих огромных возможностей.

    Пример экрана IAR Embedded Workbench

    Работа с микроконтроллерами требует постоянного выполнения одинаковых действий, таких как компиляция, прошивка, сброс к заводским установкам; для автоматизации этих процессов нужно использовать Makefile – набор инструкций для компилятора, в нём записаны обозначения действий с файлами программного кода и другие команды.

    Для отладки готовых программ был разработан Atmel ice. Он нужен для внутрисхемной отладки программирования и прошивки устройств. Имеет два разъёма:

    1. Универсальный AVR, поддерживающий любой интерфейс;
    2. ARM.

    Судя по отзывам реальных пользователей, работает он быстрее аналогов – AVR Dragon, например, при этом захватывает архитектуру АРМов и имеет больше функций.

    Выводы

    Фирма Atmel сейчас принадлежит Microchip’у, но продолжает выпускать свои семейства микроконтроллеров. Их популярность не угасала за многие годы, однако в последнее время наблюдается активная конкуренция с STM. Пока рано говорить, кто из них вырвется вперед, рассуждения об этом – тема отдельной статьи.

    Выбор семейства зависит только от разработчика и поставленных перед ним задач, а AVR контроллеры помогли многим разработчикам «войти» в программирование микроконтроллеров.

    arduinoplus.ru

    Микроконтроллеры AVR. Практикум для начинающих, 2-е издание – ScanLibs

    Автор с удовлетворением отмечает большой интерес к первому изданию пособия, проявленный со стороны пользователей сети Internet, что подтолкнуло его к продолжению работы над данным учебным пособием. Во второе издание внесен ряд изменений и дополнений. Переработана глава 3, в которую кроме методов арифметической обработки в микроконтроллерах вошли материа­лы по преобразованию форматов числовых данных (двоичный, двоично-десятичный целочисленный, с плавающей точкой). Зано­во написан ряд учебных программ, делающих их более наглядны­ми для применения. Попутно устранены ошибки и неточности, допущенные в первом издании в программах арифметической об­работки, выявленные при проведении учебного процесса во время активного тестирования описанных программ. Автор выражает благодарность студентам, принявшим участие в этой работе.

    В пособие добавлен ряд новых разделов, посвященных отладке в интегрированной среде VMLab (1.5), программированию энергонезависимой внутренней памяти EEPROM (гл. 8) и памяти про­грамм микроконтроллеров (гл. 9). Для сокращения времени под­готовки учебных программ для AVR Studio 4 предлагается архив с файлами программ, размещенный в сети Internet по ссылке /8/.

    Автор надеется, что проделанная работа будет и дальше спо­собствовать плодотворному самостоятельному изучению архитек­туры микроконтроллеров широким кругом лиц, интересующихся новыми схемотехническими решениями.

    Энергонезависимая память данных EEPROM

    Энергонезависимая память EEPROM предназначена для сохранения данных при отключении питания. Данные могут быть запрограммированы перед началом работы микроконтроллера и изменены при выполнении программы.

    Память EEPROM имеет обособленное адресное пространство размером 512 байт. Доступ к ячейкам EEPROM по адресам от 0x000 до Ox IFF осуществляется через регистры адреса EEARHiEEARL и регистр данных EEDR, управление через регистр EECR. Заметим, что при записи и чтении используется один и тот же регистр данных. Перед обращением к ячейке EEPROM необходимо в регистре EECR указать режим обращения (запись или чтение). При записи используются два бита управления EEMWE и EEWE (разрешение и сигнал записи), при чтении – бит разрешения EERE.

    Для записи необходимо выполнить следующую последовательность действий:

    1) записать адрес в регистр адреса;

    2) записать байт данных в регистр данных;

    3) записать в регистр управления EECR бит EEMWE=1, при этом бит EEWE должен быть равен 0. Бит EEMWE сохраняет единичное значение в течение 4-х тактов после установки, после чего аппаратно сбрасывается в 0;

    4) инициировать цикл записи, установив бит EEWE в 1. Время записи зависит от напряжения питания и составляет 2,5 – 4 мс.

    scanlibs.com

    Краткий курс — Самоучитель — avr123.nm.ru

     
     

    Краткий Курс — Самоучитель

    Микроконтроллеры AVR ,  ATmega
    и ATtiny для начинающих с нуля ! 

    Быстрый и уверенный старт —
                    самые первые шаги …

    Чайникам от такого же чайника !


    Предлагаю вам учится на моём примере.

    Маленькие шажки …       ( кино «А как же Боб !» )

    Конечно  с  картинками !
     


     

     

    ключевые слова: программирование микроконтроллеров, микроконтроллеры, обучение программированию микроконтроллеров, микроконтроллеры AVR, микроконтроллеры PIC, микроконтроллеры ARM, микроконтроллеры msp430, микроконтроллеры 8051, микроконтроллеры AVR, микроконтроллеры at89s52, микроконтроллеры SILABS, микроконтроллеры MOTOROLA, микроконтроллеры AVR, как написать программу для микроконтроллера, обучение программированию микроконтроллеров, микроконтроллеры atmega128, как запрограммировать микроконтроллер, как прошить микроконтроллер, отладка программы для AVR, моделирование работы электронных схем, электронные проекты, хобби, язык си для микроконтроллеров, язык программирования Cи, основы программирования (кнопочки, светодиоды) работа с портами, регистры AVR, прерывания и таймеры, что такое ШИМ, программная и аппаратная реализация. Сервоприводы. Работа с АЦП Настройка и программирование UART Работа с I2C Связь (UART, I2C, SPI) 
    AT76C712 , AT76C713 , AT90CAN128 , AT90CAN128 Automotive , AT90CAN32 , AT90CAN64 , AT90PWM2 , AT90PWM3 , AT90S1200 , AT90S2313 , AT90S2323 , AT90S2343 , AT90S4433 , AT90S8515 , AT90S8535 , ATmega128 , ATmega1280 , ATmega1281 , ATmega16 , ATmega161 , ATmega162 , ATmega163 , ATmega164 , ATmega165 , ATmega168 , ATmega168 Automotive , ATmega169 , ATmega2560 , ATmega2561 , ATmega32 , ATmega323 , ATmega324 , ATmega325 , ATmega3250 , ATmega329 , ATmega3290 , ATmega406 , ATmega48 , ATmega48 Automotive , ATmega64 , ATmega640 , ATmega644 , ATmega645 , ATmega6450 , ATmega649 , ATmega6490 , ATmega8 , ATmega8515 , ATmega8535 , ATmega88 , ATmega88 Automotive , ATtiny11 , ATtiny12 , ATtiny13 , ATtiny15L , ATtiny2313 , ATtiny25 , ATtiny26 , ATtiny28L , ATtiny45 , ATtiny85

     

     

    Краткий курс — AVR на примерах.

     

    Цель курса показать на практике — как быстро начать  
    использовать микроконтроллеры семейства   AVR !  

    Даже с абсолютного нуля  знаний о микропроцессорах. 

    Рассказать вам кратко ключевые моменты устройства МК, 
    показать на практике
    как МК взаимодействует с окружающими 
    его в электронном устройстве компонентами  и с ПК. 

    Объяснить что конкретно нужно сделать чтобы МК 
    «ожил» сам
    и оживил ваше электронное устройство.

    Курс подробно рассказывает как сделать самые первые шаги
    с чего начать не вообще,  а  конкретно — ПО ПУНКТАМ … 

    — Как сделать нужное вам электронное устройство, печатную плату

    — Как написать первую, простейшую программу для МК

    — Как запустить эту программу в программе-симуляторе МК и увидеть как 
    она работает не покупая МК и радиодеталей, а значит без риска 
    спалить что-то или испортить порт вашего ПК !

    — Как загрузить программу в реальный МК 

    — Как отладить реальное устройство — т.е. найти причины не правильной работы
    и  добиться его функционирования  в  соответствии с поставленной задачей.

     

     

    Содержание. 

    Краткий курс — самоучитель

    Микроконтроллеры AVR начинающим.

    на заглавной странице  -  avr123.nm.ru


    стр. 1. Ключевая страница курса — ИЗУЧИТЕ  ЕЁ  !  она ГЛАВНАЯ в курсе

    стр. 2. Что такое МК и AVR в частности. Как работает МК. 

    стр. 3. Возможности МК. Что и как подключать к МК. Регистры и
                       программа. Прерывания в AVR. 

    стр. 4. Компиляторы и Симуляторы для МК AVR. 

    стр. 5. Си для МК — очень малая часть языка  достаточна для работы с МК. 

    стр. 6. Задачи-упражнения по курсу — это практические занятия по работе 
                  с  МК и необходимые теоретические сведения и комментарии.

    стр. 7. Как и чем прошить (прожечь, загрузить) программу в МК AVR, ATmega

    стр. 8. Дополнительные, полезные материалы 

    стр. 9. О великолепных МК серии PIC12, PIC16, PIC18 от компании MicroChip

     

     

     

     

    ПРОДОЛЖЕНИЕ  КУРСА

     

    НА    AVR123.nm.ru

     

    Пожалуйста перейдите туда !

     

     

     

     


     

    Шаг 1.  Скачайте всего две программы

    — компилятор CodeVisionAVR (2 Мб FREE - он бесплатный) 

    — симулятор AVR и электроники VMLAB (4,2 Мб FREE)

    Установите эти программы по-умолчанию.


    Теперь у вас есть качественное и удобное программное
    обеспечение для ПОЛНОГО цикла разработки устройств
    на МК (микроконтроллерах) AVR !

    От интерактивного помошника для создания начального кода,
    скелета программы — инструмент бесценен для начинающего !

    До написания и отладки полной программы с постоянным контролем её
    работы на всех этапах ее создания на компьютерной модели  нужного
    вам микроконтроллера AVR совместно с популярными электронными
    компонентами подключенными к нему виртуально.

     

     
     

    Вам не нужно будет тратить деньги и время
    на поиски и покупку радио деталей и микроконтроллеров
    пока вы не убедитесь в работоспособности устройства
    которое вы делаете !

    Вы не сожжете по неопытности что либо !

    Не попадете в спешке, в азарте отладки
    устройства под высокое напряжение !
     

    Это очень важно для начинающего электронщика

    техника безопасности — ТБ !
     

     


    CodeVisionAVR  — имеет встроенный программатор для
    загрузки готовой программы в реальный микроконтроллер.

     


     

    Шаг 2.   Посмотрите как всё просто !

    Лучше один раз увидеть чем сто раз услышать.

     


    1. Загрузите файлы  к задаче упражнению 8  (это всего 14 Кб) в созданную
        папку - c:\VMLAB\z8   и распакуйте файлы архива в эту же папку.

    2. Запустите VMLAB  и через меню Project -> open project откройте проект    
        c:\vmlab\z8\vmlab.prj

    3. Сверните мешающее окно vmlab.prj и подправьте «мышкой» остальные окна
        чтобы получить такую картинку : 


    Вы видите

    — 8 светодиодов,
    — 3 переменных резистора,
    — клавиатуру на 16 кнопок которые можно
      использовать и раздельно,
    — виртуальный ЗАПОМИНАЮЩИЙ осциллограф
    — виртуальный терминал с записью данных

    Весь богатейший набор компонентов VMLAB будет рассмотрен позже и конечно описан в его HELP.

    Полная картинка экрана тут ! 
     

     

     

    4. Теперь в меню «Project» кликните «Re-build all» — проект нужно перекомпилировать при открытии и внесении каких либо изменений. В окне «Messages» появится сообщение «Success! All ready to run»

     

    Это значит ошибок нет и все готово к моделированию микроконтроллера
    ATmega16. Вверху загорелся зеленый свет светофор. 

    Можно запускать симуляцию … 

     

     

     

    ПРОДОЛЖЕНИЕ  КУРСА

     

    НА    AVR123.nm.ru

     

    Пожалуйста перейдите туда !

     

     

     

     

     

     
     

    Моделировать работу МК можно на компьютере не имея самого
    МК и электронной схемы вокруг него. При этом видеть не только
    то что происходит на ножках МК но и то что происходит внутри
    МК  !!!
    с помощью нижних частей меню View и Window
    симулятора VMLAB.  

    Вы уже знаете как открыть проект в компиляторе, внести
    изменения, скомпили-ровать программу, увидеть ошибки,
    исправить их. Вы теперь знаете, что не нужно пытаться
    исправлять все ошибки сразу, а нужно начинать с первой
    и возможно после ее исправления другие ошибки тоже пропадут.
     

     

     

    Вы не покупали МК ATmega16 — у вас его нет !

    Вы ни чего не паяли и не подключали !

    Но вы увидели как работает МК и программы.

    Получили осциллограммы работающего устройства.

    Могли записать в файл то что передавал МК.

     

     

     
     

    Найдите время и обязательно выполните
    примеры  симулятора VMLAB.

    Это позволит вам лучше понять
    его возможности.

    Дополнительные важные примеры в папке C:\VMLAB\tutorial


    Вот скриншот работы МК в VMLAB 
     


     



     

     
     

        Вы уже запустили МК  и  увидели как
    он работает !   Вы видите что это просто, 
    доступно, не дорого  и безопасно ! 
     

     


     
    Демо версия имеет ограничение на максимальный размер кода программы в 2 Кб
    это довольно много для начинающего, но если вам этого мало вы можете найти
    полную версию программы CodeVisionAVR 1.24.8b Professional  в Интернете.

     
    Google.com нашел по запросу CodeVisionAVR:


    Ссылки на основном сайте курса  avr123.nm.ru

     

    К вашим услугам ссылки на дополнительные материалы : 

    — FAQ — ответы на вопросы по AVR и по электронике

    — Проекты — это различные устройства на МК на русском языке

    — Проекты на AVR студентов Корнельского университета — великолепные

    — Проекты очень интересный талантливого человека Элм-Чена

    — Конференция русскоязычная по МК спрашивайте — вам ответят быстро !

    — Книги по AVR и электронике вообще    <-   ЧИТАТЬ !!!   
                                          … ну хотя бы список КНИГ сохраните у себя на ПК !

     

    — GOOGLE  находит всё !   Вводите интересующие вас  ключевые слова. 

    — Translate.ru  переведет то что вы нашли на корявый русский язык.   

     

    Присылайте отзывы, пожелания
    замечания и дополнения !

     

     


    Читать курс дальше  ->  на 1-ю страницу

     

     

    © 2004-2010 by Termo   

     

                     

    В  «подвале»  есть интересное !

     

     

     
     

    Краткий Курс  Самоучитель    

    PROTEUS                     

    Симулятор электронных устройств ПРОТЕУС, поддерживает микроконтроллеры   AVR , 8051, 
    PIC10, PIC16, PIC18, ARM7, Motorola MC68HC11 

    Полная система проектирования !

    От идеи до результатов работы устройства 
    и файлов для изготовления платы.

    Быстрый старт, самые первые шаги …

    Конечно с картинками !

              

    AVR

    kursavr.narod.ru

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

    Ваш адрес email не будет опубликован. Обязательные поля помечены *