Python [ Дмитрий Забарило] - Программирование микроконтроллеров AVR для начинающих (repack #6184979) (ElectronicsClub) (2021)

  • Автор темы Amerikano
  • Дата начала
Amerikano
Amerikano
Модератор
Сообщения
19,528
Реакции
371,066
Автор: Дмитрий Забарило
Название: Программирование микроконтроллеров AVR для начинающих (repack #6184979)

1651753199441 png



Сегодня практически все электронные устройства содержат микроконтроллеры или микропроцессоры: начиная от простейшей музыкальной открытки и до сложнейших космических кораблей, не говоря уже об охвативших весь мир гаджетах. Поэтому современный радиолюбитель или электронщик очень отличается от тех, которые были 30 лет назад. Сейчас умение программировать микроконтроллеры – это необходимый навык любого, даже начинающего электронщика.
Программист микроконтроллеров – это не только современная специальность, но и специальность будущего, поскольку в скором времени все системы и устройства будут роботизированы, поэтому резко возрастет спрос на робототехников. А толковый робототехник должен хорошо знать не только механику, но, в первую очередь, и программирование микроконтроллеров.
Для кого предназначен курс
Данный курс рассчитан главным образом для начинающих, поэтому подробно рассмотрено назначение каждого символа в коде, предполагая что ранее слушатель не имел никакого опыта в программировании; изучаем “даташиты”, подробно рассматриваем периферию: таймер-счетчик, прерывания, АЦП, ШИМ, интерфейсы и т.п. Выполняем анализ ошибок, наиболее часто допускаемых начинающими, рассматриваем альтернативные варианты кода и многое другое.
Какой тип микроконтроллеров будем изучать
Изучать программирование мы будем на примере микроконтроллеров AVR. Для обучающих целей за базовый МК принят ATmega8. Плюс несколько последних занятий будут посвящены микроконтроллерам STM32.
Изучать в качестве первого микроконтроллера STM32 по личному и опыту других программистов я не рекомендую. Проще и продуктивней начинать изучение с 8-ми битных МК, например таких как ATmega8, ATmega48, ATmega16, ATmega8535, ATmega328, ATtiny2313, ATtiny13 и т.п. Кроме того, работу МК линейки AVR можно эмулировать в программе Proteus. Благодаря этому можно изучать работу и выполнять отладку микроконтроллеров не имея в наличии самих МК, что очень удобно как в обучающих, так и в практических целях.
На каком язык программирования будем писать программы
В основном микроконтроллеры программируют на таких языках: C, С++, Python, а также на Ассемблере. Знать ассемблер – это хорошо, но опыт показывает, что программирование микроконтроллеров для начинающих выглядит гораздо интересней и увлекательней на языке C. Поэтому в данном курсе особое внимание уделяется языку C, причем С излагается с учетом того, что у слушателей ранее не было никакого опыта программирования вовсе, то есть мы будем изучать C от самых базовых понятий до вполне приличного уровня.
Можно обойтись без деталей, так как есть возможность имитировать работу электрических схем и микроконтроллера в программной среде Proteus, поэтому не стоит откладывать начало обучения по причине отсутствия деталей.


Программа курса:
1.Область применение микроконтроллеров (МК). Основная периферия МК. Отличие микроконтроллера от микропроцессора. Порти ввода-вывода микроконтроллера. Настройка портов на выход. Подключение светодиодов. Функция main. Оператор while. Директива препроцессора #include.
2.Библиотека задержек. Директива препроцессора #define. Прошивка микроконтроллера.
3.Подключение кнопок к портам микроконтроллера. Настройка портов МК на выход. Подтягивающий и стягивающий резисторы. Высокое входное сопротивление. Проверка состояния пинов порта микроконтроллера.
4.Семисегментные индикаторы. Подключение одноразрядных семисегментных индикаторов с общим катодом и общим анодом.
5.Массивы. Оператор for. Типы данных int, char.
6.Логические операции. Побитовые операции. Установка, сброс, переключение отдельных битов микроконтроллера.
7.Проверка отдельных битов микроконтроллера. Динамическая индикация.
8.Подключение динамической индикации посредством транзисторов. Общие понятия о таймер-счетчиках. Настройки нулевого таймер-счетчика. Регистр контроля и счетный регистр таймер-счетчика.
9.Настройки первого и второго таймер-счетчиков. Отличие 8-ми битного и 16-ти битного таймер-счетчиков. Форматы записи чисел в таймер-счетчики.
10.Дребезг контактов. Борьба с дребезгом. Настройка работы кнопки в разных режимах. Общие понятия о прерываниях. Внешние прерывания.
11.Прерывание от таймер-счетчиков. Прерывание при переполнении таймер-счетчика. Динамическая индикация по прерыванию таймер-счетчика.
12.Прерывание таймер-счетчика при совпадении. Формирование точного интервала времени. Таймер. Секундомер.
13.Настройка фьюзов. Подключение внешнего кварцевого резонатора к микроконтроллеру.
14.Оператор switch case. Динамическая индикация с применением switch case.
15.Сдвиговый регистр 74HC595. Принцип работы. Применение. Подключение к микроконтроллеру. Расширение портов микроконтроллера. Последовательное соединение сдвиговых регистров. Статическая и динамическая индикация с применением сдвиговых регистров.
16.Разработка частотомера и тахометра.
17.Аналогово-цифровой преобразователь (АЦП). Принцип работы. Основные параметры. Настройки. Источники опорного напряжения. Расчет схемы подключения.
18.Настройки работы АЦП по прерыванию. Сборка и настройка вольтметра. Типы данных с плавающей запятой. Явное и неявное преобразование типов данных.
19.Подключение аналогового датчика температуры TMP36 (LM35). Измерения с нескольких каналов АЦП. Подключение кнопок к выводам АЦП.
20.Аналоговый компаратор. Принцип действия. Основные параметры. Настройки. Применение. Режимы работы аналогового компаратора.
21.Энергонезависимая память EEPROM. Основные параметры. Настройки. Организация памяти, запись и чтение данных из EEPROM.
22.Функции. Типы функций. Создание и подключение подключаемых файлов .h и .c. Определение наибольшего и среднего числа.
23.Подключение жидкокристаллического дисплея (ЖК) LCD. Настройки. Различие между строками и символами. Код ASCII. Отображение символов и строк на ЖК.
24.Вывод переменной на ЖК дисплей. Применение функций itoa, dtostrf, sprintf. Вольтметр на ЖК дисплее. Настройки среды для работы с плавающей запятой для функции sprintf.
25.Матричная клавиатура. Принцип работы. Подключение. Работа с двухмерными массивами данных.
26.Широтно-импульсная модуляция (ШИМ). Принцип работы. Основные параметры. Настройки. Быстродействующая ШИМ. ШИМ с точной фазой. ШИМ с точной фазой и частотой.
27.Регулирование ШИМ посредством кнопок и АЦП. Энкодер. Принцип работы. Подключение.
28.Шаговый двигатель (ШД). Принцип работы и управления униполярным и биполярным ШД. Управление униполярным ШД посредством драйвера ULN2003.
29.Управление биполярным, униполярным ШД и коллекторным двигателям посредством драйверов LN298N, L293D, DVR8834.
30.Интерфейс UART. Принцип работы. Настройки. Передача данных.
31.Прием данных по интерфейсу UART.
32.Применение функций для работы с UART. Передача данных с АЦП по UART.
33.Аппаратная реализация интерфейса 1-wire. Подключение датчика температуры DS18B20.
34.Интерфейс 1-wire. Обмен данными с датчиком температуры DS18B20.
35.Интерфейс TWI (I2C). Принцип работы. Настройки. Подключение EEPROM 24C256.
36.Интерфейс TWI (I2C). Подключение датчика температуры и влажности SHT3x.
37.OLED дисплей. Основные параметры и настройки. Подключение OLED посредством TWI (I2C).
38.Интерфейс TWI (I2C). Подключение расширителя портов PCF8574. Подключение LCD к МК посредством PCF857.
39.Интерфейс SPI. Принцип работы. Настройки. Обмен данными между двумя МК.
40.Интерфейс SPI. Подключение преобразователя MAX6675 и термопары.

Подробнее:

Скачать:

 
P
poiuyt180
Премиум
Сообщения
3
Реакции
1
Есть ли последняя версия данного курса? То есть оффлайн-версия. Здесь выложена онлайн-версия (более старая) - записи вебинаров.
 
Amerikano
Amerikano
Модератор
Сообщения
19,528
Реакции
371,066
Есть ли последняя версия данного курса? То есть оффлайн-версия. Здесь выложена онлайн-версия (более старая) - записи вебинаров.
 
B
bahi4
Пользователь
Сообщения
1
Реакции
0
Есть ли последняя версия данного курса? То есть оффлайн-версия. Здесь выложена онлайн-версия (более старая) - записи вебинаров.
Т.е 2020 года? программа курса указанная в шапке не соответствует действительности?
 
Flesh
Flesh
Модератор
Сообщения
75,465
Реакции
636,846
Т.е 2020 года? программа курса указанная в шапке не соответствует действительности?
посмотрел,на других ресурсах точно такое же название и содержимое. так что кто-то из нас ошибается,но так как я не разбираюсь в самом курсе.чтобы посмотреть и сравнить версии - то пусть будет старое. всё равно
 
Сверху