Урок 1
Знакомство с семейством AVR
Сегодня я решил поделиться с вами некоторыми своими знаниями в области программирования микроконтроллеров 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 Следующий урок
Смотреть ВИДЕОУРОК в RuTube (нажмите на картинку)
Смотреть ВИДЕОУРОК в YouTube (нажмите на картинку)
Здравствуйте!!!
У меня большая проблема, я только только начал изучать микрокнтроллеры. Приобрел программатор USBaps v2.0, так же пару адаптеров под Atmega8 и Atmega32.
Но, я не могу начать изучать программирование, т.к. не могу прошить даже самую элементарную программу.
Программатор в системе определеяется, светодиод горит и на программаторе, и на самом адапторе. В чем может быть причина? Какой программатор лучше всего приобрети новичку??? Спасибо!
avrisp,avrusb910 все укитайцев на али.
На Вашем форуме есть такая проблема: если я написал какое-то сообщение, то при желании написать что-то дополнительно вылетает «Вы не можете опубликовать больше ответов, так как вы — автор последнего. Лучше отредактируйте свой ответ.» Собственно здесь все и заканчивается. Использую браузер Хром.
ИМХО может чтобы форум успешно развивался сделать урок минут на 5 по работе в форуме?
gogaze: Может быть. Только я пока сам не разобрался, почему именно так. Иногда нормально срабатывает. С проблемой разбираюсь.
Добрый день! Благодаря Вашим урокам смог овладеть навыками программирования на Си для AVR. Однако, при написании одной программы столкнулся с такой проблемой — в Протеусе моделирование проходит «на ура». Но если прошивку залить в реальную схему, работа не стабильна. Начал «копать» и выяснил, что компилятор не всегда создаёт код, какой тебе надо. В Ваших видео-уроках я не видел таких проблем. Код всегда адекватно работает. Могли бы Вы отснять пару видео-уроков по отладке, а также о ассемблерных вставка (зачем, когда и как). Заранее спасибо!
Извините, если вопрос глупый, но не могли бы Вы пояснить такой момент.
У вас в тексте написано: » У порта B, он у нас неполный, имеет 6 ножек.
0, 1 ножка, 2, 3, 4 и 5.»
А на картинке на 9ой и 10ой ногах названия PB6 и PB7.
Почему они не считаются? Почему порт B в таком случае неполный? Потому что у них совмещённая функция?
Но ведь у ног 12 и 13 (PD6 и PD7) тоже совмещённая функция, однако вы считаете D полноценным 8-ми битным портом, а B нет. Почему так?
Елена,
Здравствуйте!
Данные ножки у нас «отобрал» кварцевый резонатор.
Добрый день. Очень понятно разобраны все темы. А не могли бы выложить: разбор+пример работы atmega по протоколу модбаса rtu?atmega+RS485(допустим adm485) связь с ПК.
Хотелось бы урока по программированию CAN для ATMega64