Ознакомление с принципом работы и правилами программирования микроконтроллера МКП-1 (Лабораторная работа № 22), страница 2

В режиме ручного управления процессор взаимодействует с ПУ аналогично режиму «Ввод программы», однако сформированный код команды  не записывается в ЭНЗУ, а выполняется. Содержимое счетчика команд (если это не предусмотрено выполненной командой) при этом не изменяется и не индицируется.

Автоматический  режим работы (рис.3) является основным и предназначен для управления технологическим  оборудованием в соответствии  с алгоритмом, реализованным  в виде управляющей программы, хранимой в ЭНЗУ. Таким образом, ЭНЗУ является источником  команд  для процессора, выборку которых он осуществляет по адресу, определяемому счетчиком команд. Клавиатура для ввода кодов команд заблокирована.

 


Рис. 2. Внутренняя структура микроконтроллера в режиме «Просмотр программы»


Рис. 3. Внутренняя структура микроконтроллера в режиме «Автоматический»

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

 


Рис. 4. Внутренняя структура микроконтроллера в режиме «Шаговый»

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

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

Таблица 1

Сокращенное

Формат команды

Краткое

обозначение команд

Код операции N3 N2

Операнд

N1 N0

содержание

Команды ввода-вывода

ОЖ0

01

Адрес входа

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

ОЖ1

02

Адрес входа

Ожидание наличия входного сигнала. Переход к выполнению следующей команды происходит только при наличии сигнала на входе с заданным адресом.

ПР0

03

Адрес входа

Проверка входа на отсутствие сигнала. При отсутствии сигнала на входе с заданным адресом бит условия сохраняет предыдущее значение, иначе бит условия обнуляется.

Сокращенное

Формат команды

Краткое

обозначение команд

Код операции N3 N2

Операнд

N1 N0

содержание

ПР1

04

Адрес входа

Проверка входа на наличие сигнала. При наличии сигнала на входе с заданным адресом бит условия сохраняет предыдущее значение, иначе бит условия обнуляется.

ВКЛ

05

Адрес выхода

Включить выход с заданным адресом.

ВЫКЛ

06

Адрес выхода

Выключить выход с заданным адресом.

БУ

12

Адрес выхода

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

БУ

13

Адрес выхода

Вывод бита условия инверсный. Выход с заданным адресом устанавливается в соответствии со значением, противоположным содержимому бита условия.

Т

07

Т

Выдержка времени. Команда задержки выполнения управляющей программы на время Т*0.1 сек.

УСТ БУ   ВХ

Адрес входа

Бит условия принимает значение сигнала на входе с заданным адресом.

УСТ БУ   ВХ

1F

Адрес входа

Бит условия принимает инверсное значение сигнала на входе с заданным адресом.

Команды управления программой

НОП

00

00

Нет операции. Безусловный переход к выполнению следующей команды программы.

СТОП

08

00

Останов программы.

БУП

09

Адрес команды

Безусловный переход к  выполнению команды, содержащейся по указанному адресу.

УП1

ОА

Адрес команды

Переход к выполнению команды, содержащейся по указанному адресу, если в бите условия «1». В противном случае происходит выполнение следующей команды программы.

Сокращенное

Формат команды

Краткое

обозначение команд

Код операции N3 N2

Операнд

N1 N0

содержание

УП0

0B

Адрес команды

Переход  к выполнению команды, содержащейся  по указанному адресу, если в бите условия «0», иначе  выполняется следующая команда программы.

БАП

0F

0   

Уставка

Изменение базового адреса программы

ПП

10

Адрес команды

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

ВОЗВРАТ

11

00

Возврат из подпрограммы.

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

ССЧ

0D

0

Ном.счетчика             

Сброс счетчика. Обнуление счетчика с заданным номером.

+СЧ

0   

Ном.счетчика

Содержимое счетчика с заданным номером увеличивается на 1.

=СЧ

Уставка

Ном.счетчика

Сравнение счетчика. Если содержимое счетчика с заданным номером равно уставке, то бит условия сохраняет свое предыдущее значение. В противном случае бит условия обнуляется.

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

РЕД

14

Адрес команды

Команды управляющей программы, начиная с указанного адреса и до первого адреса, содержащего команду НОП, сдвигаются в сторону увеличения адресов на  один шаг. По указанному адресу записывается код 0000 команды НОП. Команда РЕД используется для вставки команд в управляющую программу.

КСП

15

Номер страницы

Вычисление контрольной суммы кодов команд, содержащихся в странице памяти с указанным номером.

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

Тест  МПИ

00

Команды проверки МПИ

Тест МЭНЗУ

18

Кол.проверяемых модулей

Команды проверки МЭНЗУ

Сокращенное

Формат команды

Краткое

обозначение команд

Код операции N3 N2

Операнд

N1 N0

содержание

Тест ввода-вывода

19

Кол. проверяемых модулей

Команда проверки системы дискретного ввода-вывода.

Загрузчик

17

Кол.мод

В/В

Кол.  МЭ-НЗУ

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