Мікроконтролери (далі по тексту просто МК) увірвалися в наше життя і дуже сильно її полегшили. Вони використовуються на кожному кроці, починаючи з вашої пральної машини і закінчуючи смартфоном. Самі по собі МК нічого не можуть робити, але займають головну "посаду" в електронній апаратурі. Вони КЕРУЮТЬ процесом роботи всіх окремих вузлів радіоелектронної апаратури та КОНТРОЛЮЮТЬ ситуацію, щоб та не вийшла за рамки дозволеності). Ця їхня основна функція ;-). От і все!
Приступаючи до вивчення мікроконтролерів з нуля, навіть досвідчені електронщики часом заходять в глухий кут, не знають з чого почати і як зрозуміти все це. Гора інформації здається непідйомною і настільки страшною і не зрозумілою, що часом на перших спробах вивчення МК все і закінчується.
Що таке МК і з чим його їдять?
В даний час видів МК дуже багато. Найбільш відомі з них це мікроконтролери PIC фірми Microchip Technology, в народі "піки"; а також мікроконтролери AVR фірми Atmel, в народі звані "авееркі". Найбільш просунуті електронщики вже юзают мікроконтролери STM фірми STMicroelectronics. Думаю, до них нам ще далеко.
Так як найпростішими МК для вивчення є AVR з них, мабуть, і почнемо.
Мікроконтролер вдає із себе пластмаску із залізними ніжками в різних корпусах . Нижче на малюнку корпусу мікроконтролерів AVR:
Давайте розглянемо МК AVR Atmega8 в DIP корпусі:
Для того, щоб дізнатися, як у неї йде нумерація ніжок (терморегулятори), треба простий знайти виїмку на мікросхемі, і від неї вже починати рахунок ;-)
А ось так йде рахунок, проти годинникової стрілки:
Тепер давайте розглянемо схемотехническое позначення МК AVR Atmega8:
Як ми бачимо, кожна з ніжок пронумерована, носить свою назву і навіть не одне. Вся справа в тому, що деякі висновки можуть виконувати різні функції, в залежності від того, як ми запрограмуємо наш МК. Чим "фаршировані" МК, тим більше ніжок і виконуваних функцій він має.
Як же це все працює?
Всередині мікроконтролера функціонує програма. Ця програма здатна виконувати ТІЛЬКИ ТРИ ДІЇ, вона може на будь-яку з ніжок ПОДАТИ ХАРЧУВАННЯ в 5 Вольт (включити логічну одиницю), ВИМКНУТИ ХАРЧУВАННЯ (логічний нуль), ПРОЧИТАТИ, подаємо ми на ногу харчування з боку чи ні. Ось і все, іншого не дано, програма ні на що більше не здатна. Це, насправді, сильно спрощує програмування. Детальніше про основи цифрової електроніки можна прочитати зде сь .
Наприклад, ми хочемо моргнути светодіодик.
В основному, з цієї програми починають вивчення мікроконтролерів. Як поступимо в цьому випадку?
Для початку ми причепимо, скажімо, на ніжку "2" мікроконтролера світлодіод (LED-RED). Нехай він буде причеплений анодом, а катод світлодіода буде сидіти на землі (GND або, грубо кажучи, мінус харчування). Схема буде виглядати наступним чином:
Схема зроблена в програмі Proteus, до якої ми повернемося в наступних статтях.
Отже, на нозі PD0 другого виведення мікросхеми сидить світлодіод з струмообмежувальні резистори. Резистор тут просто обмежує проходить струм через світлодіод, щоб світлодіод не згорів.
Що ж далі?
Далі нам треба запрограмувати наш МК програмою. Мовою программеров це звучить як "залити", "прошити", "шівануть". Для цього існують спеціальні програматори.
А далі програма всередині мікроконтролера повинна робити наступне:
- Подати харчування на ногу PD0 (светодіодик загоряється)
- Почекати скільки потрібно (продовжує горіти)
- Вимкнути живлення на нозі PD0 (светодіодик гасне)
- Почекати скільки потрібно (все ще не горить)
- Перейти до кроку 1 (светодіодик загоряється)
Ось і все, більше нічого програма робити не буде, тільки тупо моргати светодіодик ;-)
Подивимося що буде, якщо з алгоритму викинути хоча б один крок.
Думаю немає необхідності викидати кроки 1 і 3, очевидно, що без них світлодіод або ніколи не загориться, або буде завжди вимкнений.
Що якщо прибрати крок 2? Тоді вийде наступне: Харчування включено, діод горить, далі через не відчутна людиною мить світлодіод погас, йде затримка. Світлодіод включається на такий малий час, що нам здається, ніби він постійно вимкнений.
Аналогічно буде, якщо прибрати затримку під номером 3, світлодіод буде вимикатися на такий малий час, що буде здаватися нам постійно включений.
Ось що приблизно уявляє з себе мікроконтролер.
Як же це все працює?Що таке МК і з чим його їдять?
Як же це все працює?
Як поступимо в цьому випадку?
Що ж далі?
Що якщо прибрати крок 2?