
- •Тема 1. 7
- •Тема 2. 22
- •Тема 3. 41
- •Тема 4. 83
- •Основные временные параметры микропроцессора кр580ик80а
- •Программное обеспечение микропроцессора
- •Команды перемещения данных
- •Представлением операнда
- •Команды переходов ( альтернативные команды )
- •Специальные команды
- •Кодирование программы
- •Архитектура последовательного интерфейса кр580ик51
- •Управления от мп
- •Архитектура программируемого таймера кр580ви53
- •И микропроцессором
- •Архитектура бис параллельного интерфейса кр580вв55
- •Сигналами ппи
- •Архитектура контроллера прямого доступа к памяти кр580вт57
- •Архитектура бис программируемого контроллера прерываний кр580вн59
- •Генератор тактовыхимпульсов кр580гф24
- •Системный контроллер и шинный формирователь кр580вк28
- •Буферные регистры кр580ир82 и кр580ир83
- •Шинные формирователи кр580ва86 и кр580ва87
- •Пример подключения микросхемы кр580ви53 к микропроцессорной системе через контроллер прерываний кр580вн59
- •Пример подключения аналого-цифрового преобразователя.
- •Пример совместного использования микросхем комплекта для управления технологическим процессом.
- •Декларирование объектов
- •Структура программы
- •Константы
- •Арифметические операции
- •Преобразование типов операндов арифметических операций
- •Побитовые логические операции, операции над битами
- •Функции вывода информации
- •Стандартные математические функции
- •Условные операторы
- •If (условие ) оператор1;
- •If (условие1) оператор1;
- •Пример использования оператора if
- •Циклические операторы while и do–while
- •Пример использования оператора for
- •Строки, как одномерные массивы символов
- •Указатели и операции над адресами
- •Операция sizeof
- •Указатели на указатели
- •Пример динамического размещения одномерного массива в с
Команды переходов ( альтернативные команды )
Впрограммах управления технологическими процессами всегда имеется много различных ветвей, так как ход программы продолжается в том или ином направлении в зависимости от значений параметров процесса. Изменения программы осуществляются командами переходов (разветвлений) – J(j)МР, которые составляют основу современной АСУ ТП. Выполнение команд переходов можно сравнить с точками принятия решений, и именно эта группа команд придает микропроцессорной системе черты “интеллекта “ и адаптации.
Команды переходов, не связанные с какими-либо условиями, обычно становятся громоздкими и трудно воспринимаемыми.
Трехбайтные команды перехода к подпрограмме называют вызовами – CALL . В команде перехода обязательно указывается адрес или метка перехода. При выполнении вызова необходимо запомнить текущее содержание программного счетчика, так как после выполнения подпрограммы надо вернуться к прерванной программе, а для этого надо передать адрес возврата снова в программный счетчик. Последняя функция реализуется однобайтной командой возврата RET (Return – возврат).
Таким образом, вызов одной подпрограммы и возврат из нее осуществляется сравнительно простыми средствами: шестнадцатибитным регистром для временного запоминания адреса возврата. В качестве шестнадцатиразрядного регистра может быть использован указатель стека. Команда вызова CALL фактически выполняет функции команды PUCH PS , так как она производит следующие действия:
[(SP-1 ]<= (PCH) , [(SP)-2]<= PCL), PC<= <B3> <B2>
Ситуация усложняется, если выполняемая подпрограмма вызывает ещё одну подпрограмму, а это вторая третью и т.д., иными словами, если организуются вложенные подпрограммы, то в этом случае необходим стек, реализованный в ОЗУ.
Трёхбайтные команды условной передачи управления, называемые также условными переходами и разветвлениями, осуществляют передачу управления только при удовлетворении некоторого условия, заданного в коде операции.
Если условие не удовлетворяется, то передачи управления не происходит, а выполняется следующая по порядку команда, т.е. в этой ситуации команда перехода эквивалентна холостой команде.
Проверяемым условием является текущее значение одного из триггеров состояния – какого именно указывается в коде операции четвертым и пятым битами. При этом могут проверяться результаты операции (нулевой или ненулевой, положительный или отрицательный, четный или нечетный , отсутствие или наличие переноса).
Предусмотрены команды переходов, осуществляющие передачу управления как по единичному, так и по нулевому значению каждого из условий. Команда JC, например, означает Jump if carry , т.е. переход, если бит переноса равен 1 (табл. 2.4). Противоположная команда обозначается JNC – Jump if not carry , т.е. перенос отсутствует (CY=0).
Число машинных тактов, требуемых для выполнения команд условных переходов, зависит от условия (значения) соответствующего триггера состояния. Если проверяемые условия не удовлетворяются, то команда выполняется в течении циклов М1, М2 и М3 выборки трехбайтной команды. Если же условие удовлетворяется, то условные переходы выполняются за пять машинных циклов и, соответственно, требуют большего числа тактов.
Таблица 2.4. Мнемоника операций
Условие |
Перевод |
Мнемоника |
|
|
Jump |
Call |
Return |
|
|
Результат не равен нулю Результат равен нулю Нет переноса Есть перенос Нечетный результат Четный результат Положительный результат Отрицательный результат |
No Zero Zero No Carry Carry Parity Odd Parity Even Plus Minus |
JNZ JZ JNC JC JPO JPE JP JM |
CNZ CZ CNC CC CPO CPE CP CM |
RNZ RZ RNC RC RPO RPE RP RM |