Файл: Н.П. Курышкин Программирование микроконтроллера MKП-1.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.06.2024
Просмотров: 41
Скачиваний: 0
6
|
|
|
|
Таблица 1 |
Шестнадцати- |
|
Двоичный код |
|
|
ричный код |
|
|
|
|
23=8 |
22=4 |
21=2 |
20=1 |
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
2 |
0 |
0 |
1 |
0 |
3 |
0 |
0 |
1 |
1 |
4 |
0 |
1 |
0 |
0 |
5 |
0 |
1 |
0 |
1 |
6 |
0 |
1 |
1 |
0 |
7 |
0 |
1 |
1 |
1 |
8 |
1 |
0 |
0 |
0 |
9 |
1 |
0 |
0 |
1 |
A |
1 |
0 |
1 |
0 |
B |
1 |
0 |
1 |
1 |
C |
1 |
1 |
0 |
0 |
D |
1 |
1 |
0 |
1 |
E |
1 |
1 |
1 |
0 |
F |
1 |
1 |
1 |
1 |
записана на странице с базовым адресом 09 под присвоенным счетчиком команд номером 0А в шестнадцатиричном коде. Структура ЭНЗУ микроконтроллера представлена на рис. 7.
|
Модуль 0 |
|
Модуль 1 |
|
Модуль 2 |
|
Модуль 3 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
08 |
|
|
09 |
|
|
0А |
0В |
|
0С |
0D |
|
0E |
0F |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 7. Структура ЭНЗУ Система команд микроконтроллера включает:
-команды ввода-вывода;
-команды управления программой;
-команды управления счетчиками;
-команды контроля и редактирования программы;
-команды текстового контроля функциональных блоков. Последние два типа команд здесь не рассматриваются.
Команды ввода-вывода (табл. 2) обеспечивают ввод информации от датчиков положения робота и технологического оборудования, а также выдачу управляющих воздействий на их исполнительные устройства.
|
|
7 |
|
|
Таблица 2 |
|
|
Команды ввода-вывода |
Код опе- |
Операнд |
Краткое содержание |
рации |
|
команды |
01 |
Адрес |
Ожидание отсутствия входного сигнала. Переход к вы- |
|
входа |
полнению следующей команды происходит только при |
|
|
отсутствии сигнала на входе с заданным адресом |
02 |
Адрес |
Ожидание наличия входного сигнала. Переход к выпол- |
|
входа |
нению следующей команды происходит только при нали- |
|
|
чии сигнала на входе с заданным адресом |
03 |
Адрес |
Проверка входа на отсутствие сигнала. При отсутствии |
|
входа |
сигнала бит условия сохраняет свое предыдущее значе- |
|
|
ние, в противном случае он обнуляется |
04 |
Адрес |
Проверка входа на наличие сигнала. При наличии сигнала |
|
входа |
бит условия сохраняет свое предыдущее значение, в про- |
|
|
тивном случае он обнуляется |
05 |
Адрес |
Включение выхода с заданным адресом |
|
выхода |
|
06 |
Адрес |
Выключение выхода с заданным адресом |
|
выхода |
|
12 |
Адрес |
Вывод бита условия прямой. Выход с заданным адресом |
|
выхода |
устанавливается в соответствии с содержанием бита ус- |
|
|
ловия |
13 |
Адрес |
Вывод бита условия инверсный. Выход с заданным адре- |
|
выхода |
сом устанавливается в соответствии со значением, проти- |
|
|
воположным содержимому бита условия |
07 |
t |
Выдержка времени t, кратная 0,1 с. Например, выдержка |
|
|
0,1 с запишется в шестнадцатиричной системе – 01, а 1 с |
|
|
– 0А. |
1Е |
Адрес |
Бит условия принимает значение сигнала на входе с за- |
|
входа |
данным адресом |
1F |
Адрес |
Бит условия принимает инверсное значение сигнала на |
|
входа |
входе с заданным адресом |
При использовании микроконтроллера для управления манипулятором ЦПР-1П адрес выхода выбирается в соответствии с табл. 3, а адрес входа с датчиков положения – в соответствии с табл. 4.
При использовании бита условия необходимо иметь в виду, что он принимает исходное состояние, равное логической единице при включении питания, при нажатии кнопки «СБР» и при выполнении команд условного перехода.
8
|
|
|
Таблица 3 |
|
Адреса выходов микроконтроллера |
||
Адрес |
Исполнительное |
Действие при значении выхода |
|
выхода |
устройство |
включен |
выключен |
00 |
Механизм подъема |
Движение вниз |
Движение вверх |
01 |
Механизм поворота |
Против часовой |
По часовой стрелке |
|
|
стрелки |
|
02 |
Механизм горизон- |
Движение вперед |
Движение назад |
|
тального перемещения |
|
|
03 |
Механизм сгиба (ро- |
Сгибание |
Разгибание |
|
тации) |
|
|
04 |
Схват |
Сжимание |
Разжимание |
|
|
|
|
Таблица 4 |
|
Адреса входов микроконтроллера |
|||
Адрес |
Исполнительное |
Положения, соответствующие состояниям |
||
входа |
устройство |
|
датчиков |
|
|
|
«+»-сигнал есть |
|
«-»-сигнала нет |
00 |
Механизм подъема |
Внизу |
|
Вверху |
01 |
То же |
Вверху |
|
Внизу |
02 |
Механизм поворота |
Слева |
|
Справа |
03 |
То же |
Справа |
|
Слева |
04 |
Механизм горизон- |
Выдвинут |
|
Задвинут |
|
тальных перемещений |
|
|
|
05 |
То же |
Задвинут |
|
Выдвинут |
Таким образом, чтобы запрограммировать, например, поворот манипулятора против часовой стрелки, необходимо записать код этой операции так – 0501. А поворот по часовой стрелке – 0601. Еще один пример. Чтобы состоялась операция контроля окончания выдвижения руки манипулятора, следует набрать код – 0204.
Команды управления программой (табл. 5) служат для организации хода выполнения программы. Адрес перехода в пределах зоны памяти задается в операнде этих команд. Для того чтобы перейти к команде, расположенной на другой странице памяти ЭНЗУ (с другим базовым адресом), необходимо перед командой перехода изменить базовый адрес. Например, из программы, расположенной на странице с базовым адресом 08, осуществляется переход к подпрограмме, расположенной на странице с базовым адресом 0А командой 0950, имеющей
|
|
9 |
|
|
Таблица 5 |
|
Команды управления программой |
|
Код |
Операнд |
Краткое содержание |
операции |
|
команды |
00 |
00 |
Нет операции. Безусловный переход к выполнению |
|
|
следующей команды |
08 |
00 |
Останов программы |
09 |
Адрес |
Безусловный переход к выполнению команды, содер- |
|
команды |
жащейся по указанному адресу |
0А |
Адрес |
Переход к выполнению команды, содержащейся по |
|
команды |
указанному адресу, если в бите условия «1». В против- |
|
|
ном случае выполняется следующая команда |
0В |
Адрес |
Переход к выполнению команды, содержащейся по |
|
команды |
указанному адресу, если в бите условия «0». В против- |
|
|
ном случае выполняется следующая команда |
0F |
0 уставка |
Изменение базового адреса программы. Базовый адрес |
|
|
становится равным уставке (8, 9, А, В, С, D, E, F) |
10 |
Адрес |
Переход к подпрограмме. Переход к выполнению ко- |
|
команды |
манды, содержащейся по указанному адресу с запоми- |
|
|
нанием адреса возврата |
11 |
00 |
Возврат из подпрограммы |
адрес 0803. Для организации такого перехода необходимо перед этой командой набрать команду 0F0А, имеющую адрес 0802. Адреса команд можно назначать принудительно, в противном случае их присваивает микроконтроллер, занимая на страницах ЭНЗУ свободное место.
Команды управления счетчиками (табл. 6) позволяют управлять шестнадцатью встроенными счетчиками, содержимое которых может изменяться от 0 до F.
|
|
|
Таблица 6 |
|
|
Команды управления счетчиками |
|
Код |
Операнд |
Краткое содержание |
|
операции |
|
|
команды |
0D |
0 Номер |
Сброс счетчика. Обнуление счетчика с заданным |
|
|
|
счетч. |
номером |
0C |
0 Номер |
Содержание счетчика с заданным номером увеличи- |
|
|
|
счетч. |
вается на единицу |
0E |
Ус- |
Номер |
Сравнение счетчика. Если содержимое счетчика с |
|
тав- |
счет- |
заданным номером равно уставке, то бит условия |
|
ка |
чика |
сохраняет предыдущее значение. В противном слу- |
|
|
|
чае он обнуляется |