AVR. Навчальний курс. Архітектура. Архітектура AVR мікроконтролерів, з чого складається мікроконтролер

Сімейство AVR – включає 8 бітні мікроконтролери для широкого спектру завдань. Для складних проектів з великою кількістювходів/виходів вам надані мікроконтролери AVR сімейства Mega та AVR xmega, які випускаються в корпусах від 44 до 100 висновків та мають до 1024 кб Flash пам'яті, а швидкість їх роботи – до 32 мільйонів операцій на секунду. Практично всі моделі мають можливість генерувати ШІМ, вбудований АЦП та ЦАП.

Мільйони радіоаматорів розробляють цікаві проектина AVR - це найпопулярніше сімейство МК, про них написано дуже багато книг російською та іншими мовами світу.

Цікаво: для прошивки потрібен програматор, один із найпоширеніших – це AVRISP MKII, який ви легко можете зробити зі своєї Arduino.

Популярність сімейства АВР підтримується на високому рівнівже багато років, останні 10 років інтерес до них підігріває проект Arduino- Плата для простого входу в світ цифрової електроніки.

Чітко описати сферу застосування мікроконтролера не можна, адже вона безмежна, проте можна класифікувати так:

  1. Tiny AVR – найпростіші в технічному плані. Вони мало пам'яті і висновків для підключення сигналів, ціна відповідна. Однак це ідеальне рішеннядля найпростіших проектів, починаючи від автоматики управління освітлювальними приладамисалону автомобіля до осцилографічних пробників для ремонту електроніки своїми руками. Вони також використовуються в Arduino-сумісному проекті – Digispark. Це найменша версія ардуїни від стороннього виробника; виконана у форматі USB-флешки.
  2. Сімейство MEGA довго залишалося основним у просунутих радіоаматорів, вони потужніші і мають більший, ніж у Tiny, обсяг пам'яті та кількість висновків. Це дозволяє реалізовувати складні проекти, проте сімейство дуже широке для короткого опису. Саме вони використовувалися в перших платах Arduino, актуальні плати оснащені в основному ATMEGA

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

AVR xMega або старші мікроконтролери

Розробники Atmel створили AVR xMega, як потужніший МК, при цьому належить до сімейства AVR. Це було потрібне для того, щоб полегшити працю розробника при переході до більш потужного сімейства.

У AVR xMega є два напрямки:

  • МК з напругою живлення 1.8-2.7 вольта, працюють із частотою до 12 мГц, їх входи стійкі до величини напруги 3.3 В;
  • МК із напругою живлення 2.7-3.6 вольта вже можуть працювати на більш високих частотах – до 32 мГц, а вхід стійкий до 5 вольтів.

Також варто відзначити: AVR xMega відмінно працюють у автономних системах, тому що мають низьке енергоспоживання. Для прикладу: при працюючих таймерах і годинниках реального часу RTC споживають 2 мА струму, і готові до роботи від переривання зовнішнього або переповнення таймера, а також за часом. Для виконання низки функцій застосовується безліч 16 розрядних таймерів.

Робота з USB портом

Почнемо з того, що для програмування мікроконтролера потрібно використовувати послідовний порт, проте на сучасних комп'ютерах COM портчасто відсутня. Як підключити мікроконтролер до комп'ютера? Якщо використовувати USB-UART-перетворювачі, ця проблема вирішується дуже легко. Найпростіший перетворювач ви можете зібрати на мікросхемах FT232 та CH340, а його схема представлена ​​нижче.

Такий перетворювач розміщено на платах Arduino UNOта Aduino Nano.

Деякі мікроконтролери AVR мають вбудований (апаратний) USB:

  • ATmega8U2;
  • ATmega16U2;
  • ATmega32U2.

Таке рішення знайшло застосування для реалізації зв'язку комп'ютера та Arduino mega2560 USB, в якій мікроконтролер «розуміє» тільки UART.

Призначення ЦАП та АЦП мікроконтролерів AVR

Цифроаналоговими перетворювачами (ЦАП) називають пристрої, що перетворюють сигнал одиниць і нулів (цифровий) аналоговий (плавно змінюється). Основні показники – розрядність і частота дискретизації. В АЦП перетворюється аналоговий сигнал на цифровий вигляд.

Порти з підтримкою АЦП потрібні для того, щоб підключити аналогові датчики до мікроконтролера, наприклад, резистивного типу.

ЦАП знайшов своє застосування у цифрових фільтрах, де вхідний сигнал проходить програмну обробку та виведення через ЦАП в аналоговому вигляді, нижче ви бачите наочні осцилограми. Нижній графік - вхідний сигнал, середній - цей сигнал, але оброблений аналоговим фільтром, а верхній - цифровий фільтр на мікроконтролері Tiny45. Фільтр необхідний формування необхідного діапазону частот сигналу, і навіть формування сигналу певної форми.


Приклад використання АЦП – це осцилограф на мікроконтролері. На жаль, частоти мобільних операторіві процесора ПК відстежити не вдасться, тоді як частоти близько 1 мГц – легко. Він стане чудовим помічником під час роботи з імпульсними блоками живлення.

А тут розташовано докладне відеоцього проекту, інструкції зі збирання та поради від автора:

Яку літературу читати про мікроконтролери AVR для початківців?

Для навчання молодих фахівців написані гори літератури, розгляньмо деякі з них:

  1. Євстіфєєв А.В. "Мікроконтролери AVR сімейства Mega". У книзі докладно розглянуто архітектуру мікроконтролера. Описано призначення всіх регістрів та таймерів, а також їх режими роботи. Вивчено роботу інтерфейсів зв'язку з зовнішнім світом SPI і т. д. Система команд розкрита для розуміння радіоаматору середнього рівня. Матеріал книги «Мікроконтролери avr сімейства mega: посібник користувача» допоможе вивчити структуру чіпа та призначення кожного з його вузлів, що, безумовно, важливо для будь-якого програміста мікроконтролерів.
  2. Бєлов А.В. – «Мікроконтролери AVR у радіоаматорській практиці». Як видно з назви, ця книга переважно присвячена практичному боціроботи із мікроконтролерами. Докладно розглянутий мікроконтролер ATiny2313, що став класичним, а також багато схем для складання.
  3. Хартов В.Я. «Мікроконтролери AVR. Практикум для початківців». Допоможе розібратися в AVR studio 4, а також стартовому наборі STK Ви навчитеся працювати з послідовними та паралельними інтерфейсами, такими як UART, I2C та SPI. Книга «Мікроконтролери AVR. Практикум для початківців написана викладачем МДТУ ім. Баумана і використовується там для вивчення цієї теми.

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

Серед радіоаматорів початкового рівня є лише один конкурент AVR – PIC мікроконтролери.

Розглянемо внутрішню архітектуру мікроконтролерів AVR, спробуємо розібратися з яких блоків складається кристал мікросхеми і які функції відповідає кожен блок, як вони взаємодіють між собою. Також будуть наведені корисні порівняння та приклади, цінні нотатки що допоможуть прояснити принципи роботи мікроконтролера з зовнішніми пристроямита периферією.

AVR мікроконтролер зсередини

Мікроконтролер зсередини - це комп'ютер зі своїм обчислювальним пристроєм, постійною та динамічною пам'яттю, портами вводу-виводу та різною периферією.

Мал. 1. Структура AVR мікроконтролера. Малюнок із сайту digikey.com

Всередині мікроконтролер містить:

  • Швидкодіючий процесор із RISC-архітектурою;
  • FLASH-пам'ять;
  • EEPROM-пам'ять;
  • Оперативну пам'ять RAM;
  • Порти введення/виводу;
  • Периферійні та інтерфейсні модулі.

RISC (Reduced Instruction Set Computer) – архітектура з ретельно підібраним набором команд, які зазвичай виконуються за один такт роботи процесора. Сучасні AVR мікроконтролери містять близько 130 команд, які дуже швидко виконуються і не вимагають великих витрат як у внутрішньо-процесорних ресурсах, так і споживаної потужності.

Структурна схема AVR мікроконтролера

Подивимося на малюнок нижче і розберемося з яких блоків складається мікроконтролер і як вони пов'язані між собою:

Мал. 2. Структурна схема AVR мікроконтролера.

Розглянемо коротко, що зображено на блоках у схемі:

  • JTAG Interface(Joint Test Action Group Interface) - інтерфейс внутрішньосхемного налагодження (4 дроти);
  • FLASH- пам'ять, що перепрограмується, для збереження програми;
  • Serial Peripheral Interface, SPI- Послідовний периферійний інтерфейс(3 дроти);
  • EEPROM(Electrically Erasable Programmable Read-Only Memory) - ПЗУ, що перепрограмується, енергонезалежна пам'ять;
  • CPU(ЦПУ) - центральний процесоруправління, серце мікроконтролера, 8-бітове мікропроцесорне ядро;
  • ALU(АЛУ) – арифметико-логічний пристрій, основа блоку CPU;
  • RAM(Random Access Memory) – оперативна пам'ять процесора;
  • Program Counter- Лічильник команд;
  • 32 General Purpose Registers- 32 регістри загального призначення;
  • Instruction Register- Регістр команд, інструкцій;
  • Instruction Decoder- Декодер команд;
  • OCD(On-Chip Debugger) – блок внутрішньої налагодження;
  • Analog Comparator- аналоговий компаратор, блок порівняння аналогових сигналів;
  • A/D Converter(Analog/Digital converter) - аналогово-цифровий перетворювач;
  • LCD Interface(Liquid-Crystal Display Interface) - інтерфейс для підключення рідкокристалічного дисплея, індикатора;
  • USART(Universal Asynchronous Receiver-Transmitter), UART – універсальний асинхронний приймач;
  • TWI(Two-Wire serial Interface) – послідовний інтерфейс з двопровідним підключенням;
  • Watchdog Timer- сторожовий чи контрольний таймер;
  • I/O Ports- порти вода/виводу;
  • Interrupts- блок управління та реакції на переривання;
  • Timers/Counters- модулі таймерів та лічильників.

Докладніше про внутрішні блоки мікроконтролера

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

JTAG Interface- важливий інтерфейсякий дозволяє проводити внутрішнє налагодження прямо в чіпі використовуючи блок внутрішнього налагодження ( OCD), без використання емуляторів. Можна сказати, що JTAG - це інтерфейс для "залізної" налагодження мікроконтролера. Через JTAG-адаптер мікросхема безпосередньо підключається до програмного комплексу для програмування та налагодження.

Використовуючи цей інтерфейс можна в покроковому режимі виконувати програму прямо в мікроконтролері, дивитися як змінюється вміст регістрів, як блимають індикатори та світлодіоди, що підключені до мікроконтролера після кожного кроку і т.п. Для підключення до JTAG інтерфейсу достатньо 4-х провідників: TDI (Test Data In), TDO (Test Data Out), TCK (Test Clock), TMS ( Test Mode Select).

JTAG інтерфейс доступний далеко не у всіх мікроконтролерах AVR, як правило, таким смачним доповненням володіють чіпи у яких 40 і більше лапок, а об'єм пам'яті доступний у розмірі не менше 16КБ. Для серйозних завдань – серйозні матеріали та інструменти.)

FLASH -пам'ять програм, енергонезалежне ПЗУ(постійний пристрій) що виконано по технології FLASH. Тут зберігається програма, яка виконуватиметься блоком ALU мікроконтролера. Флеш-пам'ять чіпа можна багаторазово перезаписувати, тим самим змінюючи чи доповнюючи програмний коддля виконання. Цей тип пам'яті може зберігати записані дані протягом 40 років, а кількість можливих циклів стирання/запису може досягати 10000.

Залежно від моделі мікроконтролера розмір FLASH-пам'яті може сягати 256 KБ.

Serial Peripheral Interface, SPI -послідовний периферійний інтерфейс (SPI), який часто застосовується для обміну даними між декількома мікроконтролерами зі швидкістю до декількох MГц (кілька мільйонів тактів на секунду).

Для обміну даними по SPI інтерфейсу між двома пристроями достатньо трьох провідників:

  1. MOSI (Master Output Slave Input) - Дані від ведучого до веденого;
  2. MISO (Master Input Slave Output) - Дані від веденого до ведучого;
  3. CLK (Clock) – тактовий сигнал.

Пристрої з SPI-інтерфейсом поділяються на два типи: ведучий (Master) та ведений (Slave). Якщо до інтерфейсу підключено кілька пристроїв, то для обміну даними між ними потрібні додаткові лінії зв'язку (провідники), щоб майстру можна було вибрати ведений пристрій і зробити запит до нього.

Також SPI інтерфейс використовується для внутрішньосхемного SPI програмування, за цим інтерфейсом до мікроконтролера підключається програматор.

EEPROM -енергонезалежна пам'ять даних, в якій дані зберігатимуться навіть при відключенні живлення мікроконтролера. У цій пам'яті можна зберігати налаштування програми, зібрані дані для статистики роботи пристрою та іншу корисну інформацію. Наприклад, зібравши маленьку метеостанцію на мікроконтролері, в EEPROM на кожен день можна зберігати дані про температуру повітря, тиск, силу вітру, а потім будь-якої миті вважати ці зібрані дані і провести статистичні дослідження.

Для EEPROM виділено окремий адресний простір, який відрізняється від адресного простору RAM та FLASH. Пам'ять EEPROM мікроконтролера - дуже цінний ресурс, оскільки її зазвичай дуже мало - від 0,5 до кількох кілобайт на чіп. Кількість перезаписів для цього типу пам'яті складає порядку 100000 що в 10 разів більше, ніж ресурс FLASH пам'яті.

ALU- Арифметико-логічний пристрій, який синхронно з тактовим сигналом та спираючись на стан лічильника команд ( Program Counter) вибирає з пам'яті програм ( FLASH) чергову команду та здійснює її виконання.

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

  • внутрішній RC-генератор, який можна калібрувати на необхідну частоту;
  • керамічний або кварцовий резонатор із конденсаторами (не у всіх моделей);
  • зовнішній тактовий сигнал.

Встановлення джерела тактових імпульсів здійснюється за допомогою FUSE-бітів.

FUSES(з англ.: плавлення, пробка, запобіжник) - спеціальні 4 байти (4 * 8 = 32 біт) даних, які налаштовують деякі глобальні параметри мікроконтролера в процесі прошивки. Після прошивки дані біти не можна змінити через внутрішню програму, що записана в МК.

Даною конфігурацією біт ми вказуємо мікроконтролеру ось що:

  • який використовувати генератор, що задає (зовнішній або внутрішній);
  • ділити частоту генератора на коефіцієнт чи ні;
  • використовувати ніжку скидання (RESET) для скидання або як додатковий пін введення-виведення;
  • кількість пам'яті для завантажувача;
  • інші установки залежно від використовуваного мікроконтролера.

CPU- це мозок мікроконтролера, який містить у собі АЛУ, регістри та оперативну пам'ять.

До ALU підключено блок із 32-х регістрів загального призначення ( 32 General Purpose Registers- Регістрова пам'ять), кожен з яких є 1 байт пам'яті (8 біт). Адресний простір регістрів загального призначення розміщено на початку оперативної пам'яті(RAM) але є її частиною. З даними що містяться в регістри можна проводити різноманітні арифметичні, логічні та бітові операції. Виконання таких операцій в оперативній пам'яті не доступне. p align="justify"> Для роботи з даними з RAM потрібно їх записати в регістри, зробити в регістрах потрібні операції, а потім записати результуючі дані з регістрів в пам'ять або в інші регістри для виконання якихось дій.

RAM- оперативна пам'ять. До неї можна записувати дані з регістрів , зчитувати дані в регістри, всі операції з даними та розрахунки проводять у регістрах. Для різних сімейств AVR чіпів розмір оперативної пам'яті обмежений:

  • ATxmega – до 32 KБ;
  • ATmega – 16 Кб;
  • ATtiny - 1 Кб.

Analog Comparator- даний блокпорівнює між собою два рівні сигналу та запам'ятовує результат порівняння у певному регістрі, після чого зданий результат можна проаналізувати та виконати необхідні дії. Для прикладу: можна використовувати цей блок як АЦП(Аналогово-Цифровий Перетворювач) і вимірювати напругу батареї живлення, якщо напруга батареї досягла низького рівня- зробити деякі дії, поблимати червоним світлодіодом тощо. Також даний модуль можна застосовувати для вимірювання тривалості аналогових сигналів, зчитування встановлених режимівроботи пристрою за допомогою потенціометра тощо.

A/D Converter- даний блок перетворює аналогове значення напруги на цифрове значення, з яким можна працювати в програмі і на основі якого можна виконувати певні дії. Як правило діапазон напруг, що подаються на вхід АЦП в AVR мікроконтролері, знаходиться в межах 0-5,5 Вольт. Для даного блоку дуже важливо, щоб мікроконтролер харчувався від стабільного та якісного джерела живлення. Багато AVR мікроконтролерів є спеціальний окремий висновок для подачі стабільного харчування на схему АЦП.

LCD Interface- інтерфейс для підключення рідкокристалічного індикатора чи дисплея. Застосовуються для відображення інформації, стану пристрою та його вузлів.

USART- Послідовний асинхронний інтерфейс для обміну даними з іншими пристроями. Є підтримка протоколу RS-232, завдяки чому мікроконтролер можна з'єднати для обміну даними з комп'ютером.

Для подібного зв'язку МК з COM-портом комп'ютера потрібен конвертер логічних рівнів напруги (+12В для COM - +5В для мікроконтролера), або ж просто RS232-TTL. Для подібних цілей використовують мікросхеми MAX232 та подібні до них.

Для підключення мікроконтролера до комп'ютера через USB, використовуючи UART-інтерфейс, можна використовувати спеціалізовану мікросхему FT232RL. Таким чином, на нових комп'ютерах і ноутбуках можна не маючи фізичного COM-порту прив'язати мікроконтролер використовуючи USB-порт через USART інтерфейс.

TWI- Інтерфейс для обміну даними по двопровідній шині. До такої шині даних можна підключити до 128 різних пристроїв, використовуючи дві лінії даних: тактовий сигнал (SCL) та сигнал даних (SDA). Інтерфейс TWI є аналогом базової версіїінтерфейсу I2C

На відміну від SPI інтерфейсу (один майстер і один/кілька ведених) інтерфейс TWI - двонаправлений, що дозволяє організувати між кількома мікроконтролерами невелику внутрішню мережу.

Watchdog Timerє системою контролю зависання пристрою з подальшим його перезапуском. Це як автоматична кнопка RESET для старого комп'ютера з глючною ОС.))

I/O Ports, GPIO- це набір блоків портів введення/виводу до пін яких можна підключити різноманітні датчики, що виконують пристрої та ланцюги. Кількість пінів вхід/вихід, що йдуть від портів мікроконтролера, може бути від 3 до 86.

Вихідні драйвери в портах AVR мікроконтролера дозволяють безпосередньо підключати навантаження зі споживаним струмом 20 мА (максимум 40 мА) при напрузі живлення 5В. Загальний струм навантаження для одного порту не повинен перевищувати значення в 80 мА (наприклад на 4 піна для одного з портів повісити по світлодіоду зі струмом 15-20 мА).

Interrupts- це блок який відповідає за реакцію та запуск на виконання певних функцій при надходженні сигналу на певні входи мікроконтролера або ж за якоюсь внутрішньою подією (наприклад, цоканням таймера). Під кожне переривання розробляється та записується в пам'ять окрема підпрограма.

Чому цей блок називається блоком переривань? - тому що при виникненні певної для переривання події виконання основної програми перериваєтьсяі відбувається пріоритетне виконання підпрограми, що написана для поточного переривання. По завершенню виконання підпрограми відбувається повернення до виконання основної програми з того моменту, де вона була перервана.

Timers/Counters- Набір таймерів та лічильників. Мікроконтролер, як правило, містить у собі від одного до чотирьох таймерів та лічильників. Вони можуть застосовуватись для підрахунку кількості зовнішніх подій, формування сигналів певної тривалості, виробляти запити на переривання тощо. Розрядність таймерів і лічильників становить - 8 і 16 біт (дивитися в датішіт для чіпа).

Висновок

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

У наступній статті спробуємо розібратися з маркуванням мікроконтролерів, поміркуємо про найбільш доступні і підходящі для початкового вивчення чіпи.

Проблеми, що виникають у розробника під час проектування п'ятого чи десятого контролера, тьмяніють і натомість проблем, із якими стикається новачок. Питанням отримання через мережа Internetмінімального набору програм та документації, достатнього для роботи з мікроконтролерами AVR, присвячений перший розділ книги. У Додатку 1 наведено рекомендації щодо пошуку необхідної інформації.

Основна мета другого розділу – навчання навичкам ефективної роботив середовищі розробки та налагодження програм для мікроконтролерів AVR Studio 4.12. У цьому розділі можливості AVR Studio розглядаються дуже детально. Освоєння AVR Studio проходить на конкретному прикладі повного циклурозроблення пристрою сигналізації. Тут же дано рекомендації щодо виявлення та виправлення помилок у програмі.
Приблизно однаково побудова інших розділів книги. У кожному з них пропонуються електричні схеми контролерів з урахуванням мікроконтролерів AVR, і навіть кілька різних програм, визначальних функціонування контролерів. Функціональні вузли мікроконтролерів описані в обсязі, достатньому для розуміння програм, повний їх опис можна знайти в технічному описімікроконтролерів.
Всі програми, що описуються в книзі, для мікроконтролерів налагоджувалися в AVR Studio версії 4.12. Програмне забезпечення для комп'ютера написано у Delphi.

Розділ 1. Що потрібно для роботи з мікроконтролером
1.1. Де знайти мінімальний набір програмного забезпечення та документації
для мікроконтролерів AVR
1.2. Про вибір програматора
1.3. Джерело живлення
1.4. додаткові відомості

Глава 2. Перший проект: контролер сигналізації
2.1. Постановка задачі
2.1.1. Пристрої, що підключаються до контролера, та параметри вхідних та вихідних сигналів
2.1.2. Логіка роботи контролера
2.1.3. Схема сигналізації
2.1.4. Словесний опис алгоритму роботи контролера
2.2. Починаємо роботу з AVR Studio
2.2.1. Створення першої програми на асемблері
2.2.2. Програма для контролера сигналізації з використанням переривань
2.3. Рекомендації

Глава 3. Робота із зовнішнім статичним ОЗУ
3.1. Інтерфейс мікроконтролера ATmega8515 для підключення зовнішньої пам'яті
3.2. Приклад схеми підключення зовнішньої ОЗП до мікроконтролера ATmega8515
3.2.1. Схема
3.2.2. Встановлення адреси
3.2.3. Про вибір мікросхеми регістру
3.2.4. Зчитування даних із зовнішньої пам'яті
3.2.5. Запис даних у зовнішню пам'ять
3.3. Програмний доступдо оперативної пам'яті
3.3.1. Проста програма звернення до оперативної пам'яті
3.3.2. Налагодження програми
3.3.3. Збереження вмісту ОЗП на диску
3.3.4. Запис даних у початкову область пам'яті даних
3.4. Звернення до буферів для зберігання даних як до осередків зовнішньої пам'яті
3.4.1. Електрична схемапідключення буферів
3.4.2. Програма обслуговування буферів
3.4.3. Налагодження програми обслуговування буферів
3.5. Підключення зовнішньої пам'яті 512 Кбайт до мікроконтролера ATmega8535
3.6. Схема підключення ОЗП до мікроконтролера ATmega8535
3.6.1. Опис схеми
3.6.2. Запис у комірку
3.6.3. Зчитування з комірки
3.7. Програма запису даних у ОЗП 512 Кбайт
3.7.1. Налагодження програми
3.7.2. Підпрограма встановлення адреси SetAddr
3.7.3. Підпрограма копіювання байта із внутрішньої ОЗУ DataSt
3.7.4. Підпрограма копіювання даних із зовнішньої пам'яті у внутрішню ОЗП Datalld

Розділ 4. Пристрій динамічної індикації на 7-сегментних світлодіодних індикаторах
4.1. Принцип динамічної індикації
4.2. Восьмирозрядний пристрій відображення цифрової інформації
4.2.1. Схема керування восьмирозрядним індикатором
4.2.2. Програма організації рядка, що біжить
4.2.3. Опис програми
4.3. Пристрій керування двома печами
4.3.1. Робота пристрою
4.3.2. Програма управління двома печами
4.3.3. Робота з пристроєм керування двома печами
4.3.4. Особливості роботи EEPROM мікроконтролера

Глава 5. Зв'язок мікроконтролера з комп'ютером
5.1. Схема контролера, що забезпечує зв'язок із COM-портом комп'ютера
5.2. Програмне забезпечення зв'язку каналом RS-232
5.2.1. Проста програма мікроконтролера для СОМ-порту
5.3. Програмне забезпечення для зв'язку за інтерфейсом RS-232
5.3.1. Протокол обміну
5.3.2. загальні положення
5.3.3. Структура повідомлення
5.3.4. Повідомлення, що передаються (команди комп'ютера та відповіді контролера)
5.3.5. Програма для мікроконтролера
5.3.6. Налагодження роботи USART BAVRStudio
5.4. Канал RS-232: програмне забезпеченнядля комп'ютера
5.4.1. Мінімальні відомості про Delphi
5.4.2. Програма обміну даними з мікроконтролером
5.4.3. Опис роботи програми
5.4.4. Збереження, запуск, використання програми
5.4.5. Програма з використанням функцій Windows API
5.4.6. Опис роботи програми

Розділ 6. Організація аналогових виходів для мікроконтролера
6.1. Перетворення коду на ширину імпульсу
6.1.1. ЦАП та генератор пилкоподібної напруги з ШІМ
6.1.2. Таймер Т1 мікроконтролера в режимі PWM
6.1.3. Програма для генератора ШІМ
6.2. Перетворення коду на амплітуду імпульсу
6.2.1. Генератор пилкоподібної напруги
6.2.2. Програма для генератора пилкоподібної напруги
6.2.3. Генератор синусоїдального сигналу
6.2.4. Програма для генератора синусоїдального сигналу
6.3. Визначення просторового модуля сигналу
6.3.1. Алгоритм програми
6.3.2. Лістинг програми обчислення модуля
6.4. Цифровий фільтр
6.4.1. Лістинг С-програми цифрового фільтра Filter.c

Додаток 1. Як отримати необхідні матеріаличерез мережу INTERNET
Додаток 2. Пристрої, що полегшують налагодження контролера у складі системи
Додаток 3. Програматор
Додаток 4. Робота програматора у Windows XP/2000/NT
Додаток 5. Fuse-байти: вибір режиму роботи мікроконтролера
Додаток 6. 8-бітові RISC-мікроконтролери фірми Atmel

Назва: Застосування мікроконтролерів AVR. Схеми, алгоритми, програми (3-тє вид.)
Автор: Баранов В.М.
Серія: Світова електроніка
Видавництво: Додека-XXI
Рік: 2010
Сторінок: 288
Мова російська
Формат: PDF
Якість відмінна
Розмір: 11 Mb
Завантажити: Баранов В.М. Застосування мікроконтролерів AVR. Схеми, алгоритми, програми (3-тє вид.)

Мікроконтролери (далі МК) міцно увійшли до нашого життя, на просторах інтернету можна зустріти дуже багато цікавих схем, які виконані на МК. Чого тільки не можна зібрати на МК: різні індикатори, вольтметри, прилади для дому (пристрої захисту, комутації, термометри…), металошукачі, різні іграшки, роботи тощо. можна перераховувати дуже довго. Першу схему на мікроконтролері я побачив років 5-6 тому у журналі радіо, і практично відразу ж перегорнув сторінку, подумавши про себе "все одно не зможу зібрати". Дійсно, в той час МК для мене були чимось дуже складним і незрозумілим пристроєм, я не уявляв, як вони працюють, як їх прошивати, і що робити з ними у випадку. неправильної прошивки. Але близько року тому, я вперше зібрав свою першу схему на МК, це була схема цифрового вольтметра на 7 сегментних індикаторах і мікроконтролері ATmega8. Так вийшло, що мікроконтролер я купив випадково, коли стояв у відділі радіодеталей, хлопець переді мною купував МК, і я теж вирішив купити, і спробувати зібрати щось. У своїх статтях я розповім вам про мікроконтролери AVR, навчу вас працювати з ними, розглянемо програми для прошивки, виготовимо простий та надійний програматор, розглянемо процес прошивки та найголовніше проблеми, які можуть виникнути і не тільки у новачків.

Основні параметри деяких мікроконтролерів сімейства AVR:

Мікроконтролер

Пам'ять FLASH

Пам'ять ОЗУ

Пам'ять EEPROM

Порти введення/виводу

U харчування

Додаткові параметри МК AVR mega:

Робоча температура: -55 ... +125 * С
Температура зберігання: -65 ... +150 * С
Напруга на виводі RESET щодо GND: max 13В
Максимальна напруга живлення: 6.0В
Максимальний струм лінії введення/виводу: 40мА
Максимальний струм по лінії живлення VCC та GND: 200мА

Розміщення висновків моделей ATmega 8X

Розміщення висновків моделей ATmega48x, 88x, 168x

Розміщення висновків у моделей ATmega8515x

Розміщення висновків у моделей ATmega8535x

Розміщення висновків у моделей ATmega16, 32x

Розміщення висновків у моделей ATtiny2313

Наприкінці статті прикріплено архів з датташитами на деякі мікроконтролери.

Настановні FUSE біти MK AVR

Запам'ятайте, запрограмований фьюз – це 0, не запрограмований – 1. Обережно варто ставитись до виставлення ф'юзів, помилково запрограмований ф'юз може заблокувати мікроконтролер. Якщо ви не впевнені, який саме фьюз потрібно запрограмувати, краще на перший раз прошийте МК без фьюзів.

Найпопулярнішими мікроконтролерами у радіоаматорів є ATmega8, потім йдуть ATmega48, 16, 32, ATtiny2313 та інші. Мікроконтролери продаються в TQFP корпусах та DIP, новачкам рекомендую купувати у DIP. Якщо купите TQFP, буде проблематичніше їх прошити, доведеться купити або паяти плату т.к. у них ніжки розташовуються дуже близько одна від одної. Раджу мікроконтролери в DIP корпусах, ставити на спеціальні панельки, це зручно і практично, не доведеться випоювати МК якщо закортить перепрошити, або використовувати його для іншої конструкції.

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

Для програмування використовується 6 висновків:
RESET- Вхід МК
VCC- Плюс харчування, 3-5В, залежить від МК
GND- Загальний провід, мінус харчування.
MOSI- Вхід МК (інформаційний сигнал у МК)
MISO- Вихід МК (інформаційний сигнал із МК)
SCK- Вхід МК (тактовий сигнал МК)

Іноді ще використовують виводи XTAL 1 і XTAL2, на ці висновки чіпляється кварц, якщо МК буде працювати від зовнішнього генератора, ATmega 64 і 128 виводу MOSI і MISO не застосовуються для ISP програмуваннязамість них виведення MOSI підключають до ніжки PE0, a MISO до PE1. При з'єднанні мікроконтролера з програматором, що з'єднують дроти повинні бути якомога коротшими, а кабель, що йде від програматора на порт LPT, так само не повинен бути занадто довгим.

У маркуванні мікроконтролера можуть бути незрозумілі літери з цифрами, наприклад Atmega 8L 16PU, 8 16AU, 8A PU та ін. Літера L означає, що МК працює від більш низької напруги, Чим МК без літери L, зазвичай це 2.7В. Цифри після дефісу або пробілу 16PU або 8AU говорять про внутрішню частоту генератора, який є в МК. Якщо фьюзи виставлені на роботу від зовнішнього кварцу, кварц повинен бути встановлений на частоту, що не перевищує максимальну за даташит, це 20МГц для ATmega48/88/168, і 16МГц для інших атмег.

CISC та RISC
За кількістю команд мікропроцесори поділяють на CISC (Complex Instruction Set Computer) та RISC (Reduced Instruction Set Computer). Термін CISC означає складну системукоманд, RISC – скорочену.
Ідея RISC – це ретельний підбір команд, які можна було б виконати за один такт. Т. о. спрощується апаратна реалізація процесора, скорочується кількість транзисторів, знижується споживана потужність і вартість.
Очевидно, що у випадку однієї CISC-команді повинні відповідати кілька RISC-команд. Однак, зазвичай виграш у швидкодії у RISC перекриває втрати. Так, найшвидша команда у 8051 виконується за 12 тактів. Навіть якщо для кожної CISC-інструкції потрібно виконати три RISC-інструкції, то в результаті RISC-архітектура буде в 4 рази продуктивнішою.
В даний час межа між RISC і CISC стирається. Наприклад, AVR мають 133 команди, що відповідає CISC, але більшість із них виконується за один такт, що є ознакою RISC. Тому основною ознакою RISC стало вважати виконання команд за один такт.


Серцем мікроконтролерів AVR є 8-бітове мікропроцесорне ядро ​​або центральний процесорний пристрій (ЦПУ), побудований на принципах RISC-архітектури. Основою цього блоку є арифметико-логічний пристрій (АЛУ). За системним тактовим сигналом із пам'яті програм відповідно до вмісту лічильника команд (Program Counter - PC) вибирається чергова команда і виконується АЛУ. Під час вибору команди з пам'яті програм відбувається виконання попередньої обраної команди, що дозволяє досягти швидкодії 1 MIPS на 1 МГц.
АЛУ підключено до регістрів загального призначення РОН (General Purpose Registers – GPR). Реєстрів загального призначення всього 32 вони мають байтовий формат, тобто кожен з них складається з восьми біт. РОН знаходяться на початку адресного простору оперативної пам'яті, але фізично не є її частиною. Тому до них можна звертатися двома способами (як до регістрів і як пам'яті). Таке рішення є особливістю AVR та підвищує ефективність роботи та продуктивність мікроконтролера.
Відмінність між регістрами і оперативної пам'яттю у тому, що з регістрами можна робити будь-які операції (арифметичні, логічні, бітові), а оперативну пам'ять можна лише записувати дані з регістрів.
Пам'ять

Фоннейманівська та гарвардська архітектура
У 1945 р. американський математик Джон фон Нейман сформулював основні засади роботи сучасних комп'ютерів. Їм було запропоновано архітектура, що отримала його ім'я (von Neumann architecture) і передбачає зберігання програм і даних у пам'яті (1946 р.). Сьогодні така архітектура найбільше характерна для мікропроцесорів, орієнтованих на використання в комп'ютерах. Прикладом можуть бути мікропроцесори сімейства х86.
Архітектура, що передбачає роздільне використання пам'яті програм та даних, зветься гарвардською (Harvard architecture). Гарвардська архітектура дозволяє центральному процесору працювати одночасно як із пам'яттю програм, так і з пам'яттю даних, що суттєво збільшує продуктивність.


У мікроконтролерах AVR реалізована Гарвардська архітектура, відповідно до якої розділені не лише адресні простори пам'яті програм та пам'яті даних, а й шини доступу до них. Кожна з областей пам'яті даних (оперативна пам'ять та EEPROM) також розташована у своєму адресному просторі.

Пам'ять програм ( Flash ROMабо Flash ПЗУ)

Пам'ять програм призначена для зберігання послідовності команд, що управляють функціонуванням мікроконтролера, і має 16 бітну організацію. Всі AVR мають Flash-пам'ять програм, яка може бути різного розміру- Від 1 до 256 КБайт. Її головна перевага в тому, що вона побудована на принципі електричної перепрограмованості, тобто допускає багаторазове стирання та запис інформації. Програма заноситься до Flash-пам'яті AVR як з допомогою звичайного програматора, і з допомогою SPI-интерфейса, зокрема безпосередньо на зібраній платі. Можливість внутрішньосхемного програмування (функція ISP) через комунікаційний інтерфейс SPI мають усі мікроконтролери AVR, крім Tiny11 і Tiny28.
Усі мікроконтролери сімейства Mega мають можливість самопрограмування, тобто самостійної зміни вмісту своєї пам'яті програм. Ця особливість дозволяє створювати на їх основі дуже гнучкі системи, алгоритм роботи яких змінюватиметься самим мікроконтролером залежно від будь-яких внутрішніх умов чи зовнішніх подій.
Гарантована кількість циклів перезапису Flash-пам'яті у мікроконтролерів AVR другого покоління становить щонайменше 10 тис. циклів при типовому значенні 100 тис. циклів. (В офіційній технічної документації Atmel Corp. вказується значення 10 тис. циклів.

Пам'ять даних

Пам'ять даних розділена на три частини: реєстрова пам'ять, оперативна пам'ять (ОЗУ - оперативний запам'ятовуючий пристрій або RAM) та енергонезалежна пам'ять (ЕСППЗУ або EEPROM).

Реєстрова пам'ять (РОН та РВВ)

Реєстрова пам'ять включає 32 регістри загального призначення (РВН або GPR), об'єднаних у файл, та службові регістри вводу/виводу (РВВ). І ті, й інші розташовані в адресному просторі ОЗП, але не є його частиною.
В області регістрів введення/виводу розташовані різні службові регістри (реєстри управління мікроконтролером, регістри стану тощо), а також регістри управління периферійними пристроями, що входять до складу мікроконтролера По суті, управління мікроконтролером полягає в управлінні цими регістрами.

Енергонезалежна пам'ять даних (EEPROM)

Для тривалого зберігання різної інформації, яка може змінюватися в процесі функціонування мікроконтролерної системи, використовується пам'ять EEPROM. Всі AVR мають блок енергонезалежної пам'яті даних EEPROM, що електрично перезаписується, від 64 Байт до 4 КБайт. Цей тип пам'яті, доступний програмі мікроконтролера безпосередньо в її виконання, зручний для зберігання проміжних даних, різних констант, коефіцієнтів, серійних номерів, ключів і т.п. EEPROM може бути завантажена ззовні як через інтерфейс SPI, так і за допомогою звичайного програматора. Число циклів стирання/запис – не менше 100 тис.

Оперативна пам'ять (ОЗУ чи RAM)

Внутрішня оперативна статична пам'ять Static RAM (SRAM) має байтовий формат і використовується для оперативного зберіганняданих.
Розмір оперативної пам'яті може змінюватись у різних чіпів від 64 Байт до 4 КБайт. Число циклів читання і запису в RAM не обмежена, але при відключенні напруги живлення вся інформація втрачається.
Для деяких мікроконтролерів можлива організація підключення зовнішнього статичного ОЗУобсягом до 64К.

Периферія

Периферія мікроконтролерів AVR включає: порти (від 3 до 48 ліній введення та виведення), підтримку зовнішніх переривань, таймери-лічильники, сторожовий таймер, аналогові компаратори, 10-розрядний 8-канальний АЦП, інтерфейси UART, JTAG і SPI, пристрій живлення, широтно-імпульсні модулятори.

Порти вводу/виводу (I/O)

Порти вводу/виводу AVR мають число незалежних ліній "вхід/вихід" від 3 до 53. Кожна лінія порту може бути запрограмована на вхід або вихід. Потужні вихідні драйвери забезпечують струмову здатність навантаження 20 мА на лінію порту (втікає струм) при максимальному значенні 40 мА, що дозволяє, наприклад, безпосередньо підключати до мікроконтролера світлодіоди і біполярні транзистори. Загальне струмове навантаження на всі лінії одного порту не повинно перевищувати 80 мА (всі значення наведені для напруги живлення 5 В).
Архітектурна особливістьпобудови портів введення/виводу у AVR полягає в тому, що для кожного фізичного виведення (піну) існує 3 біти контролю/управління, а не 2, як у поширених 8-розрядних мікроконтролерів (Intel, Microchip, Motorola і т.д.). Це дозволяє уникнути необхідності мати копію вмісту порту в пам'яті для безпеки та підвищує швидкість роботи мікроконтролера при роботі із зовнішніми пристроями, особливо в умовах зовнішніх електричних перешкод.

Переривання (INTERRUPTS)

Система переривань - одне з найважливіших елементів микроконтроллера. Усі мікроконтролери AVR мають багаторівневу систему переривань. Переривання припиняє нормальний хід програми для виконання пріоритетного завдання, яке визначається внутрішньою або зовнішньою подією.
Для кожної такої події розробляється окрема програма, яку називають підпрограмою обробки запиту на переривання (для стислості - підпрограмою переривання) і розміщується в пам'яті програм.
У разі події, що викликає переривання, мікроконтролер зберігає вміст лічильника команд, перериває виконання центральним процесором поточної програмита переходить до виконання підпрограми обробки переривання.
Після виконання підпрограми переривання здійснюється відновлення попередньо збереженого лічильника команд і процесор повертається до виконання перерваної програми.
Для кожної події можна встановити пріоритет. Поняття пріоритет означає, що підпрограма переривання, що виконується, може бути перервана іншою подією тільки за умови, що вона має більше високий пріоритетніж поточне. В іншому випадку центральний процесор перейде до обробки нової події лише після закінчення попередньої обробки.

Таймери/лічильники (TIMER/COUNTERS)

Мікроконтролери AVR мають у своєму складі від 1 до 4 таймерів/лічильників з розрядністю 8 або 16 біт, які можуть працювати і як таймери від внутрішнього джерела тактової частотиі як лічильники зовнішніх подій.
Їх можна використовувати для точного формування часових інтервалів, підрахунку імпульсів на висновках мікроконтролера, формування послідовності імпульсів, тактування приймача послідовного каналу зв'язку. У режимі ШІМ (PWM) таймер/лічильник може бути широтно-імпульсним модулятором і використовується для генерування сигналу з програмованими частотою і шпаруватістю. Таймери/лічильники здатні виробляти запити переривань, перемикаючи процесор їх обслуговування по подіям і звільняючи його від необхідності періодичного опитування стану таймерів. Оскільки основне застосування мікроконтролери знаходять у системах реального часу, таймери/лічильники є одним із найважливіших елементів.

Сторожовий таймер (WDT)

Сторожовий таймер ( WatchDog Timer) призначений для запобігання катастрофічним наслідкам від випадкових збоїв програми. Він має власний RC-генератор, що працює на частоті 1 МГц. Як і для основного внутрішнього RC-генератора значення 1 МГц є наближеним і залежить насамперед від величини напруги живлення мікроконтролера і від температури.
Ідея використання сторожового таймера гранично проста і полягає в регулярному його скиданні під управлінням програми або зовнішнього впливу до того, як закінчиться його витримка часу і не станеться скидання процесу. Якщо програма працює нормально, то команда скиду сторожового таймера повинна регулярно виконуватися, захищаючи поцесор від скидання. Якщо ж мікропроцесор випадково вийшов за межі програми (наприклад, від сильної перешкодипо ланцюгу живлення) або зациклився на якій-небудь ділянці програми, команда скиду сторожового таймера швидше за все не буде виконана протягом достатнього часу і відбудеться повний скид процесу, ініціалізує всі регістри і стан.

Аналоговий компаратор (AC)

Аналоговий компаратор (Analog Comparator) порівнює напруги двох висновках (пінах) микроконтроллера. Результатом порівняння буде логічне значення, яке можна прочитати з програми.
Вихід аналогового компаратора можна включити на переривання аналогового компаратора. Користувач може встановити спрацювання переривання по наростаючому або спадаючому фронті або перемикання.
Є у всіх сучасних AVR, крім Mega8515

Аналого-цифровий перетворювач (A/D CONVERTER)

Аналого-цифровий перетворювач (АЦП) служить для отримання числового значення напруги, поданого на його вхід. Цей результат зберігається в регістрі даних АЦП. Який із висновків (пінів) мікроконтролера буде входом АЦП, Визначається числом, занесеним у відповідний регістр.

Універсальний послідовний приймач (UART або USART)

Універсальний асинхронний або універсальний синхронно/асинхронний приймач (Universal Synchronous/Asynchronous Receiver and Transmitter - UART або USART) - зручний та простий послідовний інтерфейс для організації інформаційного каналуобміну мікроконтролера із зовнішнім світом. Здатний працювати в дуплексному режимі(одночасна передача та прийом даних). Він підтримує протокол стандарту RS-232, що забезпечує можливість організації зв'язку з персональним комп'ютером. (Для стикування МК та комп'ютера обов'язково знадобиться схема поєднання рівнів сигналів. Для цього існують спеціальні мікросхеми, наприклад MAX232.)

Послідовний периферійний інтерфейс SPI

Послідовний периферійний трипровідний інтерфейс SPI (Serial Peripheral Interface) призначений для організації обміну даними між двома пристроями. З його допомогою може здійснюватися обмін даними між мікроконтролером та різними пристроями, такими як цифрові потенціометри, ЦАП/АЦП, FLASH-ПЗУ та ін. За допомогою цього інтерфейсу зручно проводити обмін даними між декількома мікроконтролерами AVR.
Крім того, через інтерфейс SPI може здійснюватись програмування мікроконтролера.

Двопровідний послідовний інтерфейс TWI

Двопровідний послідовний інтерфейс TWI (Two-wire Serial Interface) є повним аналогомбазової версії інтерфейсу I2C (двопровідна двонаправлена ​​шина) фірми Philips. Цей інтерфейс дозволяє об'єднати до 128 різних пристроїв за допомогою двонаправленої шини, що складається з лінії тактового сигналу (SCL) і лінії даних (SDA).

Інтерфейс JTAG

Інтерфейс JTAG був розроблений групою провідних фахівців з проблем тестування електронних компонентів (Joint Test Action Group) і був зареєстрований як промисловий стандарту IEEE Std 1149.1-1990. Чотирипровідний інтерфейс JTAG використовується для тестування друкованих плат, внутрішньосхемне налагодження, програмування мікроконтролерів.
Багато мікроконтролерів сімейства Mega мають сумісний з IEEE Std 1149.1 інтерфейс JTAG або debugWIRE для вбудованого налагодження. Крім того, всі мікроконтролери Mega з флеш-пам'яттю ємністю 16 кбайт і більше можуть програмуватись через інтерфейс JTAG.

Тактовий генератор

Тактовий генератор виробляє імпульси для синхронізації всіх вузлів мікроконтролера. Внутрішній тактовий генератор AVR може запускатися від кількох джерел опорної частоти(Зовнішній генератор, зовнішній кварцовий резонатор, внутрішня або зовнішня RC-ланцюжок). Мінімальна допустима частота нічим не обмежена (аж до покрокового режиму). Максимальна робоча частота визначається конкретним типоммікроконтролера і вказується Atmel у його характеристиках, хоча практично будь-який AVR-мікроконтролер із заявленою робочою частотою, наприклад, в 10 МГц при кімнатній температурілегко може бути "розігнаний" до 12 МГц та вище.

Система реального часу (RTC)

RTC реалізована у всіх мікроконтролерах Mega та у двох кристалах "classic" - AT90(L)S8535. Таймер/лічильник RTC має окремий розподільник, який може бути програмним способомпідключений або до джерела основної тактової частоти, або до додаткового джерела асинхронного опорної частоти (кварцовий резонатор або зовнішній синхросигнал). З цією метою зарезервовані два висновки мікросхеми. Внутрішній осцилятор оптимізовано для роботи із зовнішнім "вартовим" кварцовим резонатором 32,768 кГц.

живлення

AVR функціонують при напругах живлення від 1,8 до 6,0 Вольт. Струм споживання в активному режимі залежить від величини напруги живлення та частоти, на якій працює мікроконтролер, і становить менше 1 мА для 500 кГц,5...6 мА для 5 МГц та 8...9 мА для частоти 12 МГц.
AVR можуть бути перекладені програмним шляхомв один із трьох режимів зниженого енергоспоживання.
Режим холостого ходу(IDLE).Припиняє роботу лише процесор і фіксується вміст пам'яті даних, а внутрішній генератор синхросигналів, таймери, система переривань і таймер продовжують функціонувати. Струм споживання не перевищує 2,5 мА на частоті 12 МГц.
Стоповий режим (POWER DOWN).Зберігається вміст реєстрового файлу, але зупиняється внутрішній генератор синхросигналів, і, отже, зупиняються всі функції, доки не надійде сигнал зовнішнього переривання або апаратного скидання. При включеному вартовому таймері струм споживання в цьому режимі становить близько 80 мкА, а при вимкненому - менше 1 мкА. (Всі наведені значення справедливі для напруги живлення 5).
Економічний режим (POWER SAVE)Продовжує працювати тільки генератор таймера, що забезпечує безпеку тимчасової бази. Всі інші функції вимкнено.

Скидання при зниженні напруги живлення (BOD)

Схема BOD (Brown-Out Detection$WinAVR = ($_GET["avr"]); if($WinAVR) include($WinAVR);?>) відстежує напругу джерела живлення. Якщо схема включена, то при зниженні живлення нижче за деяке значення вона переводить мікроконтролер у стан скидання. Коли напруга живлення знову збільшиться до граничного значення, запускається таймер затримки скидання. Після формування затримки внутрішній сигнал скидання знімається та відбувається запуск мікроконтролера.