Андрей Смирнов
Время чтения: ~19 мин.
Просмотров: 6

Распиновки и описание процессоров ATmega установленных на ардуино и не только (+схемы пинмапинга )

Что такое даташит

Даташит – это техническое описание на какой-либо радиокомпонент. Где его найти? Ну, конечно же, в интернете! Так так почти вся радиоэлектронная продукция выпускается “за бугром”, то и описание на них, соответственно, “забугорское”, а точнее, на английском языке. Те, кто хорошо дружит с разговорным английским, не факт, что сможет прочитать технические термины в даташитах.

Даташит на английском на Atmega8

Давайте попробуем пролить свет истины на основные характеристики МК ATmegа8. Для этого качаем даташит. В нашей статье мы будем рассматривать только основные сведения нашего подопечного.

Вот что мы видим на первой странице даташита:

2016-05-31_09-58-25.png

  2016-05-31_10-00-04.png

Даташит на русском  Atmega8

Запоминаем правило: в фирменном описании нет ни одного лишнего слова! (иногда информации не хватает, но это уже другой случай)

Features. Переводится как “функции”. В среде электронщиков просто “фичи”.

– High Performance, Low Power AVR® 8-Bit Microcontroller

Высокопроизводительный, потребляющий мало энергии, 8-битный микроконтроллер.

Понимаем как рекламу, единственно полезное то, что данный микроконтроллер — 8 битный.

– Advanced RISC Architecture

Расширенная RISC архитектура.

RISC и CISC — технологии построения процессорных систем. Но нам это не важно, по крайней мере, пока.

– 130 Powerful Instructions – Most Single Clock Cycle Execution

130 команд, большинство из них выполняются за один цикл.

А вот это уже интереснее! Во-первых, такое большое количество команд (например, у микроконтроллеров PIC всего 35 команд) уже подразумевает ориентацию этого МК под языки высокого уровня. Во-вторых, узнаем, что одна команда выполняется за один такт генератора. Т.е., при тактовой частоте 1 МГц одна команда будет выполняться 1 микросекунду (1 мкс, одну миллионную часть секунды — 10^-6). А при 10 МГц — в десять раз быстрее, т.е., 0,1 мкс.

– 32 x 8 General Purpose Working Registers

32 восьмибитных регистра общего пользования.

Про регистры поговорим позднее, просто запомним, что большое количество регистров — весьма неплохо, ведь регистр — это ячейка памяти в самом МК. А чем больше такой памяти – тем «шустрее» работает МК!

Объединив эти данные с количеством поддерживаемых микроконтроллером команд, в очередной раз убеждаемся в изначальной ориентации данного МК под высокоуровневые языки вроде Си, Паскаля и других.

– Fully Static Operation

Полностью статическая структура.

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

(Также нелишним будет напомнить о том, что потребляемая мощность большинства типов МК напрямую зависит от тактовой частоты: чем выше тактовая частота, тем больше он  потребляет)

– Up to 16 MIPS Throughput at 16 MHz

До 16 миллионов выполняемых команд при тактовой частоте 16 МГц.

За одну секунду при тактовой частоте 16 МГц может быть выполнено до 16 000 000 команд! Следовательно, одна однобайтовая команда может быть выполнена за 0,07 мкс. Весьма недурно для маленькой микросхемы.

С учетом предыдущего пункта понимаем, как работает на частотах от 0 Гц до 16 МГц.

– On-chip 2-cycle Multiplier

В данном МК имеется встроенный умножитель, который умножает числа за два такта.

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

– High Endurance Non-volatile Memory segments

Надежная энергонезависимая память, построенная в виде нескольких сегментов.

Вспоминаем типы памяти: EEPROM и FLASH.

– 8KBytes of In-System Self-programmable Flash program memory

– 8 Кбайт встроенной в МК памяти. Память выполнена по технологии Flash. В самом МК имеется встроенный программатор.

Этот объем весьма хорош! Для обучения (да и не только) — с запасом. А наличие встроенного программатора этой памяти, позволяет загружать данные в память, используя простой внешний программатор (в простейшем случае это пять проводков, которыми микроконтроллер подключают к LPT порту компьютера).

– 256 Bytes EEPROM

В МК имеется 256 байт энергонезависимой памяти EEPROM.

Следовательно, можно сохранить еще дополнительную информацию, которую можно изменять программой МК, без внешнего программатора.

– 1024 Bytes Internal SRAM

В МК имеется 1024 байт оперативной памяти (ОЗУ/RAM).

Также весьма приятный объем

– Write/Erase cyles: 10,000 Flash/100,000 EEPROM

Память Flash выдерживает 10 000 циклов записи/стирания, а память EEPROM — до 100 000

Проще говоря, программу в МК можно изменять до 10 000 раз, а свои данные в 10 раз больше.

– Data retention: 20 years at 85°C/100 years at 25°C

Сохранность данных в памяти МК — до 20 лет при температуре хранения 85°C, и 100 лет — при температуре 20°C.

Если ваши внуки и правнуки включат вашу «мигалку» или музыкальную шкатулку, то они смогут насладиться их работой ))

– Optional Boot Code Section with Independent Lock Bits

– Programming Lock for Software Security

МК имеет несколько областей памяти (не уточняем каких), которые можно защитить от прочтения установкой специальных бит защиты.

Ну, тут всё понятно: свои труды вы можете защитить от вычитывания программы из памяти МК.

Далее идет описание имеющейся в данном микроконтроллере периферии (т.е., встроенных в него аппаратных устройств типа таймеров, источников прерываний и интерфейсов связи)

– Two 8-bit Timer/Counters

– One 16-bit Timer/Counter

В МК имеется два таймера/счетчика: 8 и 16 бит.

– Three PWM Channels

Три канала ШИМ

– 8-channel ADC in TQFP and QFN/MLF package

Eight Channels 10-bit Accuracy

– 6-channel ADC in PDIP package

Six Channels 10-bit Accuracy

В составе МК есть несколько каналов АЦП: 6 – для корпуса PDIP и 8 – для корпуса QFN/MLF. Разрядность АЦП — 10 бит.

– Byte-oriented Two-wire Serial Interface

– Programmable Serial USART

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

Master/Slave SPI Serial Interface

Реализован SPI интерфейс связи, режимы Мастер/Подчиненный.

– Programmable Watchdog Timer with Separate On-chip Oscillator

Сторожевой таймер с собственным автономным генератором.

– On-chip Analog Comparator

Аналоговый компаратор.

– Power-on Reset and Programmable Brown-out Detection

Реализованы режимы контроля напряжения питания и защита работы МК при плохом питании (гарантирует увеличение надёжности работы всей системы).

– Internal Calibrated RC Oscillator

Встроенный калиброванный RC-генератор (можно запустить МК без внешних элементов).

– External and Internal Interrupt Sources

Реализовано несколько типов внешних и внутренних прерываний.

– Five Sleep Modes

Пять режимов «сна» (уменьшение энергопотребления МК за счет отключения некоторых внутренних узлов или специальных методов замедления их работы)

Понимаем как возможность выбора такого режима, при котором соотношение «потребляемая энергия/возможности» будут оптимальны для решения наших задач. Весьма полезная возможность при необходимости экономить энергию: питании от батарей, аккумуляторов и других источников.

– 28-pin PDIP, 32-lead TQFP, 28-pad QFN/MLF and 32-pad QFN/MLF

Указаны типы корпусов, в которых выпускается данный микроконтроллер. Видим «28 DIP» — это хорошо! Не надо покупать специализированные дорогостоящие панели и мучиться с тоненькими и часто расположенными выводами на корпусе МК.

Temperature Range:

 -40°C to 85°C

Рабочая температура: -40°C … +85°C

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

(Был у меня горький опыт, когда в устройстве был применен именно такой «теплолюбивый» микроконтроллер. А устройство поместили на улицу… И каждую зиму «благодарные» пользователи моего устройства «хвалили» меня за «замерзание» микроконтроллера, которое проявлялось в виде полного его зависания)

Напряжение питания и тактовая частота

– 2.7 – 5.5V for ATmega8L

– 4.5 – 5.5V for ATmega8

Имеется две модификации данного МК: одна работоспособна при широком диапазоне питающих напряжение, вторая — в узком.

ATmega8L: 0 – 8 MHz @ 2.7 – 5.5V

ATmega8: 0 – 16 MHz @ 4.5 – 5.5V

Максимальная тактовая частота:

– Atmega8L: 0 – 8 МГц при напряжении питания 2,7 – 5,5 вольт

– Atmega8: 0 – 16 МГц при напряжении питания 4,5 – 5,5 вольт.

И что мы видим? А то, что модификация МК, работоспособная в широком диапазоне питающих напряжений, не может быть тактируема частотами выше 8 МГц. Следовательно, и ее вычислительные возможности будут ниже.

Power Consumption at 4 Mhz, 3V, 25°C

– Active: 3.6 mA

– Idle Mode: 1.0 mA

– Power-down Mode: 0.5 µA

Потребляемая мощность:

– при работе на частоте 4 МГц и напряжении питания 3 вольта потребляемый ток: 3,6 миллиампер,

– в различных режимах энергосбережения потребляемый ток: от 1 миллиампер до 0,5 микроампера

Распиновка Atmega8

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

Советую этот листок из даташита распечатать и иметь под рукой. В процессе разработки и сборки схемы очень полезно иметь эти данные перед глазами.

Внимание!

Обратите внимание на такой факт: микросхема микроконтроллера может иметь (и имеет в данной модели) несколько выводов для подключения источника питания. То есть имеется несколько выводов для подключения «земли» — «общего провода», и несколько выводов для подачи положительного напряжения.

2016-05-31_10-18-57.png

Изготовители микроконтроллеров рекомендуют подключать соответствующие выводы вместе, т.е., минус подавать на все выводы, помеченные как Gnd (Ground — Земля), плюс — на все выводы помеченные как Vcc.

При этом через одинаковые выводы МК не должны протекать токи, так как внутри корпуса МК они соединены тонкими проводниками! То есть при подключении нагрузки эти выводы не должны рассматриваться как «перемычки».

Блочная диаграмма

Листаем описание далее, видим главу «Overview» (Обзор).

В ней имеется раздел «Block Diagram» (Устройство). На рисунке показаны устройства, входящие в состав данного микроконтроллера.

Генератор тактовой частоты

Но самым важным для нас в настоящее время является блок «Oscillator Circuits/Clock Generation» (Схема генератора/Генератор тактовой частоты).

В программе часто возникает необходимость сделать временную задержку в ее выполнении — паузу. А точную паузу можно организовать только методом подсчета времени. Время считаем исходя из количества тактов генератора микроконтроллера.

Да и не лишним будет заранее просчитать: успеет ли МК выполнить тот или иной фрагмент программы за отведенное для этого время.

В даташите ищем соответствующую главу: «System Clock and Clock Options» (Тактовый генератор и его параметры). В ней видим раздел «Clock Sources» (Источники тактового сигнала), в котором имеется таблица с перечнем видов тактовых сигналов. В этом разделе указано, что данный МК имеет встроенный тактовый RC-генератор. В разделе «Default Clock Source» имеется указание о том, что МК продается уже настроенным для использования встроенного RC-генератора. При этом тактовая частота МК — 1 МГц.

Из раздела «Calibrated Internal RC Oscillator» (Калиброванный RC-генератор) узнаем, что встроенный RC-генератор имеет температурный дрейф в пределах 7,3 — 8,1 МГц. Может возникнуть вопрос: если частота встроенного тактового генератора 7,3 — 8,1 МГц, то как была получена частота 1 МГц? Дело в том, что тактовый сигнал попадает в схемы микроконтроллера через программируемый делитель частоты (Об это рассказано в разделе «System Clock Prescaler»).

В данном микроконтроллере он имеет несколько коэффициентов деления: 1, 2, 4 и 8. При выборе первого мы получим частоту самого тактового генератора, при включении последнего — в 8 раз меньше, т.е., 8/8=1 МГц. С учетом вышесказанного получаем, что тактовая частота данного МК при включенном делителе с коэффициентом 8 будет в пределах от 7,3/8 = 0,9125 МГц (9125 КГц) до 8,1/8 = 1,0125 МГц.

Обратите внимание на один ну очень важный факт: стабильность частоты дана при температуре МК 25 градусов по шкале Цельсия. Вспомним, что внутренний генератор выполнен по RC схеме. А емкость конденсатора очень зависит от температуры!

Конденсаторы по питанию

Перед тем, как подать на микроконтроллер питающее напряжение, выполним правило, которое обязательно для всех цифровых микросхем: в непосредственной близости от выводов питания микросхемы должен быть керамический конденсатор емкостью 0,06 — 0,22 мкф. Обычно устанавливают конденсатор 0,1 мкф. Его часто называют блокировочным конденсатором.

В схему необходимо установить и электролитический конденсатор емкостью 4-10 мкф. Он также является блокировочным фильтром, но на менее высоких частотах. Такой конденсатор можно устанавливать один для нескольких микросхем. Обычно на 2-3 корпуса микросхем.

Дело в том, что микроконтроллер (как и другие цифровые микросхемы) состоит из транзисторных ячеек, которые в процессе работы постоянно переключаются из открытого состояния в закрытое, и наоборот. При этом изменяется потребляемая транзисторными ячейками энергия. В линии питания возникают кратковременные «провалы» напряжения. Этих ячеек в микроконтроллере сотни тысяч (думаю, что сейчас уже миллионы!), поэтому по питающим проводам начинают гулять импульсные помехи с частотами от единиц до десятков тысяч Герц.

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

Конденсатор для постоянного тока является изолятором. Но при установке конденсатора в цепи с непостоянным током он делается сопротивлением. Чем выше частота, тем меньшее сопротивление оказывает конденсатор. Следовательно, блокировочный конденсатор с малой емкостью пропускает через себя (шунтирует) высокочастотные сигналы (десятки и сотни Герц), а конденсатор с бОльшей емкостью — низкочастотные. Об этом я писал еще в статье Конденсатор в цепи постоянного и переменного тока

Выводы

микроконтроллер AVR ATmega-8 при поставке с завода работает на тактовой частоте 0,91—1,1 МГц;

напряжение питания должно быть в пределах 4,5 — 5,5 Вольт. Мы будем использовать микросхемы с питающим напряжением 5 Вольт, поэтому и МК будет питаться этим же напряжением. (Хотя работоспособность сохранится при напряжении питания 2,7 Вольт для обычных, не низковольтных моделей МК)

Особенности

По datasheet (описанию), все контроллеры Atmega обладают следующими особенностями:

  • Низкомощным высокопроизводительным 8-зарядным микроконтроллером типа AVR (причем, и у моделей класса Atmega168 20au, и Atmega168 20au).
  • Усовершенствованной архитектурой типа RISC (плата всегда ей соответствует).
  • Микроконтроллером. Datasheet (описание) говорит, что их 135 у каждой модели.
  • Платой и распиновкой, которые обеспечивают выполнение практически всех инструкций в течение 1 цикла.
  • Каждый микроконтроллер серии, от самых первых, например, Atmegar3, до наиболее современных (Atmega328 или Atmega2561 rev3), характеризуется полностью статическими темпами работы.
  • Огромной производительностью, как утверждает datasheet (описание). При частоте в 16 мегагерц производительность будет равняться 16 миллионам операций за 1 секунду.
Контроллер Atmega2560
  • Встроенным 2-тактным устройством для умножения.
  • Платой и распиновкой, позволяющими содержание опционального сектора для загрузки с раздельными защитными битами.
  • Внутрисистемно программируемой флеш-памятью. Согласно информации из datasheet (описанию), ее объем может равняться 64, 128 или 256 килобайтам.
  • Износостойкостью памяти, составляющей 10 000 циклов типа «запись/уничтожение».
  • Возможностью платы самопрограммироваться любой другой программой, которая находится в загрузочном секторе.
  • Способностью микропроцессора поддерживать режим чтения во время записи.
  • Ёмкостью внешнего пространства для программирования одного микропроцессора — 64 килобайта.
  • Микрочипом, позволяющим пользователю самостоятельно программировать его защиту (актуально для всех версий: от первых, например, Atmegar3, до современных: Atmega328 или Atmega2561 rev3).

Купить на алиэкспресс http://ali.pub/1t11be  

Наименование модели: ATMEGA8-16PI  

Производитель: Atmel

Описание: Микроконтроллеры (MCU) AVR 8K FLASH 512B EE 1K SRAM ADC

Купить на алиэкспресс Attiny  http://ali.pub/1t11gn  

Купить на алиэкспресс Atmega 2560 http://ali.pub/1t11li  

Atmega2560, как и все его аналоги: Atmega2560 rev3, Atmega2560 16au, Atmega320 «Про Мини», Atmegach340g, Atmegach340g Pro Mini, Atmega640 Pro Mini, Atmega168 20au, Atmega328, Atmega2560 16au Pro Mini, Atmegar3 Pro Mini, Atmega168 20au «Про Мини» представляет собой 8-разрядный микроконтроллер низкой мощности, изготовленный на базе ядра типа AVR с архитектурой типа RISC. Он способен выполнять большое количество различных инструкций одновременно.

Купить на алиэкспресс atmega32u4   http://ali.pub/1t11pl

  • Высокопроизводительный, малопотребляющий 8-битный микроконтроллер семейства AVR
  • Передовая RISC архитектура
    • 135 инструкций, большинство выполняется за один такт
    • 32х8 регистров общего назначения
    • Полностью статический режим работы
    • Производительность до 16 MIPS (млн. операций в секунду) при тактовой частоте ядра 16 МГц
    • Встроенный двухтактный умножитель
  • Энергонезависимая память программ и память данных
    • 32 КБайт самопрограммируемой в системе FLASH памяти
      • 100000 циклов записи/стирания
    • Встроенный загрузчик программ с независимыми битами защиты
      • Загрузчик активируется после команды сброса
      • Возможен режим чтения во время записи
      • Все микроконтроллеры поставляются с «прошитым» USB загрузчиком
    • 2.5 КБайт внутренней SRAM данных
    • 1 КБайт внутренней EEPROM
      • 100000 циклов записи/стирания
    • Программная защита от считывания
  • JTAG интерфейс (совместимый с IEEE 1149.1)
    • Сканирование периферии в соответствии стандарту JTAG
    • Расширенный режим отладки
    • Поддерживает программирование FLASH, EEPROM и битов защиты
  • Высокоскоростной/низкоскоростной модуль USB 2.0 с функцией прерывания по окончании передачи
    • Полностью соответствует спецификации Универсальной последовательной Шины версии 2.0
    • Поддерживает скорость передачи данных 1.5 Мбит/с и 12 Мбит/с
    • Шесть программируемых оконечных точек на вход или выход с возможность передачи сигнала прерывания, групповой и изохронной передачи данных
    • Конфигурируемый размер оконечных точек до 256 Байт в режиме сдвоенного банка
    • 832 Байта полностью независимой USB DPRAM для распределения оконечных точек
    • Сигналы прерывания для останова/возобновления работы
    • Возможность сброса ЦПУ по сигналу сброса USB шины
    • Соединение/разъединение с USB шиной по запросу микроконтроллера
  • Периферия
    • Встроенный PLL для USB и высокоскоростного таймера: рабочая частота от 32 МГц до 96 МГц
    • Два 8-битных таймера/счетчика с независимым предделителем и режимом сравнения
    • Два 16-битных таймера/счетчика с независимым предделителем и режимом сравнения и захвата
    • Один 10-битный высокоскоростной таймер/счетчик с PLL (64 МГц) и режимом сравнения
    • Четыре 8-битных канала ШИМ
    • Четыре канала ШИМ с программируемым разрешением от 2 до 16 бит
    • Шесть каналов ШИМ для высокоскоростной работы с программируемым разрешением от 2 до 11 бит
    • 12-канальный, 10-битный АЦП
    • Программируемый последовательный USART
    • Последовательный интерфейс SPI с режимами ведущий/ведомый
    • Последовательный интерфейс I2C
    • Программируемый сторожевой таймер с независимым встроенным генератором
    • Встроенный аналоговый компаратор
    • Встроенный датчик температуры
  • Особенности микроконтроллера
    • Сброс по включению питания и функция определения провалов напряжения питания
    • Встроенный калиброванный генератор на 8 МГц
    • Встроенный предделитель тактов и переключатель источника тактового сигнала (внутренний RC / внешний генератор) в безостановочном режиме (on-the-fly)
    • Внешние и внутренние источники прерываний
    • Шесть энергосберегающих режимов ожидание: Idle, ADC Noise Reduction, Power-save, Power-down, Standby и Extended Standby
  • Линии ввода/вывода и типы корпуса
    • Все линии ввода/вывода совместимы с CMOS и LVTTL уровнями сигнала
    • 26 линий ввода/вывода
    • 44-выводной корпус TQFP 10х10 мм
    • 44-выводной корпус QFN 7х7 мм
  • Диапазон напряжения питания 2.7…5.5 Вольта
  • Рабочий диапазон температур -40°C…+85°C
  • Максимальная тактовая частота
    • 8 МГц при напряжении питания 2.7 Вольта
    • 16 МГц при напряжении питания 5.5 Вольта

Купить на алиэкспресс ATmega328P  http://ali.pub/1t11tv  

  •                                                                                                                ATmega328P
  • Производитель</td>Atmel</td></tr>Серия</td>AVR® ATmega</td></tr>Процессор</td>AVR</td></tr>Размер ядра</td>8-Bit</td></tr>Скорость</td>20MHz</td></tr>Тип подключения</td>I²C, SPI, UART/USART</td></tr>Переферия</td>Brown-out Detect/Reset, POR, PWM, WDT</td></tr>Число вводов/выводов</td>23</td></tr>Размер программируемой памяти</td>32KB (32K x 8)</td></tr>Тип программируемой памяти</td>FLASH</td></tr>EEPROM Size</td>1K x 8</td></tr>Размер памяти</td>2K x 8</td></tr>Напряжение источника (Vcc/Vdd)</td>1.8 V ~ 5.5 V</td></tr>Преобразователь данных</td>A/D 6x10b</td></tr>Тип осцилятора</td>Internal</td></tr>Рабочая температура</td>-40°C ~ 85°C</td></tr>Корпус</td>28-DIP</td></tr></tbody></table>
  • Заказываешь на Aliexpress ?Узнай как экономить покупая на али кэшбек 

    https://cashback.epn.bz/?i=ff2b6

    https://cashback.epn.bz/joinusnow?i=ff2b6 

    </tr></tbody></table>

Похожие статьи

Как выиграть спор на Алиэкспресс. Причины и советы.

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

Простейший трекер для домашней солнечной электростанции

Трекер повышает КПД солнечных панелей

Как известно, солнечные панели имеют максимальный КПД в том случае, когда они расположены перпендикулярно падающим на них солнечным лучам. Но солнце перемещается по небосводу и стационарно установленные панели из-за этого теряют часть своей эффективности. Чтобы повысить их эффективность, используют трекеры — специальные устройства, которые поворачивают панели «вслед» за солнцем:

Делаем весы на ардуино Arduino , работа с тензонометрическим датчиком и платой HX711

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

Распиновка самых популярных плат ардуино Arduino board pinmaping

В посте собраны практически все платы ардуино с распиновкой в хорошем качестве !

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

Ардуино может использоваться для разработки интерактивных систем, управляемых различными датчиками и переключателями. Такие системы, в свою очередь, могут управлять работой различных индикаторов, двигателей и других устройств. Проекты Ардуино могут быть как самостоятельными, так и взаимодействовать с программным обеспечением, работающем на персональном компьютере (например, приложениями Flash, Processing, MaxMSP). Любую плату Ардуино можно собрать вручную или же купить готовое устройство; среда разработки для программирования такой платы имеет открытый исходный код и полностью бесплатна.

Язык программирования Ардуино является реализацией похожей аппаратной платформы «Wiring», основанной на среде программирования мультимедиа «Processing».

Теги: ATTINY, Atmega2560 rev3, Atmega2560 16au, Atmega320 «Про Мини», Atmegach340g, Atmegach340g Pro Mini, Atmega640 Pro Mini, Atmega168 20au, Atmega328, Atmega2560 16au Pro Mini, Atmegar3 Pro Mini, Atmega168 20au, процессоры, описание, распиновки, даташит, набор, денис, гиик, китайчик, клуб, ардуино, клуб_ардуино, обзоры, алиэкспресс, denis_geek, denis, geek, chinagreat, club_arduino, arduino, club, aliexpress, денис гиик, denis geek, club arduino, electronica52, electronica52.in.ua,

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

Blinking-LED-with-ATmega32.jpg

Необходимые компоненты

Аппаратное обеспечение

Программное обеспечение

Работа схемы

Схема устройства приведена на следующем рисунке. Как видите, она простейшая.

Светодиод D1 подсоединен через резистор R1 к выводу 19 микроконтроллера. Резистор необходим для ограничения тока, протекающего через светодиод. Помните, что микроконтроллер не может обеспечивать на своих выводах ток более 30 мА.

Для этой схемы нет необходимости в использовании внешнего кварцевого резонатора. Микроконтроллер ATmega32 по умолчанию работает от своего внутреннего RC-генератор с частотой 1 МГц – для рассматриваемой нами задачи этого вполне достаточно. Внешний кварцевый резонатор целесообразно подключать к микроконтроллеру только когда требуется повышенная точность таймера или возникают другие задачи, требующие точного измерения временного промежутка. По умолчанию при покупке микроконтроллер настроен так, чтобы работать от внутреннего RC-генератора.

Исходный код программы на языке C (Си) с пояснениями

Программа для рассматриваемой схемы представлена следующим фрагментом кода на языке C (Си). Комментарии к коду программу поясняют принцип работы отдельных команд.

#include //заголовок, разрешающий управление выводами микроконтроллера#define F_CPU 1000000 //задание тактовой частоты#include <util int="" main="" avrstudio="" pin="">

while(1) // бесконечный цикл, чтобы светодиод мигал все время работы программы{PORTD = 0xFF; // на все пины (выводы) PORTD подается напряжение 5 В (LED ON)_delay_ms(220); //задержка на 200ms_delay_ms(220); ); // задержка на 200msPORTD = 0x00; // на все выводы PORTD подается низкий потенциал (земля)_delay_ms(220); ); // задержка на 200ms_delay_ms(220); ); // задержка на 200ms}}

Теперь код программы без комментариев.

/* * C Program to Blink an LED with ATmega32 Microcontroller * */ #include #define F_CPU 1000000#include <util>in(void){ DDRD = 0xFF; while(1) { PORTD = 0xFF; _delay_ms(220); _delay_ms(220); PORTD = 0x00; _delay_ms(220); _delay_ms(220); }}</util>

Видео, демонстрирующее работу схемы

671 просмотровИспользуемые источники:

  • https://www.ruselectronic.com/chitaem-datashit-na-primere-atmega8/
  • http://www.electronica52.in.ua/proekty-arduino/raspinovki-processorov-atmega—i-atini-
  • https://microkontroller.ru/avr-microcontroller-projects/migayushhij-svetodiod-na-avr-atmega32/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации