Разработка устройства основе микроконтроллера

Содержание

Слайд 2

Состав микроконтроллера

Состав микроконтроллера

Слайд 3

Внутреннее устройство микроконтроллера PIC16

Внутреннее устройство микроконтроллера PIC16

Слайд 4

Разработка микропроцессорной системы на основе микроконтроллера. Основные этапы разработки

Разработка микропроцессорной системы на основе микроконтроллера. Основные этапы разработки

Слайд 5

Языки программирования микроконтроллеров Язык Ассемблера . Ассе́мблер (от англ. assembler —

Языки программирования микроконтроллеров

Язык Ассемблера .
Ассе́мблер (от англ. assembler — сборщик)

— транслятор программы из текста на языке ассемблера, в программу на машинном языке.
Язык Ассемблера (иногда его называют не совсем корректно Ассемблер) является  языком самого низкого уровня. При этом он позволяет наиболее полно раскрыть все возможности микроконтроллеров и получить максимальное быстродействие и компактный код. В некоторых случаях альтернативы ассемблеру нет, но тем не менее он имеет множество недостатков. Несмотря на получаемую компактность машинного кода, программа, написанная на языке Ассемблера, громоздка и труднопонимаема. Для ее создания требуется отличное знание архитектуры  и системы команд микроконтроллеров. Язык Ассемблера отлично подходит для программирования микроконтроллеров, имеющих ограниченные ресурсы, например 8-ми битных моделей с малым объемом памяти. Для больших программ и тем более 32-разрядных контроллеров, лучше использовать другие языки,  отличающиеся более высоким уровнем. Это позволит создавать более сложные и при этом понятные программы.
С/С++
Язык программирования С/С++, относится к языкам более высокого уровня, по сравнению с  Ассемблером. Программа на этом языке лучше понятна человеку. Достоинством С/С++ является огромное число программных средств и библиотек, позволяющих просто создавать необходимый код. Фактически, С/С++ сегодня стал основным языком разработки управляющих программ. Компиляторы данного языка реализованы практически для всех моделей микроконтроллеров. Стандартный язык дает возможность переноса программ с одной платформы на другую. Теоретически, используя разные компиляторы, можно преобразовать любую программу в команды микроконтроллера нужного типа. На практике дополнительно требуется учитывать архитектуру микроконтроллера каждого типа.  Язык С/С++ имеет достаточно сложную для изучения структуру.
Получаемый программный код конкретной задачи, имеет больший объем, чем код той же задачи, реализованной на Ассемблере. Тем не менее язык С/С++ следует признать единственным правильным выбором для профессионального программирования микроконтроллеров.
Processing — открытый язык программирования, основанный на Java. Представляет собой лёгкий и быстрый инструментарий для людей, которые хотят программировать изображения, анимацию и интерфейсы.
Используется студентами, художниками, дизайнерами, исследователями и любителями, для изучения, прототипирования и производства. Он создан для изучения основ компьютерного программирования в визуальном контексте и служит альбомным программным обеспечением (имеется в виду то, что каждый *.pde файл визуальной оболочки Processing’а представляет собой отдельное изображение или анимацию, и т. д.) и профессиональным производственным инструментом.
Слайд 6

Язык C++ Язык C++ (произносится как «Си плас плас») был разработан

Язык C++

Язык C++ (произносится как «Си плас плас») был разработан Бьёрном Страуструпом в

подразделении Bell Labs компании AT&T в качестве дополнения к языку Cи. С++ добавил множество новых возможностей в язык Си. Его популярность была вызвана объектно-ориентированностью языка. Сейчас C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. С его помощью создают операционные системы, разнообразные прикладные программы, драйверы устройств, игры и пр. В настоящее время этот язык является основным языком программиравния микроконтроллеров.
Среди самого популярного программного обеспечения, написанного на C++ (или с его использованием), находятся СУБД MySQL, интернет-браузер Mozilla Firefox, большая часть программного обеспечения от Microsoft: операционные системы семейства Windows, IDE Visual Studio, Internet Explorer, Microsoft Office. Adobe Photoshop, Adobe Illustrator и Adobe Premiere Pro целиком написаны на C++. Также данный язык лежит в основе игрового движка Unity.
Слайд 7

Основные операции языка С++

Основные операции языка С++

Слайд 8

Выбор МК При выборе типа МК учитываются следующие основные характеристики: разрядность;

Выбор МК

При выборе типа МК учитываются следующие основные характеристики: разрядность;
быстродействие;
набор команд

и способов адресации;
требования к источнику питания и потребляемая мощность в различных режимах; объем ПЗУ программ и ОЗУ данных;
возможности расширения памяти программ и данных;
наличие и возможности периферийных устройств, включая средства поддержки работы в реальном времени (таймеры, процессоры событий и т.п.);
возможность перепрограммирования в составе устройства; наличие и надежность средств защиты внутренней информации;
возможность поставки в различных вариантах конструктивного исполнения; стоимость в различных вариантах исполнения;
наличие полной документации;
наличие и доступность эффективных средств программирования и отладки МК; количество и доступность каналов поставки, возможность замены изделиями других фирм.
Слайд 9

Задача: Зажечь светодиод с помощью кнопки через МК. (Чтение порта и

Задача:

Зажечь светодиод с помощью кнопки через МК. (Чтение порта и

запись в порт - интерфейса ввода/вывода общего назначения МК (general-purpose input/output, GPIO)

Этапы решения

Выбираем МК, читаем даташит (PDF – описание).
Составляем схему электрическую принципиальную
Собираем устройство согласно схеме
Составляем блок схему алгоритам программы
Пишем код по блок- схеме
Программируем контроллер (загружаем программу в МК)

Слайд 10

Краткая характеристика выбранного микроконтроллера Выбираем микроконтроллер тPIC16F877-04I/P, Микроконтроллер PIC 8192 x

Краткая характеристика выбранного микроконтроллера

Выбираем микроконтроллер тPIC16F877-04I/P, Микроконтроллер PIC 8192 x 14

- ППЗУ/368-ОЗУ 8-АЦП 33порт(-ов) ввода-вывода 3- таймера + сторожевой таймер шины USART/MSSP 2x10-бит-ШИМ ICSP. Цена 279,0 рублей.
Слайд 11

Микроконтроллер PIC16f877

Микроконтроллер PIC16f877

Слайд 12

Схема устройства

Схема устройства

Слайд 13

Блок-схема алгоритма

Блок-схема алгоритма

Слайд 14

Кодирование алгоритма #include // подключаем хидеры (библиотеки и файлы) __CONFIG(0x03F72); //

Кодирование алгоритма

#include // подключаем хидеры (библиотеки и файлы)
__CONFIG(0x03F72); //

конфигурируем МК
void main(void) //начало загрузки
{
TRISА<1>=1; // установка бита порта на вход
// TRISA=0b111111; //выход-0 вход-1
TRISB=0; //установка бита порта на выход
PORTB=0; //исходная установка данных в регистрах порта
RА1 = 0; //исходная установка данных в регистрах порта
while(1) // бесконечный цикл
{
if (RA1==1) //условие
RB0=1; //да
else RB0=0; //нет
}
}
Слайд 15

Сборка устройства Макетная плата Печатная плата

Сборка устройства

Макетная плата Печатная плата