Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



Микроконтроллер оснащен системой команд, предназначенной для решения задач циклового и программно-логического управления дискретными производственными процессами, и обеспечивающей простоту и высокую производительность программирования. Исходная информация для составления программ может быть представлена циклограммой работы оборудования, блок-схемой алгоритма управления или в виде булевых функций.

Система команд микроконтроллера реализована исполнительной программой, хранящейся в ПЗУ модуля памяти.

Команды микроконтроллера можно разделить по функциональному назначению на следующие группы:

1) команды ввода-вывода;

2) команды управления программой;

3) команды управления счетчиками;

4) команды контроля и редактирования программы;

5) команды тестового контроля функциональных блоков.

Система команд микроконтроллера приведена в табл. 3.

Слово команды делится на два поля длиной по восемь разрядов – поле кода операции и поле операнда. Формат команды представлен на рис.9.

 

Старший байт (поле кода операции) Младший байт (поле операнда)
C7 C 6 C 5 C 4 C 3 C 2 C 1 C 0 C 7 C 6 C 5 C 4 C 3 C 2 C 1 C 0
N3 N2 N1 N0
                               

Рис. 9

 

“N0”, “N1”, “N2”, “N3” кодируются символами шестнадцатиричной сис-темы счисления 0, …..9, А, В, С, D, E, F.

Совокупность команд образует управляющую программу, которая записывается и хранится в модуле ЭНЗУ. Объем модуля ЭНЗУ позволяет записать 256 команд УП (512 байт) и составляют одну зону памяти. Каждая зона памяти, в свою очередь, делится на две страницы, объемом по 128 команд (256 байт).

Номер зоны является базовым адресом (БА) для отсчета команд УП, записанной в этой зоне, и хранится в служебном регистре БА, организованном исполнительной программой в ОЗУ.

Помимо «БА» в ОЗУ организованы следующие регистры:

1) «СК» – счетчик команд микроконтроллера, содержимое которого определяет адрес команды в пределах зоны памяти;

2) «БУ» – бит условия, значение которого устанавливается в зависимости от результата выполнения ряда операций; анализ бита условия исполняется для управления ходом исполнения УП;

3) «УС» – регистр и указатель стека, определяющий адреса ячеек ОЗУ (стековая память), в которых запоминаются значения «БА» и «СК» при обращении к подпрограмме, откуда они выбираются при выполнении команды «ВОЗВРАТ»;

Таблица 3

Сокращенное обозначение команд Формат команды Краткое содержание  
код операции N3 N2 операнд   N1 N0  
Команды ввода - вывода  
ОЖ0 Адрес входа Ожидание отсутствия входного сигнала. Переход к выполнению следующей команды программы происходит только при отсутствии сигнала на входе с заданным адресом  
ОЖ1 Адрес входа Ожидание наличия входного сигнала. Переход к выполнению следующей команды программы происходит только при наличии сигнала на входе с заданным адресом  
ПР0 Адрес входа Проверка входа на отсутствие сигнала. При отсутствии сигнала на входе с заданным адресом бит условия сохраняет предыдущее значение, в противном случае бит обнуляется  
ПР1 Адрес входа Проверка входа на наличие сигнала. При наличии сигнала на входе с заданным адресом бит условия сохраняет предыдущее значение, в противном случае бит обнуляется  
ВКЛ Адрес выхода Включить выход с заданным адресом  
ВЫКЛ Адрес выхода Выключить выход с заданным адресом  
БУ Адрес выхода Вывод бита условия - прямой. Выход с заданным адресом устанавливается в соответствии с содержимым бита условия  
БУ Адрес выхода Вывод бита условия - инверсный. Выход с заданным адресом устанавливается в соответствии со значением, противоположным содержимому бита условия  
Т Т Выдержка времени. Команда задержки выполнения УП на время Тx0, 1 с  
УСТ БУ ВХ Адрес входа Бит условия принимает значение сигнала на входе с заданным адресом  
УСТ БУ ВХ 1F Адрес входа Бит условия принимает инверсное значение сигнала на входе с заданным адресом  
Команды управления программой    
НОП Нет операции. Безусловный переход к выполнению следующей команды программы  
СТОП Остановка программы  
БУП Адрес команды Безусловный переход к выполнению команды, содержащейся по указанному адресу  
УП1 Адрес команды Переход к выполнению команды, содержащейся по указанному адресу, если в бите условия “1”. В противном случае происходит выполнение следующей команды программы  
         
         
         
      Продолжение табл. 3  
Сокращеное обозначение команд Формат команды Краткое содержание  
код операции N3 N2 операнд N1 N0  
УП0 Адрес команды Переход к выполнению команды, содержащейся по указанному адресу, если в бите условия “0”. В противном случае происходит выполнение следующей команды программы
БАП 0F Уставка Изменение базового адреса программы
ПП Адрес команды Переход к подпрограмме. Переход к выполнению команды, содержащейся по указанному адресу с запоминанием адреса возврата
ВОЗВРАТ Возврат из подпрограммы
Команды управления счетчиками
РЕД Адрес команды Команды УП, начиная с указанного адреса и до первого адреса, содержащего команду НОП, сдвигается в сторону увеличения адресов на один шаг По указанному адресу записывается код 0000 команды НОП Команда РЕД используется для вставки команд в УП
ССЧ 0D Номер счетчика Сброс счетчика. Обнуление счетчика с заданным номером
+ СЧ Номер счетчика Содержимое счетчика с заданным номером увеличивается на 1
= СЧ Устав-ка Номер счетчика Сравнение счетчика. Если содержимое счетчика с заданным номером равно уставке, то бит условия сохраняет свое предыдущее значение. В противном случае бит условия обнуляется
Команды контроля и редактирования программы
КСП Номер страницы Вычисление контрольной суммы кодов команд, содержащихся в странице памяти с указанным номером
Команды тестового контроля функциональных блоков
Тест МПИ Команда проверки МПИ
Тест МЭНЗУ Количество проверяемых модулей Команда проверки МЭНЗУ
Тест ввода-вывода Количество проверяемых модулей Команда проверки системы дискретного ввода-вывода
Загрузка Кол-во моду-лей ввода-вывода Кол-во МЭНЗУ Команда загрузки программы, обеспечивающей комплексную проверку функциональных блоков микроконтроллера
                       

4) шестнадцать счетчиков, содержание которых может изменяться от 0 до F. При необходимости счетчик может использоваться как однобитовая память.

Изменение состояния служебных регистров приведено в описаниях соответствующих команд.

Команды ввода-вывода обеспечивают ввод информации от датчиков состояния оборудования и выдачу управляющих воздействий на исполнительные устройства.

В командах вывода информации адрес выхода, определяемый значением поля операнда, кодируется двумя шестнадцатиричными цифрами N1, N0 (см. табл.3), первое из которых может принимать значение от 0 до 2 и определяет один из трех модулей вывода дискретных сигналов, которые могут быть установлены в микроконтроллере.

Второе шестнадцатиричное число N0 определяет один из шестнадцати конкретных выходов 0, ….., F в пределах выбранного модуля. Состояние каждого выхода отображается соответствующим индикатором, выведенным на переднюю панель модулей вывода дискретных сигналов.

На рис. 10 приведена схема подключения нагрузок z0…zF и датчиков D0….DF состояния технологического оборудования к контактам разъемов микроконтроллера.

В командах опроса датчиков состояния технологического оборудования адреса датчиков определяются аналогично адресам выходов.

Состояние каждого входа отображается на передней панели модулей ввода дискретных сигналов.

Примеры связи команд с управляемыми по ним внешним нагрузкам приведены в табл. 4.

Примеры связи команд опроса датчиков с их адресами и подключением к входным разъемам микроконтроллера приведены в таблице 5

 

Таблица 4

Формат команды Краткое содержание
код операции операнд
Включить нагрузку z0, подключенную к выходному разъему 00-0F
Выключить нагрузку zА, подключенную к выходному разъему 10-1F
2F Нагрузку zF, подключенную к выходному разъему 20-2F , включить, если бит условия установлен в «1»; в противном случае выключить.
Нагрузку z5, подключенную к выходному разъему 10-1F , включить, если бит условия установлен в «0»; в противном случае выключить

 

Таблица 5

Формат команды Краткое содержание
код операции операнд
Ожидание размыкания датчика D0, подключенного к разъему 00-0F . Вход «0» будет опрашиваться до тех пор, пока напряжение на контактах 1, 14 не станет близким к нулю
Ожидание замыкания датчика DА, подключенного к разъему 10-1F . Вход «1А» будет опрашиваться до тех пор, пока напряжение на контактах 11, 28 не установится в пределах 20-30 В
2F Проверка входа на отсутствие сигнала. Если напряжение на контактах 32, 24 разъема 20-2F , к которым подключен датчик DF, близко к нулю, бит условия сохраняет свое предыдущее значение, в противном случае обнуляется
Проверка входа на наличие сигнала. Если напряжение на контактах 16, 6 разъема 00-0F , к которым подключен датчик D5, находится в пределах 20-30 В, бит условия сохраняет свое предыдущее значение, в противном случае устанавливается в «0»

Датчики установленные на роботе выдают информацию о положении механизмов робота:

1) датчик D0 – нижнее положение механизма подъема,

2) датчик D1 – верхнее положение механизма подъема,

3) датчик D2 –механизм поворота повернут по часовой стрелке,

4) датчик D3 - механизм поворота повернут против часовой стрелки,

5) датчик D4 - механизм горизонтальных перемещений задвинут,

6) датчик D5 – механизм горизонтальных перемещений выдвинут.

 

Рис. 10

 

При использовании «БУ» необходимо иметь в виду, что «БУ» принимает исходное состояние, соответствующее логической «1» в следующих случаях:

· при включении питания микроконтроллера;

· при нажатии кнопки СБР;

· после команд условных переходов.

Кроме того, можно установить «БУ» в определенное состояние, используя команды «УСТ БУ ВХ» и «УСТ БУ ВХ».

Выполнение команды «БУП» не изменяет состояние «БУ». Используя «БУ», можно реализовать алгоритм управляющей программы, заданной булевыми функциями (управляющими).

Выдержка времени

Команда «Выдержка времени» предназначена для реализации алгоритмов задач циклового управления, построенного по временному принципу. В поле операнда команды задается величина выдержки времени, кратная 0, 1 с.

Например, минимальная выдержка, равная 0, 1 с, задается командой 0701, выдержка, равная 1 с, задается командой 070А, а максимальное значение, равное 25, 5 с, – командой 07FF. Если необходимо получить временную задержку больше 25, 5 с, то в УП необходимо последовательно включить две или несколько команд выдержки времени, обеспечивающих суммарную задержку, равную требуемой.


Поделиться:



Последнее изменение этой страницы: 2017-05-05; Просмотров: 2339; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.027 с.)
Главная | Случайная страница | Обратная связь