Введение. Оно же предисловие

16.03.2024 (18.06.2022)

Идея подобного цикла статей возникла довольно давно, в 1990-е годы. И даже начала воплощаться, сначала на другом сайте, в виде статей о микропроцессоре К580ИК80, который более известен как К580ВМ80 (580ВМ80, КР580ВМ1) и однокристальных ЭВМ (так тогда часто называли микроконтроллеры) КМ1816ВЕ48 и КМ1816ВЕ51. Мне задавали много типовых вопросов об их применении, а подробной информации тогда было мало. Поэтому я и стал оформлять ответы на некоторые вопросы в виде статей. Причем это были ответы с подробным описанием. Через некоторое время был создан сайт systo.ru и публикации продолжились уже здесь. Но довольно быстрое последующее распространение 16 разрядных процессоров Intel (включая наши версии), виде IBM-PC, сделало большую часть статей не актуальными. А бум применения микроконтроллеров еще не наступил. Устаревшие статьи были удалены.

Следующая попытка была предпринята в 2019 году в рамках цикла статей "Микроконтроллеры для начинающих" канала "Разумный мир" в Дзен (бывший Yandex Дзен). Стиль изложения в статьях того цикла был ориентирован на читательскую аудиторию Дзен. Увы, ограничения Дзен не позволяют удобно писать статьи технического характера. Все таки, Дзен позиционирует себя как платформу блогов. Поэтому и было решено написать новый вариант цикла, более подробный, уже на своем сайте. Именно этот вариант вы и начинаете читать. Он останется вариантом "Для начинающих", но будет охватывать заметно больший круг вопросов, которые будут рассматриваться гораздо подробнее. При этом цикл статей, как и раньше, совершенно не претендует на звание учебника. Он не для студентов, которые изучают микроконтроллеры в ВУЗ-ах. Он для любителей и новичков, которые могут быть профессионалами в своей области, начинающих изучать микроконтроллеры или желающие узнать их поглубже.

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

В статьях на Дзен я рассматривал только 8-разрядные микроконтроллеры, причем наиболее популярных семейств. Это были микроконтроллеры Microchip PIC (PIC10, PIC12, PIC16, PIC18), Atmel AVR (ATtiny, ATmega), STM8. 8-разрядные микроконтроллеры проще в изучении, что немаловажно для новичков. При этом, они обладают достаточными для очень многих практических применений возможностями. Разобравшись с 8-разрядными микроконтроллерами уже гораздо проще освоить и 32-разрядные, которые считаются более современными (что не всегда так). Они отличаются не только увеличенной разрядностью. Однако, в цикле статей на сайте будут рассматриваться еще два семейства микроконтроллеров. Первое, MCS-51, выпускается многими производителями под самыми разными обозначениями, заслуженно считается промышленным стандартом. Не смотря на то, что оно было разработано давно и может считаться устаревшим, микроконтроллеры семейства MCS-51 (самых разных производителей) до сих активно используются в промышленных устройствах и системах. И по MCS-51 мне задавали много вопросов, в том числе, в комментариях к статьям на Дзен. Второе, MSP430, уже 16-разрядное. Это позволит показать, что разрядность не так сильно влияет на изучение основ устройства микроконтроллеров. А еще, MSP430 одни из самых микромощных, что важно для устройств с батарейным питанием.

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

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

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

Кроме того, статьи, ни в коей мере, не являются заменой официальной документации на микроконтроллеры (DataSheet, AppNote, и т.д.). Чтение официальной документации является обязательным, в любом случае. Точно так же, статьи не являются заменой официальной документации на компиляторы, среды разработки (IDE и прочие средства), программаторы. Более того, статьи вообще никак не будут касаться вопросов выбора конкретной среды разработки или программатора. Да, будет небольшое перечисление и описание средств разработки (но совершенно точно не IDE). Но выбор используемых читателями средств остается за самими читателями.

Конечно, будет и практика. Примеры практических работающих программ и их фрагментов. Примеры полноценных работающих устройств. Однако, прежде, чем перейти к практике, нужно, как всегда, изучить теорию. И именно с теоретических вопросов и начнется цикл. Но это будет не голая теория, а теория ориентированная на практику. И все затронутые в статьях теоретический вопросы позже потребуются нам именно на практике. Лишней информации, теории ради теории, здесь не будет. Чтение далеко не всегда будет захватывающим. Чаще всего потребуется достаточно много усилий, что бы во всем разобраться. Но вы ведь помните, что "тяжело в учении - легко в бою". И потраченные усилия впоследствии многократно окупятся.

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

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

Хочу выразить благодарность всем подписчикам канала "Разумный мир", которые принимали самое активное участие в обсуждении статей в Дзен и во многом определили его тематику. Без вас тот цикл не был бы таким интересным. Вы учились у меня, а я учился у вас. Надеюсь, что и этот, новый вариант цикла статей, будет интересен и сумеет привлечь еще больше больше читателей. И что нам будет, что обсудить и о чем подискутировать


Вы можете обсудить данную статью или задать вопросы автору на форуме