Микроконтроллеры (далее по тексту просто МК ) ворвались в нашу жизнь и очень сильно ее облегчили. Они используются абсолютно везде, начиная с вашей стиральной машины и заканчивая смартфоном. Сами по себе МК ничего не могут делать, но занимают главную «должность» в электронной аппаратуре. Они УПРАВЛЯЮТ процессом работы всех отдельных узлов радиоэлектронной аппаратуры и КОНТРОЛИРУЮТ ситуацию, чтобы та не вышла за рамки дозволенности). Эта их основная функция ;-). Вот и все!
Приступая к изучению микроконтроллеров с нуля, даже опытные электронщики порой заходят в тупик, не знают с чего начать и как понять все это. Гора информации кажется неподъемной и настолько страшной и не понятной, что порой на первых попытках изучения МК все и заканчивается.
Что такое микроконтроллеры?
В настоящее время видов МК очень много. Самые знаменитые из них это микроконтроллеры PIC фирмы Microchip Technology, в народе «пики»; а также микроконтроллеры AVR фирмы Atmel, в народе называемые «авээрки». Самые продвинутые электронщики уже юзают микроконтроллеры STM фирмы STMicroelectronics. Думаю, до них нам еще далеко. Так как самыми простыми МК для изучения являются AVR с них, пожалуй, и начнем.
Микроконтроллер представляет из себя пластмаску с железными ножками в различных корпусах . Ниже на рисунке корпуса микроконтроллеров AVR:
Давайте рассмотрим МК AVR Atmega8 в DIP корпусе:
Для того, чтобы узнать, как у нее идет нумерация ножек (распиновка), надо простой найти выемку на микросхеме, и от нее уже начинать счет 😉
А вот так идет счет, против часовой стрелки:
Теперь давайте рассмотрим схемотехническое обозначение МК AVR Atmega8:
Как мы видим, каждая из ножек пронумерована, носит свое название и даже не одно. Все дело в том, что некоторые выводы могут выполнять разные функции, в зависимости от того, как мы запрограммируем наш МК. Чем «фаршированнее» МК, тем больше ножек и выполняемых функций он имеет.
Как же это все работает?
Внутри микроконтроллера функционирует программа . Эта программа способна выполнять ТОЛЬКО ТРИ ДЕЙСТВИЯ, она может на любую из ножек ПОДАТЬ ПИТАНИЕ в 5 Вольт (включить логическую единицу), ВЫКЛЮЧИТЬ ПИТАНИЕ (логический ноль), ПРОЧИТАТЬ, подаем мы на ногу питание со стороны или нет. Вот и все, другого не дано, программа ни на что более не способна. Это, на самом деле, сильно упрощает программирование. Подробнее про основы цифровой электроники можно прочитать здесь .
Например, мы хотим помигать светодиодом.
В основном, с этой программы начинают изучение микроконтроллеров. Как поступим в этом случае?
Для начала мы прицепим, скажем, на ножку «2» микроконтроллера светодиод (LED-RED). Пусть он будет прицеплен анодом, а катод светодиода будет сидеть на земле (GND или, грубо говоря, минус питания). Схема будет выглядеть следующим образом:
Посмотрим что будет, если из алгоритма выкинуть хотя бы один шаг.
Думаю нет необходимости выкидывать шаги 1 и 3, очевидно, что без них светодиод либо никогда не загорится, либо будет всегда выключен.
Что если убрать шаг 2? Тогда получится следующее: Питание включено, диод горит, далее через не ощутимое человеком мгновение светодиод погас, идет задержка. Светодиод включается на столь малое время, что нам кажется, будто он постоянно выключен.
Аналогично будет, если убрать задержку под номером 3, светодиод будет выключаться на столь малое время, что будет казаться нам постоянно включен.
Вот что примерно представляет из себя микроконтроллер.