👨🏻‍💻 КОДИНГ [Дмитрий Забарило] Учимся программировать микроконтроллеры (2020)

Moderator

Модератор
29 Янв 2026
11,060
1
38
dmitrij-zabarilo-uchimsja-programmirovat-mikrokontrollery-2020.56216.jpg

[Дмитрий Забарило] Учимся программировать микроконтроллеры (2020)


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

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

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

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

Какой тип микроконтроллеров будем изучать
Выбирать в качестве обучения тип микроконтроллера следует с учетом спроса рынка. Если посмотреть вакансии, связанные с программированием микроконтроллеров, то можно обнаружить, что более чем в 90 % вакансий требуются программисты микроконтроллеров линеек AVR и STM. Микроконтроллеры STM являются довольно мощным «оружием», но сложны для понимания начинающим программистам, кроме того STM не выпускаются в DIP корпусах, что создает некоторое неудобство на начальных этапах изучения, — их без специальных переходников не установить на макетной плате.

По этим причинам мы будем изучать микроконтроллеры серии AVR, что позволит более глубоко понять структуру и механизм программирования микроконтроллеров. Кроме того, освоим МК AVR, Вам будет очень просто самостоятельно освоить ARDUINO. Более того, после изучения МК AVR ARDUINO покажется не такой уже интересной «штукой» и возникнет желание перейти к освоению МК STM.

Для обучающих целей за базовый МК мы примем ATmega8, но также будем тренироваться писать коды для МК других типов: ATmega48, ATmega16, ATmega8535, ATmega328, ATtiny2313, ATtiny13 и др.

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

На каком язык программирования будем писать программы
В основном микроконтроллеры программируют на таких языках: C, С++, Python, а также на Ассемблере. Знать ассемблер – это хорошо, но опыт показывает, что программирование микроконтроллеров для начинающих выглядит гораздо интересней и увлекательней на языке C. Поэтому в данном курсе особое внимание уделяется языку C, причем С излагается с учетом того, что у слушателей ранее не было никакого опыта программирования вовсе, то есть мы будем изучать C от самых базовых понятий до вполне приличного уровня.

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

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

Программа курса включает следующие основные (на занятиях уроков будет больше) пункты:



  1. Общие понятия об МК и перспективы развития. Среда разработки и эмуляция работы микроконтроллера.

  2. Порты ввода-вывода микроконтроллеров. Настройка портов на вход и выход.

  3. Библиотека задержек. Формирование временных интервалов. Оператор if.

  4. Подключение кнопки. Дребезг контактов и борьба с ним. Оператор while.

  5. Логические и побитовые операции.

  6. Таймер-счетчики микроконтроллера. Настройка таймер-счетчиков. Переполнение и сравнение значений таймер-счетчиков. Таймер-счетчик в режиме захвата. (Формирование звука, изменение яркости света).

  7. Внешние прерывания микроконтроллеров. Прерывания от таймер-счетчиков.

  8. Общие сведения о семисегментных индикаторах. Подключение семисегментных индикаторов к микроконтроллерам. Семисегмментные индикаторы с общим анодом и общим катодом.

  9. Принцип работы динамической индикации. Подключение многоразрядной динамической индикации к микроконтроллерам. Массивы.

  10. Оператор switch case. Подключение динамической индикации к произвольным выводам микроконтроллера.

  11. Таймер и секундомер с применением динамической индикации.

  12. Широтно-импульсная модуляция микроконтроллеров AVR. Регулировка мощности с помощью ШИМ. Регулировка яркости освещения с помощью ШИМ. Формирование звука с помощью ШИМ микроконтроллера.

  13. Принцип работы и настройка аналогово-цифрового преобразователя МК.

  14. Цифровой вольтметр на МК.

  15. Создаем цифровой амперметр и вольтметр-амперметр на МК. Ваттметр на микроконтроллере.

  16. Подключение датчиков с аналоговым выходом к МК. (Датчик температуры, уровня воды, ультразвуковой датчик расстояния и т.п.).

  17. Принцип работы и настройки аналогового компаратора.

  18. Энергонезависимая память микроконтроллера. Настройка EEPROM МК. Счет, запоминание и отображение количества событий.

  19. Принцип работы и настройки интерфейса I2C (TWI) МК AVR. Подключение внешней EEPROM к микроконтроллеру по каналу I2C.

  20. Подключение датчика температуры и углубленная работа с даташитами устройств с интерфейсом I2C. Настройка, отладка и выявление ошибок при передаче данных по I2C. Подключение датчиков температуры и датчиков влажности.

  21. Подключение жидкокристаллических дисплеев к микроконтроллерам.

  22. Принцип работы и настройки интерфейса UART микроконтроллера AVR.

  23. Применение потоков данных при управление микроконтроллером по команде, поступающей из компьютера посредством интерфейса UART.

  24. Подключение различных датчиков к микроконтроллеру по интерфейсу UART.

  25. Интерфейс SPI. Принцип работы и настройки.

  26. Подключение датчиков по интерфейсу SPI.

  27. Подключение термопары посредством преобразователя MAX6675.

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

После курсов
После изучения курса Вас ожидает следующее:



  • Полюбите микроконтроллеры и больше не будете их бояться.

  • Научитесь программировать микроконтроллеры любых типов серии AVR.

  • Приобретете навыки уверенного программирования на языке C.

  • Научитесь читать и понимать даташиты (техническую документацию) микроконтроллеров, датчиков, радиоэлектронных элементов.

  • Сможете разрабатывать электронные устройства средней сложности на базе микроконтроллеров AVR.

  • Сможете очень быстро и без труда освоить ARDUINO.

  • Будет гораздо проще и интересней изучать микроконтроллеры других серий: STM, PIC и т.п.

  • Приобретете новую профессию и даже сможете работать программистом микроконтроллеров.

Авторизуйтесь, чтобы посмотреть скрытый контент.

 

Создайте учетную запись или войдите, чтобы комментировать или скачивать материалы!

У вас должна быть учетная запись, чтобы оставлять комментарии

Зарегистрироваться

Создайте учетную запись. Это просто!

Авторизоваться

У вас уже есть аккаунт? Войдите здесь.

Похожие темы