AVR для начинающих.Урок 2.Hello world

Автор: | 27.06.2016

Урок 2

Настало время написать первую программу для нашего микроконтроллера!

Для выполнения данного урока, Вам пригодится:

  1. Микроконтроллер (Подойдет почти любой микроконтроллер семейства AVR, однако , лучшим выбором по соотношению цена/функционал станет AtMega8).
  2. Светодиод (Так же любой, однако при покупке уточните его номинальный ток, и падение напряжения).
  3. Резистор (Какой именно, рассчитаем далее).
  4. Программатор.
  5. Провода соединительные.
  6. Источник питания 5v.
  7. Плата макетная (Для Вашего удобства).

Начнем с написания прошивки.

Прошивка(Программа) — Набор инструкций(команд) микроконтроллера, представленный в виде конечного файла(специального формата), используемого в дальнейшем при работе контроллера.

1.Открываем Atmel Studio, создаем проект на языке AVR C или AVR ASSEMBLER и выбираем модель Вашего микроконтроллера.

В окне редактора исходного кода пишем:

AVR C

AVR ASM

Нажимаем Build->Build Solution. После выполнения данных операций, в папке проекта появится файл формата .hex. Это и есть наша прошивка!

Читайте также  Стабилизаторы напряжения 5в.

2.Далее, собираем следующую схему:

Резистор R1 необходим для ограничения тока протекающего через светодиод LED1.

R1=(Uпитания-Uпитания светодиода)/Iсветодиода

Например, возьмем светодиод с напряжением питания 2.2В и током питания 10 мА(0.01А). Напряжение питания соответственно равно 5В.

Согласно приведенной выше формуле, получим:

R1=(5-2.2)/0.01=2.8/0.01=280 Ом.

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

В данном случае берем резистор стандартного значения 330 Ом.

А теперь настало время вдохнуть жизнь в нашу схему!

3.Подключаем программатор к контроллеру, и записываем в его память прошивку полученную выше.

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

Вернув контроллер на его место в схеме(Разумеется, если Вам пришлось его отсоединить), подаем 5v питания на контроллер.

Если все сделано верно, вы увидите что светодиод зажигается и гаснет с постоянной частотой.

Поздравляем, Вы только что собрали Ваше первое устройство с использованием микроконтроллера!

Если что то не получилось, то Вы всегда можете написать об этом в комментариях к данной статье!Наша команда всегда готова ответить на все Ваши вопросы!

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

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

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


Копирование, воспроизведение, цитирование данного материала или его частей разрешено только с письменного разрешения администрации сайта MKPROG.RU.

 

AVR для начинающих.Урок 2.Hello world: 6 комментариев

  1. "Солнышко"

    Очень интересная статья.она расчитана на людей,знающих С и asm?если нет,не мешало бы объяснить чайникам принцип написания кода.а так же при написании статьи о конкретном устройстве ,в ее начале следовало бы указать,какое именно устройство будет описано ниже.т е какие функции и задачи оно будет выполнять.мне бы было проще знать заранее,что должно получиться на выходе.надеюсь,взгляд со стороны будет хоть сколько нибудь полезен.

    1. DamiKK Автор записи

      Добрый день.
      Основы языка C и ассемблера для микроконтроллеров AVR, будут представлены в виде уроков в ближайшее время!
      Функции и задачи технических устройств, разрабатываемых в рамках данных статей несут по большей части обучающий характер.Разумеется, когда мы перейдем к более сложным устройствам, их функции и задачи будут описаны более подробно.
      Спасибо за отзыв!

  2. ZaxVatu

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

    1. DamiKK Автор записи

      В ближайшее время будет цикл уроков по Proteus, оставайтесь с нами.
      Огромное спасибо за замечание, обязательно учтем!

  3. Rofl

    Неужели нет никаких библиотек для работы не на прямую с регистрами? Если есть, подскажите их названия, пожалуйста.

    1. DamiKK Автор записи

      Доброго Вам здравия!
      Что Вы подразумеваете под работой напрямую с регистрами? Ведь кодом на С и ASM мы итак работаем непосредственно с регистрами.
      Если Вы имеете ввиду вызов готовых функций тогда обратите Ваш взгляд на контроллеры STM32 и библиотеку SPL
      уроки по ним здесь:
      http://mkprog.ru/category/mikrokontrollery-stm32

      Либо, присмотритесь к платформе Arduino, однако по ней в данный момент не могу дать квалифицированной консультации.

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

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