Что такое микроконтроллер и как он работает. ¡- Что такое микроконтроллер. Какими бывают AVR микроконтроллеры

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

Что такое микроконтроллер?

Микроконтроллер представляет из себя микросхему , внутри которой располагаются процессор, оперативно-запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), генератор тактовой частоты и периферийные устройства , такие как аналоговые и цифровые порты, интерфейсы, компараторы, таймеры и т.п. То есть это настоящий мини компьютер в одном маленьком кристалле, предназначенный для решения относительно простых задач. Центром микрочипа является процессор, выполняющий программу, записанную во внутреннее или внешнее ПЗУ. Посредством выполнения программы и происходит решение задач, для которых предназначено электронное устройство.

История микроконтроллеров

Появились микроконтроллеры в 1971 году, благодаря американцам М. Кочрену и Г. Буну. С тех пор их стали массово использовать в компьютерной технике и промышленной автоматизации. В Советском Союзе также велись разработки подобных устройств. Первый отечественный микроконтроллер был создан в 1979 году.

В настоящее время изготовлением микроконтроллеров занимается множество компаний по всему миру. Выпускаются 8-битные, 16-битные и современные производительные 32-битные микроконтроллеры. Наиболее популярными считаются микроконтроллеры PIC, AVR, MSP430 и ARM.

Разнообразие микроконтроллеров

Внешне одинаковые, все они отличаются друг от друга скоростью работы процессора, его разрядностью и размером внутренней памяти. Существует более 200 модификаций микроконтроллеров. Для каждого устройства необходимы микроконтроллеры с определенными параметрами (желательно максимально подходящими под решаемую устройством задачу при минимальной стоимости). Поэтому помимо производительности, при создании микроконтроллера, учитывается и его итоговая стоимость. Наиболее востребованы рынком массовые типы микроконтроллеров, имеющие простое устройство и наиболее дешевые в производстве. Такие микроконтроллеры предназначены для решения простых задач и используются в детских игрушках, бытовой технике, в системах автоматического открывания дверей и т.д. Но существуют и микроконтроллеры, которые могут выполнять множество различных сложных операций за короткий промежуток времени. Такие микрочипы ставят в современные смартфоны, планшеты и другую сложную технику. Конечно, и цена на такие микросхемы соответствующая.

Как программируют микроконтроллеры?

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

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

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

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

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

Использование микроконтроллеров

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

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

Итак, микроконтроллер это небольшая микросхема, на кристалле которой собран настоящий микрокомпьютер! Это означает, что внутри одной микросхемы смонтировали процессор, память (ПЗУ и ОЗУ), периферийные устройства, заставили их работать и взаимодействовать между собой и внешним миром с помощью специальной микропрограммы, которая храниться внутри микроконтроллера.

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

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

Так выглядят современные микроконтроллеры.

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

Мы сказали, что микроконтроллер это своего рода микрокомпьютер (старое название однокристальные микроЭВМ). Представим его в виде черного ящика. Внутри этого ящика расположены основные структурные элементы микроконтроллера.

Арифметико-логическое устройство (АЛУ) – предназначено для выполнения арифметических и логических операций, на самом деле в совокупности с регистрами общего назначения АЛУ выполняет функции процессора.

Оперативно – запоминающее устройство (ОЗУ) – предназначено для временного хранения данных при работе микроконтроллера.

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

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

Микроконтроллер в своем составе может иметь и другие вспомогательные элементы.

Аналоговый компаратор – предназначен для сравнения двух аналоговых сигналов на его входах

Таймеры в микроконтроллерах применяются для осуществления различных задержек и установки различных интервалов времени в работе микроконтроллера.

Аналогово-цифровой преобразователь (АЦП) необходим для ввода аналогового сигнала в микроконтроллер и его функция перевести аналоговый сигнал в цифровой.

Цифро-аналоговый преобразователь (ЦАП) выполняет обратную функция, то есть сигнал из цифрового вида преобразует в аналоговый вид.

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

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

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

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

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

Видеокурс "Программирование микроконтроллеров для начинающих" более 70 часов качественного видео.

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

Доброго дня уважаемые радиолюбители!
Приветствую вас на сайте “ “

Общее устройство микроконтроллеров: основа микроконтроллера, периферийные устройства

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

Микроконтроллеры фирмы ATMEL

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

Немножко истории.
Фирма ATMEL была создана в 1984 году, ее полное название – Advanced Technologi Memory and Logic.
Первый МК фирма выпустила в 1993 году.
В 1995 году была придумана новая архитектура процессорного ядра для МК, так называемое RISС-ядро (что это за диво, вы при желании можете ознакомиться в любой популярной литературе, а мы отвлекаться не будем).
Новую архитектуру МК назвали AVR. Идея новой архитектуры ядра оказалась очень удачной, и уже с 1997 года ATMEL начала серийный выпуск МК на основе RISC-ядра.

В настоящее время ATMEL выпускает в год несколько миллиардов МК разнообразных типов. Из всего этого множества мы выделим два семейств восьмиразрядных МК :

- TINY AVR
MEGA AVR

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

Почему эти семейства МК называются восьмиразрядными (заодно узнаем что такое шины).

МК – сложная штука, в нем (в одном корпусе) размещено много разных устройств, которые, естественно, должны общаться между собой – передавать или принимать данные (нули и единички), передавать и принимать различные сигналы управления, записывать данные в память или считывать их из памяти. Общение устройств между собой а также с «внешним миром» происходит с помощью шин .
Шину можно представить как жгут с несколькими проводами с помощью которых все устройства соединены между собой и по которым передаются цифровые сигналы – логические нули и логические единицы.

В МК имеется три шины :
1. Шина данных (Data Bus – по английски).
Шина данных - шина, предназначенная для передачи информации.
Эта шина служит только для передачи различных данных между устройствами. Эта шина двунаправленная: по ней устройство может как передавать, так и принимать данные. МК семейства Tiny и Mega могут за один раз передать или принять восемь бит информации (бит – наименьшая единица измерения данных в цифровой технике, одна логическая единица или один логический ноль – это один бит информации) . Такая шина называется восьмиразрядной (иногда встречается название – восьмибитовая), а отсюда и сами МК – восьмиразрядными (если грубо, то можно сказать, что все устройства соединены жгутами из восьми проводов).
Минимальная разрядность шины данных – 8 бит (меньше не бывает). Современные компьютеры имеют 64-разрядную шину данных. Разрядность шины данных всегда кратна 8 (восьмиразрядная, шестнадцатиразрядная, тридцатидвухразрядная…)
2. Шина адреса (Addr Bus – по английски).
Шина адреса - шина, на которой в ходе выполнения программы выставляется адрес ячейки памяти, к которой в данный момент времени должен обратиться МК чтобы считать или следующую команду, или данные, или в которую необходимо записать данные.
3. Шина управления (Control Bus – по английски).
Шина управления – шина, а точнее набор линий (проводников) по которым передаются управляющие сигналы с помощью которых определяется как будет происходить обмен информацией – или ее считывание из памяти, или запись в память, а также некоторые специальные сигналы – сигнал готовности, сигнал сброса.
Небольшой пример работы шин.
Необходимо записать число 60 в ячейку памяти:
– на шине адреса выставляется адрес ячейки памяти в которую необходимо записать число
– на шине управления выставляется сигнал записи
– по шине данных передается число 60, которое записывается в выбранную ячейку памяти.
Ну вот, как общаются устройства в МК между собой, мы вроде-бы разобрались. Идем дальше.

В современном МК много различных устройств, в каком-то типе больше, а в каком-то меньше, а кроме того, в разных МК эти устройства могут различаться по своим характеристикам. Но в МК есть то, что составляет его основу и присутствует во всех типах – процессорное ядро (микропроцессорная система – по аналогии с компьютером), которое состоит из трех основных устройств:
1. АЛУ – арифметико-логическое устройство (микропроцессор) которое выполняет все вычисления (выполняет нашу программу).
2. Память -предназначена для хранения программ, данных, а также любой другой нужной нам информации.
3. Порты ввода – вывода . Это выводы МК с помощью которых он общается с «внешним миром». При передаче информации МК выставляет на своих выводах соответствующие логические уровни (0 или 1). При приеме информации МК считывает с этих выводов логические уровни, которые выставлены внешним устройством.
Это трио – основа МК:

Эту основу МК мы с вами рассмотрим очень подробно, но в следующей статье, как и то, что вы прочтете ниже.

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

1. Аналоговый компаратор
Присутствует во всех моделях МК
Аналоговый компаратор – устройство сравнения. Основная задача компаратора – это сравнение двух напряжений: одно из них – образцовое (с чем сравниваем), а второе – измеряемое (сравниваемое). Если сравниваемое напряжение больше образцового – компаратор вырабатывает сигнал логической единицы. Если сравниваемое напряжение меньше образцового – компаратор формирует на своем выходе логический ноль.
С помощью компаратора можно, к примеру, контролировать напряжение на заряжаемом аккумуляторе. Пока напряжение не достигнет нужного уровня, на выходе компаратора – логический ноль, как только напряжение аккумулятора достигло уровня нужного нам, компаратор вырабатывает логическую единицу, и значит можно завершить зарядку аккумулятора.

2. АЦП – аналогово-цифровой преобразователь.
Имеют не все МК.
АЦП – преобразователь аналогового напряжения в цифровую форму.
Аналоговое напряжение – это напряжение которое изменяется по напряжению во времени. Например – синусоидальный сигнал с выхода генератора частоты, напряжение в бытовой розетке, звуковой сигнал на колонках.
АЦП постоянно анализирует на своем входе величину напряжения и выдает на своем выходе цифровой код, соответствующий входному напряжению.
Примеры применения:
– цифровой вольтметр или амперметр
– процессорный стабилизатор напряжения
МК, которые имеют АЦП, также имеют раздельное питание для цифровой и для аналоговой частей.

3. Таймер/счетчик
Присутствует во всех моделях МК, но в разных количествах – от 1 до 4, и с разными возможностями.
Таймер/счетчик – это как бы два устройства в одном флаконе: таймер + счетчик.
Таймер – устройство, которое позволяет формировать временные интервалы. Таймер представляет собой цифровой счетчик который считает импульсы или от внутреннего генератора частоты, или от внешнего источника сигнала.
С помощью таймера/счетчика можно:
– отсчитывать и измерять временные интервалы
– подсчитывать количество внешних импульсов
– формировать ШИМ-сигналы
К примеру, мы хотим создать прибор позволяющий измерять частоту входного сигнала (частотомер). В этом случае мы можем использовать два счетчика/таймера. Первый будет отсчитывать временные интервалы равные 1 секунде, а второй будет считать количество импульсов за промежуток времени в 1 секунду которые отсчитывает первый таймер. Количество импульсов подсчитанное вторым таймером/счетчиком за 1 секунду будет равно частоте входного сигнала.
ШИМ - широтно-импульсный модулятор, предназначен для управления средним значением напряжения на нагрузке.
ШИМ – один из вариантов работы таймера/счетчика, позволяющий генерировать на выходе МК прямоугольное импульсное напряжение с регулируемой длительностью между импульсами (скважностью), которое применяется в различных устройствах:
– регулирование частоты вращения электродвигателя
– осветительные приборы
– нагревательные элементы

4. Сторожевой таймер.
Есть во всех моделях МК. Может быть включен или выключен по усмотрению программиста.
У сторожевого таймера только одна задача – производить сброс (перезапускать программу) МК через определенный промежуток времени.
При работе МК могут возникать различные ситуации при которых его нормальная работа будет нарушена (внешние помехи, дурацкая программа, за которую надо голову оторвать программисту). В таких случаях говорят, что МК «завис».
При нормальной работе МК и включенном сторожевом таймере, программа должна периодически производить сброс сторожевого таймера (а периодический сброс мы должны сами предусмотреть в программе) еще до того, как он должен сработать и перезапустить МК. Если программа «зависла», то сброса сторожевого таймера не будет, и через определенный промежуток времени он перезапустит МК.

5. Модуль прерываний.
Прерывание – сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей программы приостанавливается и управление передается обработчику прерывания, который реагирует на событие и обслуживает его (выполняется программа, которую должен выполнить МК при наступлении соответствующего события – прерывания), после чего возвращается в прерванную программу.
Прерывания бывают внутренние и внешние .
Внутренние прерывания могут возникать при работе периферийных устройств МК (АЦП, компаратор, таймер и т.д.)
Внешнее прерывание – событие, которое возникает при наличии сигнала на одном из специальных входов МК (таких специальных входов для внешних прерываний у МК может быть несколько).
Пример.
Внутреннее прерывание. Собрали на МК устройство, которое еще обладает и функцией зарядки резервного источника питания. МК выполняет свою основную программу, аналоговый компаратор в это время проверяет напряжение на аккумуляторе. Как только напряжение аккумулятора снизится ниже допустимого, компаратор вырабатывает сигнал процессору – прерывание, процессор останавливает выполнение основной программы и переходит к выполнению программы прерывания, вызванного компаратором – к примеру, включает схему зарядки аккумулятора, а затем возвращается к выполнению прерванной программы.
Внешнее прерывание. Работа МК происходит также, как и при внутреннем прерывании, но вызываться оно может любым устройством, подключенным к специальному входу МК.

6. Интерфейсы и модули для передачи данных. Мы подробно рассматривать их будем только в том случае, если они потребуются для собираемой нами (в будущем) конструкции. Более подробно о них можно прочитать в популярной литературе.
Последовательный периферийный интерфейс SPI
Имеется во всех моделях МК.
Мы его в 99,9 случаях из 100 применяем для программирования МК.
Кроме программирования МК интерфейс SPI позволяет:
– обмениваться данными между МК и внешними устройствами
– обмениваться данными нескольким МК между собой
Универсальный приемопередатчик
Имеют все модели МК, но разных типов:
– USART
– UART
Предназначены для обмена данными по последовательному каналу.
Последовательный двухпроводный интерфейс TWI Порты ввода/вывода микроконтроллера

Предположим вам поставили задачу — заставить мигать светодиод.
Рассуждаем, как решить эту задачу:

Вариант 1 — самое простое, взять тумблер/кнопку, рядом посадить раба, который тумблером будет включать/выключать светодиод. Обычно в России большинство задач именно так и решается. А что ведь мигает)))
Вариант 2 — собрать мультивибратор. Уже интереснее. Для того чтобы помигать, одним светодиодом вполне даже хорошее решение. К тому же просто, дешево, надежно.
Вариант 3 — собрать на микроконтроллере. Дороже чем собрать мультивибратор, но на мой взгляд проще. Написал программу, прошил, получил результат. Без настройки. Конечно это идеальный случай.

Теперь усложним задачу. Например, 5 светодиодов и 5 вариантов их мигания (изменяется скорость и порядок их мигания). Первый вариант сразу отпадает, способом 2 сделать можно, но размеры устройства резко увеличатся. Вариант 3 останется примерно тех же размеров, достаточно дописать пару строк кода. Следовательно есть разные случаи, где то без микроконтроллера невозможно, а где то он излишество. Поэтому всегда оценивайте трудозатраты, время и финансовые затраты.

Итак, микроконтроллер позволяет нам гибко управлять, системами, процессами и т.п, имеет небольшие габариты, по функциональности это миникомпьютер. Микроконтроллеры выпускаются разными фирмами. Одна из разновидностей микроконтроллеры AVR фирмы Atmel. Почему именно они? Их довольно просто найти в магазине, легко найти примеры готового кода, встроенный функционал позволяет решать даже сложные задачи.

Чтобы микроконтроллер нас понимал, что мы от него хотим, в него нужно загрузить прошивку — последовательность действий, которую ему необходимо выполнить. Прошивка представляет собой последовательность единиц и нулей. Чтобы было удобнее, придумали языки программирования. Например, мы пишем включи, а компилятор уже сам преобразовывает в понятную для микроконтроллера последовательность единиц и нулей. На рисунке показана HEX прошивка, если ее открыть при помощи блокнота.

Программируют микроконтроллеры обычно на языке Си или на ассемблере. На чем писать по большому счету разницы нет. Из-за большого количества готовых примеров, я свой выбор сделал в пользу Си. Кроме того, существует несколько программ позволяющих писать на Си. Например бесплатная, фирменная AVR Studio, CodeVision, WinAVR и т.п. Несмотря на то, что я пишу в CodeVision, очень активно использую AVR Studio как отладчик.

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

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

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

Начиналась вся эта эра микроконтроллеров, которые мы сегодня используем во всех видах техники, с микро-ЭВМ или Электро-Вычислительных-Машин. Они, по сути, и были первыми контроллерами, что традиционно означает – управляющее устройство, но строились на платформе одного кристалла.

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

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

Назначение и область применения микроконтроллера

Но давайте разберёмся, чем smd микроконтроллеры 14 pin отличаются от 12 пиновых и как применять микроконтроллеры для чайников.

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

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

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

Без этого ни одно приложение бы не запустилось. Но это лишь конкретная область применения, на деле, с помощью Ардуино и похожих систем, можно контролировать любые переменные, включая свет по хлопку или раздвигание штор при изменении освещения на улице. Вот и выходит, что назначение МК – это контроль любых переменных и изменение системы под их состояние, возможно, с последующим выводом промежуточных данных, для проверки работоспособности.

Но давайте разберёмся, почему любая разработка ПО для микроконтроллеров с помощью специальных сред в итоге компилирует (превращает) код в двоичный, и зачем это нужно?

Принцип работы

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

  1. Он принимает определённые переменные или другие данные, которые прежде должны быть преобразованы в двоичный сигнал. Это необходимо, поскольку на низшем уровне система способна воспринимать лишь 2 состояния – есть сигнал или нет сигнала. Такой принцип называют аналоговым. Существует аналогичный алгоритм, когда сигнал присутствует постоянно, но меняется по частоте – цифровой. У них множество различий, как в областях применения, так и в особенностях работы сигнала, но суть одна – процессор способен воспринимать лишь значения 0 и 1, или true и false, и не важно, какими путями микропроцессоры и микроконтроллеры будут их считывать.
  2. Во внутренней памяти устройства хранится набор специальных инструкций, который позволяет, путем базовых математических преобразований, выполнять какие-то действия с полученными данными. Именно эти базовые операнды и берутся на вооружение компилируемых языков программирования, когда необходимо написать библиотеку готовых функций. Остальные нюансы языков программирования – это уже синтаксис и теория алгоритмов. Но в результате, всё сводится к базовым операндам, которые превращаются в двоичный код и обрабатываются внутренней системой процессора.
  3. Всё, что было получено и сохранено после обработки, выдается на выход. На самом деле, данный пункт выполняется всегда, единственная разница, что выходом может быть и преобразование состояния объекта какой-то системы. Простейшим примером станет замыкание электрической цепи, в случае, если на специальный датчик подать ток, вследствие чего загорится лампочка. Здесь всё зависит от типа устройства, так, 8051 микроконтроллер может выполнять несколько видов выводов, имея 14 пинов, а какой-то другой – всего один, ведь у него 1 пин на выход. Количество выходов влияет на многопоточные свойства девайса, иными словами, возможность выводить информацию сразу на несколько устройств или совершать несколько действий одновременно.

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

Это напрямую влияет на скорость работы устройств, и именно из-за этой характеристики 2-ух ядерные девайсы мощнее, чем 1-ядерные, но имеющие большую герцовку (способность выполнять большее количество преобразований за единицу времени).

Но почему микроконтроллер овен не способен выполнять некоторые действия, характерные для 8051, и какая классификация вообще существует в данной сфере?

Виды микроконтроллеров

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

  1. Количеству аналоговых и цифровых пинов.
  2. Общему количеству пинов.
  3. Количеству ядер, которые присутствуют в МК.
  4. Скорости выполнения операций или герцовке.
  5. Объему оперативной и постоянной внутренней памяти.
  6. Размерам.

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

Особенности микроконтроллеров Ардуино

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

  1. Низкий порог входа . Так как программная среда уже написана и протестирована за вас, никаких «велосипедов» придумывать не нужно.
  2. Оптимизация под конкретные задачи . У создателей есть целая линейка разнообразных чипов, которые сильно различаются по характеристикам, благодаря чему будет проще подобрать подходящий.
  3. Готовая платформа и множество решений различных проблем или задач в открытом доступе.

Подключение и управление

Подключаются чипы через специальные разъемы, называемые пинами. Те, в свою очередь, распределяются на:

  1. Отвечающие за питание . Стандартное сочетание из нуля, фазы и заземления. Последнее чаще всего игнорируют.
  2. Отвечающие за ввод данных .
  3. Отвечающие за вывод данных . Их можно разделить на аналоговые и цифровые, о главном различии уже упоминалось выше, и каждый из выходов имеет свои достоинства и недостатки.

С помощью всех этих «ножек» и происходит управление системой, а их необходимое количество напрямую зависит от поставленной задачи.

Микроконтроллеры для начинающих

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

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

Пример применения микроконтроллера Ардуино

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

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