Области МК – техническое средство создания нижнего применения уровня АСУ ТП
МК Подзадачи:
1.Оперативное управление технологическими
процессами (нижняя ступень АСУ – локальные регуляторы)
2.Поддержание режимов работы потребителей эл.
энергии по заданному алгоритму (устройства плавного
пуска, частотный привод, регуляторы скорости, давления,
температуры…)
3.Основа построения робототехники, мехатронных узлов и систем…
4.Интеллектуальное управление вспомогательной
(бытовой) техникой (сотовые телефоны, стиральные
машины, микроволновые печи) …
Машинные
коды
МП
Команды /инструкции/ МП (арифметические,
логические) однозначно связаны с определенным числом (машинным кодом, кодом операции - КОП в
памяти программ Гарвардской архитектуры или в общей памяти фон - Нейманской)
Дешифратор (регистр) команд РК, считывая
КОП, настраивает УУ на выполнение
соответствующей команды МП
Таким образом, текст инструкций (программы из
команд) для МП – это определенный набор чисел
Поэтому взамен каждой машинной команде предложена
мнемоника – слово из аббревиатур, раскрывающая
суть команды
Ассемблер
МП
Язык программирования МП, где каждой команде – мнемонике (аббревиатуре) соответствует одна машинная команда – это Ассемблер
Является языком низкого уровня
Эффективен для программирования МП
Дает максимальное быстродействие, поскольку
предельно адаптирован к архитектуре МП и не
содержит лишних инструкций
Ассемблер |
Машинная команда |
|
Пример mov Lw 55h |
4E 55 |
|
mov wf EECON |
76 |
33 25 |
bsf EECON, WR |
25 |
0F |
Если применяется фон-Нейманская архитектура, то для Зам! разделения
чисел – команд МП и
чисел – данных МП выдерживается определенный стандарт - формат
Форматы
машинного
кода
для
фонНейманской архитектуры
Пример
для МП с разрядностью 8-бит
Однобайтная команда
пример – очистка регистра
39h
Двухбайтная команда
пример – переход на адрес «данные №1»
31h
Трехбайтная
пример – сложение «данных№1 + данных№2» и помещение результата в аккумулятор
3F h
В общем случае в ОЗУ МП будет череда чисел
3F xx xx 39 31 xx
Выполнение
задания
Что бы зажечь светодиод VD2 при нажатии на кнопку SA, нужно написать программу для МК
ЭТК _ 2014 _ Мятеж С.В. |
205 |
- | Clear Bit |
Предусмотрев за инструкцией перехода RJMP команду зажигания светодиода (запись в канал PB1
логической «1»), обеспечим выполнения поставленной задачи
- | Set Bit |
Алгоритм
задания в виде блок-схемы
ЭТК _ 2014 _ Мятеж С.В. |
206 |
при отпущенной кнопке
Траектория
выполнения
строк
ЭТК _ 2014 _ Мятеж С.В. |
207 |
СИМУЛЯТОР. Вид среды отладкипрограммыдля МК
Окно редактора кода
Вкладка внутренних
для Ассемблера
ЦЛУ микроконтроллера
ПРОВЕРКАВ РЕАЛЬНОСТИ. Процесс программированияМК
Активация Происходит, если одному из имеющихся внутренних альтернативныхЦЛУ (компаратор, АЦП/ЦАП, ШИМ, UART, USB… ) функций портов.с помощью соответствующего служебного регистра назначается вывод(ы) МК, до этого принадлежавший
параллельному порту ввода/вывода.
Основы работы с внутренними ЦЛУ МК
Все внутренние ЦЛУ МК (компаратор, АЦП/ЦАП,ШИМ,
UART, USB… ) предварительно конфигурируются, активируются, коммутируются комбинацией бит, записанных аппаратно или программно (в ходе выполнения) в соответствующие служебные регистры
Использование АЦП в МК на примере
AVR
Обычно МК имеет один АЦП (ADC), вход которого соединяется (в ходе конфигурирования) с выводом одного из портов (выбор канала).
В AVR за это отвечает служебный регистр MUX
Вход АЦП |
|
Биты регистра MUX |
|
|
||
|
|
|
|
|
|
|
MUX 2 |
|
MUX 1 |
|
MUX 0 |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
Порт А 7 |
1 |
|
1 |
|
1 |
|
|
|
|
|
|
|
|
Порт А 6 |
1 |
|
1 |
|
0 |
210 |
ЭТК _ |
2014 _ Мятеж С.В. |
|
|
|
||
Порт А 5 |
1 |
|
0 |
|
1 |
|
|
|
|
|
|
|
|
