Вы хотите освоить современную область электроники и научиться программировать микроконтроллеры?

И не просто научиться программировать, а научиться ПОНИМАТЬ как микроконтроллеры работают НА УРОВНЕ МАШИННЫХ КОДОВ И ОТДЕЛЬНЫХ ЭЛЕКТРИЧЕСКИХ СИГНАЛОВ


Здесь Есть Все, что бы Самому Начать Разрабатывать Собственные Электронные Устройства на Микроконтроллерах



 

ПPОГPАММИPОВАНИЕ MИКPОКOHТPОЛЛЕРОВ ДЛЯ НАЧИНАЮЩИХ





Здравствуйте!

Меня зовут Ceливaнoв Мaкcим. И если Вас интересует электроника, программирование и микроконтроллеры, и Вы хотите пополнить свой багаж знаний в этих областях, то, Вы попали на нужную страницу!

Вот уже почти 7 лет, я занимаюсь разработкой электронных устройств на микроконтроллерах. Сначала это было просто хобби, продолжение моего увлечения электроникой еще с детства. Разрабатывал и собирал всю электронику самостоятельно: от идеи до рабочей платы. Никогда не нравилось повторять чужие схемы из журналов или из интернета. Всегда доставляло удовольствие проектирование собственных устройств, с теми функциями, которые нужны мне, а не которые навязывает автор статьи. Все устройства собирал в основном для себя, иногда для знакомых и родственников. А c 2008 года я начал выполнять и индивидуальные заказы. И с тех пор это еще и дополнительный источник дохода.

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

А сегодня я готов поделиться всем своим личным опытом создания и отладки устройств на микроконтроллерах. И я с гордостью хочу представить Вам мой авторский обучающий видеокурс по программированию микроконтроллеров!




Для кого этот курс?

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

Курс замечательно подойдет и тем, кто только недавно предпринял первые попытки изучить программирование микроконтроллеров, но уже готов все бросить от того, что у него ничего не работает или работает, но не так как ему нужно (знакомо?!).

Курс будет полезен и тем, кто уже собирает простенькие (а может и не очень) схемы на микроконтроллерах, но плохо понимает суть того как микроконтроллер работает и как взаимодействует с внешними устройствами.




Что Вы узнаете, изучив мой курс?

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

Вы узнаете, как микроконтроллеры взаимодействуют с различными периферийными устройствами и электронными компонентами.
Научитесь грамотно создавать принципиальные схемы и грамотно проектировать печатные платы для своих устройств.

Познакомитесь с популярными протоколами обмена: RS232, UART, I2C, SPI, 1-WIRE, Манчестерский код, кодирование без возврата к нулю.
И обращаю внимание, что почти все протоколы будут реализованы программно, то есть в программе будет прописано, в какой момент времени какой уровень сигнала необходимо установить на выводах микроконтроллера, что бы передать либо логическую единицу, либо логический ноль.
Благодаря программной реализации протоколов, у Вас появиться очень четкое понимание того, как организованы протоколы обмена данными на самом низком уровне и по какой логике происходит построение протоколов обмена!
Более того, Вам вполне по силам будет создать свой собственный протокол обмена!

Вы научитесь использовать различные средства отладки и программирования: от программы виртуального моделирования электронных схем до логического анализатора. Без этих средств сегодня не обходиться ни один серьезный разработчик.

Для того, что бы лучше понимать работу микроконтроллера, я научу Вас программировать на самом низкоуровневом языке – на Assembler'е . Почему на ассемблере, а не на Си? Потому что Ассемблер, в отличие от более высокоуровнего языка Си, дает намного более глубокое понимание работы микроконтроллера. Изучение языка ассемблера дает программисту одно очень важное преимущество - он глубже начинает понимать принцип работы программ, написанных на любых других языках.
На этом языке мы вместе напишем множество программ, и разберем работу программных библиотек для работы с различными микросхемами и модулями, а так же изучим популярные протоколы обмена.
И обращаю ваше внимание, что все программы и программные библиотеки, которые будут встречаться в этом курсе, написаны мной лично. Подобных библиотек Вы не найдете ни в интернете, ни в книгах!

Но самое главное, что Вы приобретете - это бесценный практический опыт! Потому что все что мы будем изучать, мы ТУТ ЖЕ ПОСЛЕ ИЗУЧЕНИЯ, БУДЕМ ПРОДЕЛЫВАТЬ НА ПРАКТИКЕ!







А какие преимущества у моего обучающего курса?

Во первых, благодаря видео урокам, Вы будете отслеживать каждое мое действие, которое я буду сопровождать подробными комментариями, и Вам не составит труда все проделанное повторить уже самостоятельно. Эффективность обучения по видео урокам НА ПОРЯДОК превышает все другие формы обучения! Как будто, рядом с Вами сидит преподаватель и разъясняет, почему он делает все так, а не иначе.

Во-вторых, во всех примерах я использую только современные, но легкодоступные электронные компоненты и модули. Так что, возможно, Вы откроете для себя новые функциональные компоненты!

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

А в-четвертых, такого объема информации на одном диске вы не найдете больше нигде. Здесь есть почти ВСЕ, что бы успешно не только начать осваивать программирование микроконтроллеров, но и значительно дальше других продвинуться в понимании того, как работает вся современная электроника.




Еще никогда изучение такой сложной темы, как микроконтроллеры не было таким простым!

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

Но,

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




Что значит уровня «средней квалификации»?

Вот несколько примеров тех устройств, которые Вам вполне будет по силам спроектировать самостоятельно, после изучения курса:

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

Охранное устройство, собирающее информацию с различных датчиков и контролирующее охраняемый периметр. Снятие и постановка на охрану осуществляется либо при помощи электронных ключей-таблеток, либо дистанционно при помощи пульта управления.

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

И еще раз повторюсь: Самое главное - это не то, что Вы сможете собрать подобную электронику на микроконтроллерах, а то, что Вы получите ОЧЕНЬ ГЛУБОКОЕ и ЧЁТКОЕ понимание того, как все это работает!

Благодаря глубокому пониманию работы микроконтроллеров и различных протоколов обмена данными Вы на порядок лучше будете разбираться в современной электронике, чем те, кто программирует на высокоуровневых языках типа Си, Pascal или вообще использует arduino.





А какие именно темы будут рассмотрены в курсе?

Всего на диске записано 108 видеоуроков общей продолжительностью около 55 часов!

Все темы я условно разбил на семь разделов. Вот краткое содержание этих разделов и скриншоты из некоторых видеоуроков:


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



 
Краткое ознакомление с архитектурой и командами микроконтроллеров AVR. Разбор файла описаний микроконтроллера. Написание первой программы. Трансляция программы и получение файла прошивки.
Разбор содержимого файла прошивки и коррекция работы программы при помощи редактирования отдельных байтов hex-файла.
Подробный разбор среды программирования AVR Studio и среды отладки AVR Simulator. Обзор программы PROTEUS.



 
Подробное изучение архитектуры и команд микроконтроллеров AVR. Регистр статуса. Стековая память. Понятие «срыва стека» и программные ошибки, приводящие к этому явлению. Прерывания микроконтроллера. Внешние и внутренние прерывания. Механизм сохранения адреса возврата в стековой памяти.
Представление отрицательных двоичных чисел. Понятие дополнения до 2, дополнения до 1, дополнительного кода и обратного кода.
Управление портами ввода-вывода. Считывание и запись байтов из памяти программ и памяти данных. Выражения языка ассемблера, макроопределения ассемблера и подключение библиотечных файлов.



 
Байты конфигурационных ячеек. Выбор и настройка источника тактирования микроконтроллера. Конфигурирование FUSE-бит микроконтроллера на примере нескольких программаторов.
Защита памяти программ и EEPROM памяти от считывания и перезаписи.
Подключение внешних электронных компонентов к микроконтроллеру. Обзор наиболее интересных электронных компонентов и модулей. Элементы внешней «обвязки» микроконтроллера и их влияние на стабильность работы.
Основные правила трассировки печатных плат.



 
Работа с EEPROM памятью микроконтроллера. Основные правила по предотвращению потери данных в EEPROM-памяти.
Таймеры микроконтроллера. Работа таймера в режиме сброса по переполнению и сброса по совпадению. Прерывания таймера по совпадению и переполнению. Режим широтно-импульсной модуляции. Режим захвата.
Понятие сторожевого таймера. Режимы работы сторожевого таймера. Модуль аналогового компаратора. Режимы работы аналогового компаратора и настройка прерываний.
Понятие динамического режима индикации. Основные параметры динамической индикации и тонкости аппаратной реализации.



 
Матричный способ опроса группы механических контактов.
Модуль USART микроконтроллера. Конфигурирование модуля на режим асинхронной передачи данных. Связь микроконтроллера и компьютера. Обмен данными через USB.
Виды энкодеров. Подключение инкрементного энкодера к микроконтроллеру.
Жидкокристаллический символьный индикатор на базе контроллера HD44780. Подключение индикатора к микроконтроллеру. Программная библиотека для управления индикатором.
Прием данных, передаваемых по инфракрасному каналу связи. Виды протоколов передачи. Универсальный алгоритм дешифрации принятых посылок.



 
Шина SPI. Теория передачи данных по SPI в четырех режимах работы. Программная эмуляция шины. Flash-карты памяти формата SD и SDHC. Подключение карт памяти к микроконтроллеру. Чтение и запись данных в посекторном режиме.
Шина I2C. Теория обмена данными по шине. Программная эмуляция протокола I2C. Микросхема часов реального времени. Считывание и запись байт данных. Вывод считанных данных на индикатор.
Шина 1-WIRE. Теория обмена данными по шине 1-WIRE. Программная эмуляция работы шины. Микросхемы класса iButton. Считывание ID кода микросхем и вывод на индикатор. Микросхема температурного датчика. Команды транспортного и сетевого уровней. Запуск процесса преобразования температуры, считывание и преобразование байт данных. Программный подсчет контрольной суммы CRC-8. Понятие полиномного генератора. Программная реализация полиномного генератора.






А вот так выглядит более полный список видеоуроков

В таблице приведены названия видеоуроков, продолжительность в минутах и краткое описание:

Номер Название Краткое описание

Продол-
житель-
ность
видео

1 Что такое микроконтроллер? Понятие микропроцессора, микроконтроллера, контроллера, микрокомпьютера, микро-ЭВМ. История микроконтроллеров. 42 мин.
2 Выбор микроконтроллера Выбор наиболее подходящего микроконтроллера для начинающих. 22 мин.
3 Языки программирования Основные этапы эволюции языков программирования от машинных кодов и ассемблера до языков высокого уровня. 44 мин.
4 Необходимые инструменты и литература Обзор необходимых инструментов и литературы для изучения микроконтроллеров. 40 мин.
5 Начальные сведения о микроконтроллере Краткие сведения о выбранном для изучения микроконтроллере. 38 мин.
6 Первый проект Краткое описание основ работы в программе AVR Studio, описание основ языка ассемблера и краткие сведения об архитектуре микроконтроллеров AVR. Написание первой программы. 50 мин.
7 Трансляция программы Трансляция программы и получение файла прошивки для микроконтроллера. Краткий обзор содержимого файла прошивки. Разбор файла описаний и листинга программы. Размещение программы в памяти микроконтроллера. 31 мин.
8 Краткий обзор программаторов Последовательные и параллельные программаторы. Внутрисхемное программирование. 9 мин.
9 Простой и надежный программатор Описание простого и надежного программатора, который можно собрать «на коленках» за 10 минут. Рекомендации по сборке и использованию. Подробный разбор программы для работы с программатором. 55 мин.
10 Простой программатор, работающий через USB Описание схемы программатора и управляющей программы AVR Dude. 51 мин.
11 Обзор других популярных программаторов Обзор более сложных и более функциональных программаторов. Изучение встроенной программы программатора в среде AVR Studio. 39 мин.
12 Изменение первой программы Внесение изменений в текст первой программы. 24 мин.
13 Программирование в машинных кодах Подробный разбор файлов проекта и разбор содержимого файла прошивки. Редактирование кодов команд в файле прошивки. 52 мин.
14 Среда разработки AVR Studio
14.1 AVRStudio Детальный обзор программы AVRStudio 31 мин.
14.2 AVRSimulator Изучение режима отладки программы 63 мин.
15 PROTEUS Основы работы в программе ISIS PROTEUS 61 мин.
16 Чтение из портов микроконтроллера Считывание данных из портов ввода-вывода 54 мин.
17 Новые команды ассемблера Изучение команд ассемблера. nop, ser, clr, dec, inc, neg, com, andi, and, ori, or, sbr, cbr, sbi, cbi и других 57 мин.
18 Выражения языка ассемблера Подробный разбор всех выражений языка ассемблера, которые значительно упростят и облегчат написание программ 35 мин.
19 Регистр статуса Изучение флагов регистра статуса 28 мин.
20 Команды операций сдвига Команды сдвига вправо, влево и сдвиги через бит переноса 14 мин.
21 Парные регистры 16-разрядные регистры X, Y, Z и R24,R25. Команды для работы с регистрами 22 мин.
22 Команды сравнения Сравнение 8- и 16-битных констант 11 мин.
23 Команды передачи управления по условию Работа с командами ветвления программы, в зависимости от условий 14 мин.
24 Команды безусловного перехода Команды безусловного перехода на адреса в программной памяти 34 мин.
25 Команды условного перехода Команды перехода в зависимости от условий 24 мин.
26 Теория отрицательных двоичных чисел Представление отрицательных чисел в двоичной системе счисления. Понятие прямого кода, инверсного кода, дополнительного кода, дополнение до единицы, дополнение до двух 32 мин.
27 Практика использования отрицательных чисел Примеры перевода чисел из прямого кода в обратный и дополнительный.
Сложение и вычитание отрицательных чисел
26 мин.
28 Запись и чтение памяти данных Организация памяти данных. Команды для чтения и записи байт памяти данных.
Обращение к РОН и РВВ как к ячейкам памяти данных.
45 мин.
29 Стековая память и подпрограммы Понятие стека, инициализация и работа со стековой памятью. Регистр указателя стека 47 мин.
30 Ошибки при работе со стековой памятью Использование стека без инициализации, нестандартное использование стековой памяти.
Понятие срыва стека
43 мин.
31 Чтение байт из памяти программ Размещение байт в программной памяти. Альтернативная адресация.
Работа команд для чтения байт памяти программ.
52 мин.
32 Макроопределения ассемблера. Подключение внешних файлов. Команды условного ассемблирования Макросы языка ассемблера, подключение библиотечных файлов, задание условий ассемблирования программы 51 мин.
33 FUSE биты и другие специальные ячейки
33.1 Введение Основные сведения о Fuse-битах, ячейках защиты программной памяти, ячейках идентификатора и калибровочных ячейках 20 мин.
33.2 Настройка режима тактирования Выбор режима тактирования при помощи конфигурации FUSE-бит 74 мин.
33.3 LOCK-биты Защита памяти программ и EEPROM памяти от перезаписи и считывания 17 мин.
34 Подключение электронных компонентов и «обвязки» микроконтроллера Основные сведения по подключению внешних электронных компонентов и компонентов "обвязки" микроконтроллера 65 мин.
35 Краткий обзор современной базы электронных компонентов Обзор популярных современных электронных компонентов 31 мин.
36 Правила трассировки печатной платы Обзор основных правил по разводке печатной платы с микроконтроллером 30 мин.
37 Внешние прерывания
37.1 Понятие прерываний микроконтроллера Понятие прерывания микроконтроллера. Вектора прерываний, таблица векторов прерываний. Сохранение адреса возврата в стековой памяти 76 мин.
37.2 Практика использования внешний прерываний Использование прерываний для обработки внешних событий 31 мин.
38 Энергонезависимая память данных EEPROM
38.1 Основные сведения о EEPROM-памяти Понятие и назначение EEPROM-памяти 35 мин.
38.2 Практика использования EEPROM-памяти Основные советы по использованию EEPROM-памяти 42 мин.
39 Таймеры микроконтроллера
39.1 Обзор таймера 0 Основные сведения о 8-разрядном таймере 0. Настройка режима работы прерывание по переполнению 57 мин.
39.2 Прерывание по совпадению таймера 0 Запуск таймера в режим прерывания по совпадению 38 мин.
39.3 Понятие широтно-импульсной модуляции Основные сведения о широтно-импульсной модуляции 17 мин.
39.4 Режим широтно-импульсной модуляции таймера 0 Запуск таймера 0 в режим широтно-импульсной модуляции 42 мин.
39.5 Обзор таймера 1 Нормальный режим работы, сброс при переполнении, сброс при совпадении, прерывание по совпадению с регистром совпадения А и В, режим захвата 23 мин.
40 Сторожевой таймер Различные режимы работы Watchdog-таймера.
Настройка FUSE-бит для выбора режимов работы таймера
52 мин.
41 Аналоговый компаратор микроконтроллера Инициализация аналогового компаратора. Конфигурация прерываний аналогового компаратора 24 мин.
42 Динамическая индикация
42.1 Понятие динамической индикации Описание алгоритма управления индикаторами в динамическом режиме. Аппаратные особенности реализации динамической индикации 26 мин.
42.2 Программа динамической индикации

Управление четырьмя 7-сегментными индикаторами в динамическом режиме

34 мин.
43 Матричная клавиатура Понятие и реализация матричного режима опроса кнопок клавиатуры 27 мин.
44 Универсальный синхронный/асинхронный приемо-передатчик USART
44.1 Введение Понятие стандартного асинхронного протокола передачи данных 13 мин.
44.2 Коммуникационный порт ПК Электрические и логические параметры передачи данных через СОМ-порт ПК 14 мин.
44.3 Обзор программ для работы с СОМ-портом ПК Программы для передачи и приема данных передаваемых через СОМ-порт ПК 7 мин.
44.4 Тест работы СОМ-порта Прием и передача байт данных через СОМ-порт ПК 33 мин.
44.5 Программа Terminal Работа с программой Terminal 35 мин.
44.6 Перехват данных передаваемых через СОМ-порт ПК Обзор программы для перехвата данных передаваемых и принимаемых через СОМ-порт ПК 8 мин.
44.7 Настройка USART на работу без прерываний Работа модуля USART в режиме бесконечного цикла ожидания приема байта 43 мин.
44.8 Настройка USART на работу c прерываниями Настройка модуля USART на режим прерывания по приему байта и прерывания по передаче байта 23 мин.
45 Передача данных через USB
45.1 Введение Обзор основных способов передачи данных от микроконтроллера к ПК через USB 37 мин.
45.2 Примеры микросхем для создания моста USB-USART Микросхемы программной эмуляции USART 31 мин.
45.3 Программная реализация USB на микроконтроллере Программная эмуляция USART на микроконтроллере 19 мин.
46 Энкодеры Виды энкодеров, принцип работы. Подключение инкрементного энкодера к микроконтроллеру и алгоритм опроса его состояния 33 мин.
47 Символьный ЖК-индикатор на базе контроллера HD44780
47.1 Введение Типы ЖК-индикаторов. Начальные сведения о символьных ЖК-индикаторах под управлением контроллера HD44780. Схема подключения индикатора к микроконтроллеру 18 мин.
47.2 Логика работы и команды Описание протокола передачи байт данных и команд 17 мин.
47.3 Память DDRAM Описание памяти данных контроллера HD44780 18 мин.
47.4 Набор подпрограмм для работы с индикатором Обзор основных подпрограмм, реализующих протокол передачи байт команд и байт данных 29 мин.
47.5 Алгоритм инициализации Подпрограмма для инициализации индикатора на базе HD44780. Аппаратные требования для надежной инициализации индикатора 27 мин.
47.6 Программа для работы с индикатором Практика использования подпрограмм для работы с индикатором. Тест различных режимов работы индикатора 26 мин.
47.7 Программная библиотека для работы с индикатором Библиотека подпрограмм для работы с символьными индикаторами на базе HD44780 38 мин.
47.8 Программа для формирования текста на индикаторе Простая программа для компьютера, позволяющая легко сгенерировать байты данных для вывода сообщения на индикатор 5 мин.
48 Передача данных по инфракрасному каналу
48.1 Введение Физические основы передачи данных по инфракрасному каналу 21 мин.
48.2 Способы кодирования передаваемых данных Основные методы кодирования данных. Манчестерский код, кодирование различной шириной паузы/импульса, другие методы кодирования 20 мин.
48.3 Обзор протоколов используемых в пультах ДУ Перехват посылок при помощи логического анализатора. Разбор состава посылок с реальных пультов ДУ 38 мин.
48.4 Перехватчик посылок на ATtiny2313 Программа для перехвата принимаемых посылок и отправки но UART на терминальную программу компьютера 39
48.5 Перехватчик посылок на ATmega16 Улучшенная версия перехватчика посылок, принимаемых через инфракрасный канал 16 мин.
48.6 Описание универсального алгоритма декодирования Обзор алгоритма для декодирования различных протоколов 26 мин.
48.7 Программная реализация алгоритма декодирования Обзор подпрограмм для принятия и декодирования посылки 19 мин.
48.8 Программа декодирования посылки (версия 1) Простая программа, осуществляющая прием и дешифрацию посылок, использующих кодирование различной шириной паузы/импульса 40 мин.
48.9 Программа декодирования посылки (версия 2) Более сложная версия программы, позволяющая дешифровать посылки передающие манчестерский код 30 мин.
49 ШИНА SPI
49.1 Введение Описание интерфейса SPI 29 мин.
49.2 Программная эмуляция режимов передачи данных по SPI Обзор подпрограмм для эмуляции приема и передачи байт данных по интерфейсу SPI 30 мин.
49.3 Карты памяти форматов SD, SDHC, MMC Основные сведения о карах памяти форматов SD, SD micro, SDHC, SDHC micro, MMC 11 мин.
49.4 Подключение карт памяти к микроконтроллеру Контактные площадки для работы по интерфейсу SPI. Питание карты 16 мин.
49.5 Инструменты для работы с картами памяти Схема для считывания байт из секторов SD-карты и передачи их на ПК. Обзор шестнадцетиричного редактора WinHEX 21 мин.
49.6 Протокол обмена данными Описание протокола считывания и записи секторов карт памяти 43 мин.
49.7 Программа для чтения и записи карт памяти Набор подпрограмм для считывания и записи секторов карты 44 мин.
49.8 Пример записи и считывания секторов карты Практика использования подпрограмм для считывания и записи карт памяти 20 мин.
50 ШИНА I2C
50.1 Введение Основные сведения о интерфейсе I2C. Краткий обзор аппаратной и программной составляющей I2C 18 мин.
50.2 Протокол передачи по шине I2C Описание работы протокола I2C 49 мин.
50.3 Библиотека программной эмуляции I2C Набор подпрограмм для программной эмуляции протокола I2C 32 мин.
50.4 Обзор микросхемы DS1307 Краткие сведения о назначении микросхемы часов реального времени, ячейках памяти и схеме подключения к микроконтроллеру 34 мин.
50.5 Библиотека для работы с DS1307 Краткое описание подпрограмм для организации взаимодействия с микросхемой DS1307 28 мин.
50.6 Считывание и запись данных DS1307 Практика записи и считывания байт данных. Вывод показаний времени и даты на индикатор.
Использование свободных ячеек памяти для хранения пользовательских данных
24 мин.
51 ШИНА 1-WIRE
51.1 Введение Краткие сведения о шине 1-WIRE. Обзор микросхем, использующих 1-WIRE 24 мин.
51.2 Описание протокола 1-WIRE Описание физического, и логического уровней взаимодействия 59 мин.
51.3 Программная реализация протокола 1-WIRE Набор подпрограмм для организации программной эмуляции протокола 31 мин.
51.4 Микросхемы класса iButton Основные сведения о микросхемах в корпусах MicroCan. Различные виды микросхем 13 мин.
51.5 Считывание ID-кода микросхем Считывание 64-битного идентификационного кода микросхем и вывод на индикатор 31 мин.
51.6 Температурный датчик DS18B20 Краткий обзор популярной микросхемы DS18B20 25 мин.
51.7 Взаимодействие с микросхемой DS18B20 Разбор подпрограмм для взаимодействия с микросхемой 56 мин.
51.8 Считывание байт блокнотной памяти DS18B20 Набор подпрограмм для запуска преобразования, считывания 9 байт блокнотной памяти, изменения разрядности преобразования и др. 23 мин.
51.9 Считывание и вывод температуры на индикатор (версия 1) Преобразование считанных байт и вывод показаний на индикатор 35 мин.
51.10 Считывание и вывод температуры на индикатор (версия 2) Усложненная версия подпрограмм для работы с микросхемой DS18B20 7 мин.
51.11 Циклический избыточный код CRC-8 Алгоритм расчета циклического избыточного кода. Реализация алгоритма в подпрограмме 55 мин.
51.12 Библиотека для работы с DS18B20 Программная библиотека для работы с датчиками температуры DS18B20 29 мин.

И обратите внимание, что здесь представлено только краткое (ознакомительное) описание видеоуроков. Подробный список изучаемых вопросов в каждом видеоуроке будет на порядок больше!




Вот некоторые отзывы от тех, кто уже приобрел курс

отзыв

отзыв

 

отзыв

 

отзыв

 

Сколько стоит курс?

Здесь обычно принято сравнивать цену обучающего курса с ценой каких-нибудь очных курсов по программированию микроконтроллеров. Но, если честно, я таких курсов найти не смог. Единственное место, где обучают программированию это ВУЗы.
Но получать высшее образование только для того, что бы освоить одну из областей электроники, по меньшей мере глупо. Да и стоит получение образования недешево. И ко всему прочему, позволю себе сделать осторожное замечание, что во многих ВУЗах образование, мягко говоря, оставляет желать лучшего.
Поэтому единственным средством остается самостоятельное изучение по книгам и интернету. А о недостатках такого способа обучения я уже написал чуть выше.

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

 

Цена электронной версии составляет

3300 рублей

Цена версии на DVD составляет

3500 рублей

оплата

 



Сомневаетесь, нужен ли Вам этот курс?

Без всякого стеснения могу сказать, что данный курс уникален, и аналогов ему нет. Запись всех видеоуроков у меня по времени заняло 1 год. В этот курс я вложил весь свой опыт и очень много сил, тщательно разжевывая каждую деталь, но при этом, стараясь не впадать в крайности и не зацикливаться на объяснении очевидных вещей.
Отличительной особенностью этого видеокурса является очень глубокий подход к изучению работы микроконтроллеров на уровне их архитектуры и очень глубокое изучение протоколов обмена данными на уровне отдельных сигналов.
Кроме того что значительная часть курса посвящена программной составляющей конструирования устройств на микроконтроллерах, так же немало времени уделяется и аппаратной составляющей: подбору электронных компонентов, составлению принципиальной схемы и правильной трассировке печатной платы.
Конечно, при изучении такой сложной темы, как низкоуровневое программирование микроконтроллеров, не может не возникнуть вопросов. И поэтому каждый покупатель курса получает возможность обращаться ко мне со всеми возникающими вопросами по материалам видеокурса.
Где Вы еще сможете получить бесплатные консультации по самому широкому кругу вопросов, связанных с программированием микроконтроллеров?



Для тех, кто "в теме"

Мне иногда задают вопросы вроде такого: "Я знаком с микроконтроллерами AVR и умею писать программы на ассемблере для этих микроконтроллеров. Узнаю ли я что-нибудь нового из вашего курса?"
Для того что бы уважаемый посетитель этой страницы смог самостоятельно ответить на этот вопрос, чуть ниже я привожу пример небольшой программы на ассемблере для микроконтроллеров AVR.
Если Вы разбираетесь в том, как работает эта программа, то в плане понимания работы микроконтроллера, скорее всего, ничего нового не узнаете.

01  /*
02  Для МК tiny2313, mega8, mega88, mega48, mega16, mega32 и других, 
03  где spl = 0x3D и ОЗУ начинается с 0x60 
04  */
05  
06  .cseg
07  .org  0x00
08        ldi	R31,low(m0)
09        ldi	R30,byte1((m0>>1) + 1)
10        sts	0x10,R30
11        eor	R15,R15
12        lpm
13        sts	0x5F,R0
14        rjmp	PC+(m0 - 8)		;Переход на строку 18
15  m1:   .dw	0x00,(main)+1,0xFF
16  
17  .org  0x100
18  m0:   out	0x3D,R16
19        ldi	R30,byte1((m1+1)*2)
20        ldi	R31,byte2((-(m1+1)*2) - 1)
21        sbc	R15,R31
22        sts	0x1F,R15
23        pop	R16
24        pop	R16
25        pop	R16
26  
27        lpm
28        sts	0x86,R0
29        adiw	R30:R31,1
30        lpm
31        sts	0x85,R0
32        ret				;Переход на строку 35
33  
34  main: nop
35        inc	R16
36  .db   "эПереход на main"		;Переход на строку 34
37  /*В последней строке в двойных кавычках прописать 
38  русскими буквами "эПереход на main"*/

Программа написана для ассемблера среды AVR Studio (Atmel Studio). Выполнение начинается со строки 8. В строке 14 происходит переход на строку 18. Далее подряд выполняются команды в строках с 18 по 32. В строке 32 происходит переход на строку 35. Последующее выполнение программы происходит в бесконечном цикле в строках 34, 35 и 36.



А можно ли посмотреть фрагменты из видеоуроков?

Да, фрагменты из видеоуроков посмотреть можно. Сообщите мне (координаты для обратной связи находятся внизу страницы) отрывки из каких видеоуроков Вы хотели бы посмотреть. Я их подготовлю и вышлю Вам ссылку на скачивание. Таким образом, Вы сможете оценить качество материала видеоуроков.

 


Связаться с автором можно либо по телефону +7 917 791 06 54, либо через e-mail: support@mastercpu.ru
Связаться с автором через форму обратной связи

Принимаем Z-Payment    ПРОСТО И НАДЕЖНО

Партнерская программа
Copyright © 2016 Все права защищены. ИП Селиванов Максим Михайлович. ОГРНИП 314590501000069 гор. Пермь.