Файл: Н.П. Курышкин Программирование микроконтроллера MKП-1.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.06.2024
Просмотров: 195
Скачиваний: 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 |
Ус- |
Номер |
Сравнение счетчика. Если содержимое счетчика с |
тав- |
счет- |
заданным номером равно уставке, то бит условия |
|
ка |
чика |
сохраняет предыдущее значение. В противном слу- |
|
чае он обнуляется |
|||