[Дмитрий Забарило] Учимся программировать микроконтроллеры (2020)
Автор: Дмитрий Забарило
Название: Учимся программировать микроконтроллеры (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 от самых базовых понятий до вполне приличного уровня.
Программа онлайн курса
Программа курса предполагает изучения всех пунктов, приведенных ниже. Основной упор сделан на практическую сторону, поэтому будем решать практические задачи, применяемые в реальных устройствах.
По мере прохождения курса программа будет корректироваться с учетом пожеланий слушателей. Например, если кому-то из слушателей нужно будет решить конкретную практическую задачу по пройденному материалу, и всем остальным слушателем это будет интересно, то мы займемся решением данной задачи – разработаем и запрограммируем реальное полезное электронное устройство.
Программа курса включает следующие основные (на занятиях уроков будет больше) пункты:
- Общие понятия об МК и перспективы развития. Среда разработки и эмуляция работы микроконтроллера.
- Порты ввода-вывода микроконтроллеров. Настройка портов на вход и выход.
- Библиотека задержек. Формирование временных интервалов. Оператор if.
- Подключение кнопки. Дребезг контактов и борьба с ним. Оператор while.
- Логические и побитовые операции.
- Таймер-счетчики микроконтроллера. Настройка таймер-счетчиков. Переполнение и сравнение значений таймер-счетчиков. Таймер-счетчик в режиме захвата. (Формирование звука, изменение яркости света).
- Внешние прерывания микроконтроллеров. Прерывания от таймер-счетчиков.
- Общие сведения о семисегментных индикаторах. Подключение семисегментных индикаторов к микроконтроллерам. Семисегмментные индикаторы с общим анодом и общим катодом.
- Принцип работы динамической индикации. Подключение многоразрядной динамической индикации к микроконтроллерам. Массивы.
- Оператор switch case. Подключение динамической индикации к произвольным выводам микроконтроллера.
- Таймер и секундомер с применением динамической индикации.
- Широтно-импульсная модуляция микроконтроллеров AVR. Регулировка мощности с помощью ШИМ. Регулировка яркости освещения с помощью ШИМ. Формирование звука с помощью ШИМ микроконтроллера.
- Принцип работы и настройка аналогово-цифрового преобразователя МК.
- Цифровой вольтметр на МК.
- Создаем цифровой амперметр и вольтметр-амперметр на МК. Ваттметр на микроконтроллере.
- Подключение датчиков с аналоговым выходом к МК. (Датчик температуры, уровня воды, ультразвуковой датчик расстояния и т.п.).
- Принцип работы и настройки аналогового компаратора.
- Энергонезависимая память микроконтроллера. Настройка EEPROM МК. Счет, запоминание и отображение количества событий.
- Принцип работы и настройки интерфейса I2C (TWI) МК AVR. Подключение внешней EEPROM к микроконтроллеру по каналу I2C.
- Подключение датчика температуры и углубленная работа с даташитами устройств с интерфейсом I2C. Настройка, отладка и выявление ошибок при передаче данных по I2C. Подключение датчиков температуры и датчиков влажности.
- Подключение жидкокристаллических дисплеев к микроконтроллерам.
- Принцип работы и настройки интерфейса UART микроконтроллера AVR.
- Применение потоков данных при управление микроконтроллером по команде, поступающей из компьютера посредством интерфейса UART.
- Подключение различных датчиков к микроконтроллеру по интерфейсу UART.
- Интерфейс SPI. Принцип работы и настройки.
- Подключение датчиков по интерфейсу SPI.
- Подключение термопары посредством преобразователя MAX6675.
- Управление шаговыми двигателями и двигателями постоянного тока. Изучение и подключение драйверов.
После курсов
После изучения курса Вас ожидает следующее:
- Полюбите микроконтроллеры и больше не будете их бояться.
- Научитесь программировать микроконтроллеры любых типов серии AVR.
- Приобретете навыки уверенного программирования на языке C.
- Научитесь читать и понимать даташиты (техническую документацию) микроконтроллеров, датчиков, радиоэлектронных элементов.
- Сможете разрабатывать электронные устройства средней сложности на базе микроконтроллеров AVR.
- Сможете очень быстро и без труда освоить ARDUINO.
- Будет гораздо проще и интересней изучать микроконтроллеры других серий: STM, PIC и т.п.
- Приобретете новую профессию и даже сможете работать программистом микроконтроллеров.
Подробнее:
Скачать: