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

Автор: Дмитрий Забарило
Название: Учимся программировать микроконтроллеры (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 от самых базовых понятий до вполне приличного уровня.

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

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

Программа курса включает следующие основные (на занятиях уроков будет больше) пункты:
  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 и т.п.
  • Приобретете новую профессию и даже сможете работать программистом микроконтроллеров.

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

Скачать:
Авторизуйтесь, чтобы посмотреть скрытый контент.
 
Спасибо за материал!
Кстати, отсутствует видеозапись занятия 35, или ее и не должно быть?
 
И нет первого занятия
 
Последнее редактирование:
Ну что сказать, возможно для людей которые вообще ничего не знают такая подача материала и пойдет, но если вы хоть что то понимаете в программировании то смотреть не рекомендую. Огромное количество бесполезной информации, возможно автор что то понимает в электронике (не смотрел его курс по электронике, по этому надеюсь что он там хоть что то понимает), но с точки зрения программирования... я даже не знаю как это выразить
 
Ну что сказать, возможно для людей которые вообще ничего не знают такая подача материала и пойдет, но если вы хоть что то понимаете в программировании то смотреть не рекомендую. Огромное количество бесполезной информации, возможно автор что то понимает в электронике (не смотрел его курс по электронике, по этому надеюсь что он там хоть что то понимает), но с точки зрения программирования... я даже не знаю как это выразить
Что посоветуете вы? Пытаюсь найти что-то годное по программированию МК. Возможно вам попадался хороший материал по этой теме?
 

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

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

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

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

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

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

Последние темы автора

Алан-э-Дейл
Ответы
1
Просмотры
16K
VIT1103
VIT1103
Алан-э-Дейл
Ответы
2
Просмотры
7K
Captain Sparrow
Captain Sparrow
Алан-э-Дейл
Ответы
6
Просмотры
11K
Стью
Алан-э-Дейл
Ответы
8
Просмотры
3K
zplinter
zplinter

Похожие темы

Дева Мэриан
Ответы
20
Просмотры
4K
Дева Мэриан
Дева Мэриан
Дева Мэриан
Ответы
0
Просмотры
2K
shaban13official
shaban13official
Дева Мэриан
Ответы
0
Просмотры
987
Дева Мэриан
Дева Мэриан
Брат Тук
Ответы
0
Просмотры
2K
Брат Тук
Брат Тук
Дева Мэриан
Ответы
0
Просмотры
1K
Дева Мэриан
Дева Мэриан
Копостник
Ответы
3
Просмотры
8K
Els i El
Дева Мэриан
Ответы
0
Просмотры
2K
Дева Мэриан
Дева Мэриан
karina_hog
Ответы
2
Просмотры
2K
worldfoto
worldfoto
Брат Тук
Ответы
0
Просмотры
1K
Брат Тук
Брат Тук
Сверху Снизу