Открыто

[ВШЭ] Основы электроники и программирования микроконтроллеров

Тема в разделе "Курсы по программированию", создана пользователем alexbinka, 19 май 2018.

Цена: 45000р.-97%
Взнос: 1205р.

Основной список: 41 участников

Резервный список: 22 участников

  1. 19 май 2018
    #1
    alexbinka
    alexbinka ЧКЧлен клуба

    Складчина: [ВШЭ] Основы электроники и программирования микроконтроллеров


    [​IMG]
    Каждый день мы пользуемся компьютером, но далеко не каждый из нас понимает, какие процессы превращают электрический ток в 0 и 1. Данная программа расскажет о принципах работы и особенностях всех видов цифровой электроники: начиная от включения лампочки от батарейки и заканчивая индикации текста на дисплее, управляемого микроконтроллером.
    На курсе вы поработайте с мультиметром, паяльником и цифровым осциллографом. Своими руками создадите из транзисторов логический элемент ИЛИ-НЕ. Увидите кремниевые кристаллы невооруженным глазом и под микроскопом. И, конечно же, напишете свою программу для микроконтроллера на языки Си, ассемблере и при помощи двоичных кодов.

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


    [​IMG]

    1. Основы электроники

    1.1. Электрический ток

    1.1.1. Обзор курса

    1.1.2. Аналогия электрического тока и жидкости

    1.1.3. Электрические характеристики: сила ток, напряжение, мощность, заряд

    1.1.4. Замкнутость цепи

    1.1.5. Источники тока

    1.1.6. Мультиметр

    1.2. Сопротивления

    1.2.1. Сопротивление и проводимость – свойства проводника

    1.2.2. Последовательное и параллельное соединение

    1.2.3. Комбинации последовательного и параллельного соединения

    1.2.4. Законы Кирхгофа для тока и напряжения

    1.2.5. Переменный резистор

    1.2.6. Резистивный делитель напряжения

    1.2.7. Мощность, выделяющаяся на резисторах (свечение ламп накаливания, нагрев резисторов)

    1.2.8. Точность вычислений и экспоненциальная форма записи чисел «Ax10B»

    1.3. Пайка

    1.3.1. Пайка выводных резисторов и контактов PLS

    1.3.2. Пайка провода АМП и МГТФ

    1.3.3. Пайка микросхем в корпусе TSSOP-14

    1.3.4. Пайка SMD-резисторов и SMD-светодиодов

    1.4. Диоды

    1.4.1. Свойства диодов

    1.4.2. Вольт-амперная характеристика

    1.4.3. Диодный мост

    1.4.4. Светодиоды: свойства, характеристики, корпуса

    1.4.5. Создание полупроводникового светодиода своими руками

    1.5. Транзисторы

    1.5.1. Свойства полевых транзисторов

    1.5.2. Применение полевых транзисторов для усиления и коммутации (динамик и лампочка)

    1.5.3. Различие свойств полевых и биполярных транзисторов

    1.5.4. n-канальные и p-канальные полевые транзисторы

    1.5.5. Транзисторы в составе микросхем – процесс производства

    1.5.6. Коммутация электромагнитным реле

    2. Логические элементы и устройства на их основе

    2.1. Логические элементы НЕ, И, ИЛИ

    2.1.1. Логика

    2.1.2. Элементы И/ИЛИ/НЕ

    2.1.3. Таблица истинности

    2.1.4. Возможность построения по таблице истинности любого логического элемента на основе И/ИЛИ/НЕ

    2.1.5. Лог.НЕ из полевых транзисторов

    2.1.6. Лог.И из полевых транзисторов

    2.1.7. Лог.ИЛИ из полевых транзисторов

    2.1.8. Микросхемы И/ИЛИ/НЕ

    2.2. Логические элементы ИЛИ-НЕ, И-НЕ, ИСКЛ.ИЛИ

    2.2.1. Возможность заменить элементы И/ИЛИ/НЕ комбинацией элементов И-НЕ или ИЛИ-НЕ

    2.2.2. Построение элементов ИЛИ-НЕ и И-НЕ из полевых транзисторов

    2.2.3. Элемент ИСКЛ.ИЛИ из элементов И/ИЛИ/НЕ

    2.2.4. Микросхемы ИЛИ-НЕ/И-НЕ/ИСКЛ.ИЛИ

    2.3. Мультиплексор

    2.3.1. Коммутация сигналов

    2.3.2. Мультиплексор из логических элементов И/ИЛИ/НЕ

    2.3.3. Мультиплексор, как универсальный логический элемент

    2.3.4. Мультиплексор из отдельных транзисторов

    2.4. ПЛИС

    2.4.1. Основные принципы устройства ПЛИС: входы, выходы, логические блоки, связи, интерфейс программирования ПЛИС

    2.4.2. Описание электронного устройства в среде визуального проектирования Quartus Prime

    2.5. Двоичная система счисления

    2.5.1. Десятичная система счисления (как на пальцах досчитать до 1000)

    2.5.2. Счеты (десятичные)

    2.5.3. Часовая, минутная и секундная стрелка.

    2.5.4. Счеты для часов

    2.5.5. Счеты для семеричной и четверичной системы счисления

    2.5.6. Счеты для двоичной системы счисления

    2.5.7. Счет в двоичной системе на пальцах

    2.6. Сумматор

    2.6.1. Сумматор на основе И/ИЛИ/НЕ

    2.6.2. Сумматор на основе ИСКЛ.ИЛИ

    2.6.3. Вычитание двоичных чисел

    2.7. Элементы памяти на логических элементах

    2.7.1. Ячейка памяти на логическом НЕ

    2.7.2. RS-триггер

    2.7.3. D-защелка

    2.8. Устройства на триггерах

    2.8.1. D-триггер (со сбросом)

    2.8.2. Счетчик

    2.8.3. Сдвиговый регистр

    2.8.4. Передача данных сдвиговым регистром

    2.9. Память SRAM

    2.9.1. Устройство ячейки SRAM

    2.9.2. Шины адреса, данных, управления у SRAM

    2.9.3. Двухпортовая SRAM

    2.10. Память EEPROM

    2.10.1. Память EEPROM с параллельным интерфейсом

    2.10.2. Последовательная память EEPROM (93LC46)

    2.10.3. SPI при помощи сдвигового регистра

    3. Ассемблер, Си и устройство микроконтроллера

    3.1. Операторы Си

    3.1.1. Среда программирования dev-c++

    3.1.2. Операторы языка Си (не связанные с присвоением)

    3.2. Среда MPLAB

    3.2.1. Среда программирования микроконтроллеров PIC - MPLAB

    3.2.2. Операторы Си применительно к микроконтроллерам

    3.3. Игра в микроконтроллер

    3.4. Ассемблер PIC18

    3.4.1. Набор команд ассемблера PIC18, структура двоичного кода команд и мнемоники

    3.4.2. Ассемблерные аналоги операторов Си

    3.5. Переменные

    3.5.1. Переменные типа char в Си (примеры в среде dev-c++)

    3.5.2. Переменные типа char применительно к микроконтроллерам (примеры в MPLAB, есть отличие компилятора C18 от стандартного Си)

    3.5.3. Ассемблерный аналог переменных

    3.6. Операторы ветвления

    3.6.1. Алгоритм

    3.6.2. Язык блок-схем

    3.6.3. Операторы ветвления в Си (примеры в среде dev-c++)

    3.6.4. Ассемблерные операторы ветвления

    3.7. Операторы циклов

    3.7.1. Операторы циклов в Си (примеры в среде dev-c++)

    3.7.2. Ассемблерные аналоги операторов циклов

    3.7.3. Понятие о циклической работе программы в микроконтроллере, бесконечный цикл и таймер «сторожевой пёс» (watch dog timer)

    3.8. Массивы

    3.8.1. Массивы в Си (примеры в среде dev-c++)

    3.8.2. Механизм работы с массивом в ассемблере при помощи косвенной адресации

    3.9. Функции

    3.9.1. Функции, значения и аргументы в реальном мире. Повторное использование кода

    3.9.2. Синтаксис объявления и вызова функции в Си (примеры в среде dev-c++)

    3.9.3. Ассемблерные подпрограммы, их вызов и возврат из них. Стек вызова.

    3.10. Типы переменных

    3.10.1. Типы переменных в Си, оператор sizeof() (примеры в среде dev-c++)

    3.10.2. Анализ ассемблерного кода, сформированного компилятором C18 при сложении двух переменных типа char и двух переменных типа int

    3.10.3. Способы хранения данных в переменных. Числа с плавающей точкой

    3.11. Структуры

    3.11.1. Понятие о классах, объектах и свойства в реальном мире

    3.11.2. Объявление структуры в Си (примеры в среде dev-c++)

    3.11.3. Вложенные структуры

    3.12. Указатели

    3.12.1. Понятие указателей в Си и синтаксис работы с ними (примеры в среде dev-c++)

    3.12.2. Арифметика указателей

    3.12.3. Передача аргументов в функцию и возврат значения функции при помощи указателей

    3.12.4. Написание программы на Си (MPLAB) для микроконтроллера, работающей с портами ввода-вывода без использования библиотек

    3.12.5. Адресное пространство

    4. Применение микроконтроллеров

    4.1. Бегущий огонек (тактирование и питание микроконтроллера)

    4.1.1. Написание программы «мигающий светодиод» на Си и ассемблере

    4.1.2. Написание программы «бегущий огонек» на Си и ассемблере

    4.1.3. Система тактирования микроконтроллера. Ток через порты ввода-вывода

    4.2. Реакция на кнопку

    4.2.1. Написание программы на Си и ассемблере, реагирующей на нажатие кнопки. Используется главный цикл

    4.2.2. Написание программы на ассемблере, реагирующей на нажатие кнопки при помощи механизма внешнего прерывания

    4.2.3. Написание программы на Си, реагирующей на нажатие кнопки с использованием внешнего прерывания. Понятие указателя на функцию

    4.2.4. Эффект дребезга контактов и его устранение

    4.3. Плавное мерцание (таймер)

    4.3.1. Понятие широтно-импульсной модуляции

    4.3.2. Написание программы плавного мерцания на Си в главном цикле

    4.3.3. Написание программы плавного мерцания на Си с использованием таймера

    4.4. Аналого-цифровой преобразователь

    4.4.1. Понятие о преобразовании аналоговых величин в дискретные

    4.4.2. Написание программы «растущая шкала» на Си с применением переменного резистора

    4.5. Семисегментный индикатор

    4.5.1. Написание программы, демонстрирующей различные символы на паре семисегментных индикаторов

    4.5.2. Написание функции, преобразующей число в CodeB

    4.5.3. Написание программы, преобразующей двоичное число на порте в десятичное число от 0 до 99 на семисегментных индикаторах

    4.6. Матричная клавиатура

    4.6.1. Написание программы, осуществляющей сканирование 16-кнопочной клавиатуры 8-битным портом ввода-вывода и выдающей нажатую клавишу на семисегментные индикаторы

    4.6.2. Написание программы, осуществляющие суммирование с накопление 16-ричных чисел, нажатых на клавиатуре и вывод суммы на семисегментные индикаторы (следует предусмотреть обработку дребезга контактов и нажатия двух и более кнопок одновременно)

    4.7. SPI

    4.7.1. Написать программу, осуществляющую обмен данными с микросхемой памяти EEPROM 93LC46, используя главный цикл

    4.7.2. Написать программу обмена данными с 93LC46 используя встроенный в микроконтроллер передатчик SPI

    4.8. Контроллер семисегментного дисплея

    4.8.1. Написать программу, выводящую числа на 8-знаковый семисегментный дисплей через специализированный контроллер,работающий через интерфейс SPI. В программе должна быть структура данных, описывающая настройки контроллера дисплея и функция вывода чисел на дисплей

    4.9. I2C

    4.9.1. Написать программу, осуществляющую обмен данными с микросхемой памяти и расширителем портов по протоколу I2C


    Продажник:
    Цена и доп. инфо:

     

    Вложения:

    4 пользователям это понравилось.
  2. Последние события

    1. SoflyMad
      SoflyMad участвует.
      29 ноя 2024
    2. Кирсан Кайфат
      Кирсан Кайфат не участвует.
      8 сен 2024
    3. Camper811
      Camper811 участвует.
      31 май 2024
    4. SID1903
      SID1903 участвует.
      30 апр 2024
  3. Обсуждение
  4. 19 май 2018
    #2
    alexbinka
    alexbinka ЧКЧлен клуба
    В понедельник позвоню узнаю все вопросы типа: если записаться сейчас что можно получить, будут ли записи материалов и будут ли повторы, а так же про другие курсы от ВШЭ
     
    2 пользователям это понравилось.
  5. 24 май 2018
    #3
    alexbinka
    alexbinka ЧКЧлен клуба
    Записывайтесь смело в сентябре будет повтор - будущий орг может ориентироваться на начало сентября
     
  6. 14 июн 2018
    #4
    braver
    braver ЧКЧлен клуба
    Судя по описанию можно и самому комп на коленке спаять. [​IMG] А вообще-то нужный и полезный курсик. Мне нравится.
     
  7. 16 июн 2018
    #5
    Maksimiliano Teodorri
    Maksimiliano Teodorri ДолжникДолжник
    Интересная тема записываемся активно=))
     
  8. 19 окт 2018
    #6
    Ruslan1994
    Ruslan1994 СкладчикСкладчик
    что-то помимо основ си и CODE Петцольда будет?
     
  9. 5 дек 2019
    #7
    Dimon0014
    Dimon0014 ЧКЧлен клуба
    Курс по ходу сдох, он по мимо всего прочего еще оффлайновый по ходу был))