- Регистрация
- 26.05.2022
- Сообщения
- 26 724
- Реакции
- 187
- Баллы
- 63
Каждый день мы пользуемся компьютером, но далеко не каждый из нас понимает, какие процессы превращают электрический ток в 0 и 1. Данная программа расскажет о принципах работы и особенностях всех видов цифровой электроники: начиная от включения лампочки от батарейки и заканчивая индикации текста на дисплее, управляемого микроконтроллером.
На курсе вы поработайте с мультиметром, паяльником и цифровым осциллографом. Своими руками создадите из транзисторов логический элемент ИЛИ-НЕ. Увидите кремниевые кристаллы невооруженным глазом и под микроскопом. И, конечно же, напишете свою программу для микроконтроллера на языки Си, ассемблере и при помощи двоичных кодов.
Данная программа - это фундамент для тех, кто хочет начать работу с железом, отличная возможность полюбить электронику и узнать то, что нам не рассказывали в школе.
ПОДРОБНАЯ ПРОГРАММА
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
Продажник:
На курсе вы поработайте с мультиметром, паяльником и цифровым осциллографом. Своими руками создадите из транзисторов логический элемент ИЛИ-НЕ. Увидите кремниевые кристаллы невооруженным глазом и под микроскопом. И, конечно же, напишете свою программу для микроконтроллера на языки Си, ассемблере и при помощи двоичных кодов.
Данная программа - это фундамент для тех, кто хочет начать работу с железом, отличная возможность полюбить электронику и узнать то, что нам не рассказывали в школе.
ПОДРОБНАЯ ПРОГРАММА
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
Продажник: