Первое знакомство с AVR

02.12.2014 11:41

Микроконтроллеры (далее по тексту просто МК) ворвались в нашу жизнь и очень сильно ее облегчили. Они используются абсолютно везде, начиная с вашей стиральной машины и заканчивая смартфоном. Сами по себе МК ничего не могут делать,  но занимают главную "должность" в электронной аппаратуре. Они УПРАВЛЯЮТ  процессом работы всех отдельных узлов радиоэлектронной аппаратуры и КОНТРОЛИРУЮТ ситуацию, чтобы та не вышла за рамки дозволенности). Эта их основная функция ;-). Вот и все!

 

 

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

 

Попробуем разобраться, что такое МК и с чем его едят?

В настоящее время видов МК очень много. Самые знаменитые из них это микроконтроллеры PIC фирмы Microchip Technology, в народе "пики";  а также микроконтроллеры AVR фирмы Atmel, в народе называемые "авээрки". Самые продвинутые электронщики уже юзают микроконтроллеры STM фирмы STMicroelectronics. Думаю, до них нам еще далеко.

 

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

 

Микроконтроллер представляет из себя пластмаску с железными ножками в различных корпусах. Ниже на рисунке корпуса микроконтроллеров  AVR:

 

 

 Давайте рассмотрим МК AVR Atmega8 в DIP корпусе:

 

Для того, чтобы узнать, как у нее идет нумерация ножек (распиновка), надо простой найти выемку на микросхеме, и от нее уже начинать счет ;-)

 

 

 

А вот так идет счет, против часовой стрелки:

 

 

Теперь давайте рассмотрим схемотехническое обозначение МК AVR Atmega8:

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

 

 

Ну и как же все это работает?

Внутри микроконтроллера функционирует программа. Эта программа способна выполнять ТОЛЬКО ТРИ ДЕЙСТВИЯ, она может на любую из ножек ПОДАТЬ ПИТАНИЕ в 5 Вольт (включить логическую единицу), ВЫКЛЮЧИТЬ ПИТАНИЕ (логический ноль), ПРОЧИТАТЬ, подаем мы на ногу питание со стороны или нет. Вот и все, другого не дано, программа ни на что более не способна. Это, на самом деле, сильно упрощает программирование.  Подробнее про  основы цифровой электроники можно прочитать зде сь.

 

Например, мы хотим помигать светодиодиком.

В основном, с этой программы начинают изучение микроконтроллеров. Как поступим в этом случае?

Для начала мы прицепим, скажем, на ножку "2" микроконтроллера светодиод (LED-RED). Пусть он будет прицеплен  анодом, а катод светодиода будет сидеть на земле (GND или, грубо говоря, минус питания). Схема будет выглядеть следующим образом:

Схема сделана в программе Proteus, к которой мы вернемся в следующих статьях.

 

Итак, на ноге PD0 второго вывода микросхемы сидит светодиод с токоограничительным резистором. Резистор здесь просто ограничивает проходящий ток через светодиод, чтобы светодиод не сгорел.

 

Что же дальше?

Дальше нам надо запрограммировать наш МК программой. На языке программеров это звучит как "залить", "прошить", "шивануть". Для этого существуют специальные программаторы.

А дальше программа внутри микроконтроллера должна делать следующее:

  1. Подать питание на ногу PD0 (светодиодик загорается)
  2. Подождать сколько нужно (продолжает гореть)
  3. Выключить питание на ноге PD0 (светодиодик тухнет)
  4. Подождать сколько нужно ( все еще не горит)
  5. Перейти к шагу 1 (светодиодик загорается)

 

Вот и все, больше ничего программа делать не будет, только тупо моргать светодиодиком ;-)

 

Посмотрим что будет, если из алгоритма выкинуть хотя бы один шаг.

Думаю нет необходимости выкидывать шаги 1 и 3, очевидно, что без них светодиод либо никогда не загорится, либо будет всегда выключен.

Что если убрать шаг 2? Тогда получится следующее: Питание включено, диод горит, далее через не ощутимое человеком мгновение светодиод погас, идет задержка. Светодиод включается на столь малое время, что нам кажется, будто он постоянно выключен.

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

 

Вот что примерно представляет из себя микроконтроллер.

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


Продолжение