Скачиваний:
56
Добавлен:
21.02.2014
Размер:
525.82 Кб
Скачать

5 Описание управляющей программы

Математические возможности микроконтроллеров характеризуются системой команд. Система команд МК1816 включает в себя 96 основных команд и ориентирована на реализацию процедур управления. Все команды имеют формат один или два байта (70% команд однобайтные). Время выполнения команд составляет 2,5 или 5,0 мкс [один или два машинных цикла (МЦ) соответственно] при тактовой частоте 6,0 МГц. Большинство команд выполняется за один машинный цикл. За два машинных цикла выполняются команды с непосредственным операндом, ввода/вывода и передачи управления. Микроконтроллер оперирует с командами четырех типов.

В МК1816 используются четыре способа адресации: прямая, непосредственная, косвенная и неявная.

Система команд МК 1816 ориентирована на эффективную реализацию процедур управления: маскируемый ввод— вывод, логические операции, операции с битами, сканирование таблиц с передачей управления и т. п. Кроме того, в МК К1816 выполняются команды арифметических операций над двоичными и десятичными двоично-кодированными числами.

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

Группа команд пересылки данных состоит из 24 команд. Все команды (кроме MOV PSW, А) не оказывают воздействия на флаги. Команды пересылки данных внутри МК выполняются за один машинный цикл, обмен с внешней памятью и постами требует двух машинных циклов.

Микроконтроллер операций 1816 выполняет операции сложения, инкремента и декремента, сдвигов, конъюнкции, дизъюнкции и т.д. над непосредственным операндом, содержимым аккумулятора, регистров или ячеек памяти. Все более сложные операции (умножение, деление, возведение в степень и т. д.) выполняются по подпрограммам.

Команды группы арифметических операций изменяют состояние регистра признаков. Из множества признаков результата операции для пользователя программно-доступны только четыре признака: перенос, вспомогательный перенос, а также признаки F0 и F1, функциональное назначение которых специфицируется программистом.

Выполнение команд передачи управления и работы с подпрограммами в МК1816 имеет свои особенности и зависит от распределения программ и данных по блокам и страницам памяти, особенно в случае использования внешней памяти.

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

К достоинствам системы команд МК1816 можно отнести: эффективный ввод/вывод, включая маскирование и возможность управления отдельными битами портов; возможность ветвления по значению отдельных бит; возможность обработки как двоичных, так и десятичных двоично-кодированных чисел.

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

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

Требуется через порты Р1 и Р2 ввести в МК байты состояния многопозиционных двоичных датчиков. Выполнить сравнение введенных байт и по результату сравнения передать управление: в случае равенства управление передается фрагменту программы с меткой L1 и устанавливается в единицу признак пользователя F0; в случае неравенства признак пользователя F0 устанавливается в нуль и через порт BUS на исполнительные механизмы (контакты звукового тракта) выдается в качестве управляющего слова больший из введенных байт, а управление передается фрагменту программы с меткой L2.

В МК 1816 нет команды сравнения и эта операция заменяется процедурой вычитания, которая реализуется путем суммирования одного слагаемого с обратным кодом другого слагаемого.

Программа, реализующая поставленную задачу, приводится в приложении Б.

Соседние файлы в папке ОЭВМ КР1816ВЕ51