Устойчивость замкнутой цифровой системы определяется видом корней характеристического полинома. Для непрерывных систем корни устойчивой системы лежат в левой половине р-плоскости. Переход к комплексной переменной Z = epT отображает левую полуплоскость во внутреннюю часть круга единичного радиуса с центром в начале координат Z-плоскости. Поэтому в устойчивой системе корни характеристического полинома должны лежать внутри круга единичного радиуса
0<A<14.
Достаточным условием устойчивости для полинома 3 степени является выполнение условия:
Таким образом, импульсная система автоматического управления будет устойчива при значениях параметра А в интервале (0;5,6).
1. А. И. Хитров. Числовое программное управление промышленными установками и РТК. Учебное пособие. Псков. 1998 г. 155 с.
2. В. Ф. Козаченко. Микроконтроллеры: руководство по применению 16-разрядных микроконтроллеров INTEL MCS – 196/296 во встроенных системах управления. М.: Издательство ЭКОМ, 1997 г. 688 с.
3. М. Г. Бычков. Промышленные компьютеры и программируемые логические контролеры. М.: Издательство МЭИ, 2002 г. 92 с.
4. О. П. Ильин и др. Системы программного управления производственными установками и робототехническими комплексами. – Мн.: Высшая школа, 1988 г. 285 с.
5. В. М. Водовозов и др. Микропроцессорные системы программного управления.- СПб.: Энергоатомиздат, 1994 г. 256 с.
6. Многоцелевые системы ЧПУ гибкой механообработки. / под редакцией В. Г. Колосова. Л.: Энергоатомиздат, 1984г. 224 с.
7. Я. З. Цыпкин Теория линейных импульсных систем. М.: Физматиздат, 1963 г. 525 с.
Мнемоника
| Краткое описание операции
|
|
1. Команды пересылки данных.
|
LD(B)
| Загрузка слова (байта).
| LD AX, #25H; AX←25H
LDB A_L, #Ø; A L←Ø
|
ST(B)
| Запоминание слова (байта).
| STB A_L, B_L; A_L→B_L
|
XCH(B)
| Обмен содержимого двух операндов-слов (байт).
| XCH AX, BX; AX↔BX
|
CLR(B)
| Очистка значения операнда-слова (байта).
| CLR AX; AX← 0
|
CLRC
| Очистка флага переноса C в PSW.
| CLRC ; C← Ø
|
SETC
| Установка флага переноса С.
| SETC ; C← 1
|
CLRVT
| Очистка флага-ловушки переполнения VT.
| CLRVT ; VT← 0
|
BMOV
| Непрерывная пересылка блока слов из одной области памяти в другую.
| BMOV A, B
|
2. Арифметические команды.
|
ADD(B)
| Сложение слов (байт) с записью суммы в один из операндов (или третий операнд).
| ADDB A_L, B_L;
A_L = A_L + B_L
ADD AX, BX, CX;
AX = BX + CX
|
ADDC(B)
| Сложение слов (байт) с учетом переноса с записью суммы в один из операндов.
|
|
SUB(B)
| Вычитание слов (байт) с записью разности по месту операнда-уменьшаемого (или третий операнд-источник.
| SUBB A_L, B_L;
A_L = A_L – B_L
SUB AX, BX, CX;
AX = BX – CX
|
SUBC(B)
| Вычитание слов (байт) с учетом заёма с записью разности по месту операнда-уменьшамого.
|
|
INC(B)
| Увеличение значения слова (байта) на 1.
| INCB A_L;
A_L=A_L +1
|
DEC(B)
| Уменьшение операнда-слова (байта) на 1.
| DEC AX; AX = AX – 1
|
NEG(B)
| Изменение на противоположный знака числа.
| NEGB A_L
|
MUL(B)
| Знаковое умножение двух целых чисел с записью произведения на место одного из множителей (или в третий операнд).
| MULB A_L, B_L;
A_L = A_L ∙ B_L
MUL AX, BX, CX;
AX = BX ∙ CX
|
MULU(B)
| Беззнаковое умножение двух слов (байт) с записью произведения на место одного из множителей (или в третий операнд).
|
|
DIV(B)
| Знаковое деление с записью частного в младшее слово (байт) операнда-делимого и остатка – в старшее слово (байт) операнда-делимого.
|
|
CMP(B)
| Сравнение двух операндов-слов (байт).
| CMP AX, BX; AX-BX
CMPB A_L, #25;
A_L-25.
|
3. Логические команды.
|
NOT(B)
| Логическое НЕ – побитовая инверсия операнда-слова (байта)
|
|
AND(B)
| Логическое И – побитовое умножение двух операндов-слов (байт) с записью результата в один из операндов (или в третий операнд).
| ANDB REG, #1111111Ø;
REG.Ø← 0
ANDB REG, #00001111;
REG 7.4 ← 0
(сброс битов)
|
OR(B)
| Логическое ИЛИ – логическая побитовая операция ИЛИ двух операндов-слов (байт) с записью результата в один из операндов.
| ORB REG, #11110000;
; REG. 7.4 ← 1
(установка битов)
|
XOR(B)
| Логическое «Исключающее ИЛИ» - побитовая операция неэквивалентности с записью результата в один из операндов.
| XORB REG, #00000001;
_____
REG.Ø = REG.Ø
(побитовая инверсия разрядов)
|
4. Команды сдвига и нормализации.
|
SHL(B)
| Логический сдвиг слова (байта) влево на заданное число разрядов с заполнением битов справа нулями.
|
|
SHR(B)
| Логический сдвиг слова (байта) вправо на заданное число разрядов с заполнением битов слева нулями.
| SHR REG, # 7
|
SHRA(B)
| Арифметический сдвиг слова (байта) вправо на заданное число разрядов с заполнением битов слева знаком исходного операнда.
| SHRA AX, B_L
|
NORMAL
| Нормализация длинного целого (32 бит) – сдвиг влево до тех пор, пока старший значащий бит не станет равным 1. Запоминание числа сдвигов в операнде-приемнике.
|
|
5. Команды передачи управления.
|
SJMP
| Короткий безусловный переход.
|
|
LJMP
| Длинный безусловный переход.
|
|
BR
| Косвенный переход по содержимому операнда-слова.
| BR M7; (PC) ← M7
|
JC
| Переход, если установлен С.
| JC M7; C = 1 (PC) ← M7
|
JNC
| Переход, если С очищен.
|
|
JE
| Переход, если флаг Z установлен.
|
|
JNE
| Переход, если флаг Z очищен.
|
|
JV
| Переход, если флаг переполнения V установлен.
|
|
JNV
| Переход, если флаг переполнения V очищен.
|
|
JVT
| Переход, если флаг ловушки переполнения VT установлен с одновременной очисткой VT.
|
|
JNVT
| Переход, если флаг ловушки переполнения VT очищен.
|
|
JGE
| Переход, если число со знаком больше или равно (флаг N очищен).
|
|
JLT
| Переход, если число со знаком строго меньше (N установлен).
|
|
JGT
| Переход, если число со знаком строго больше (Z = 0, N = 0).
|
|
JLE
| Переход, если число со знаком меньше или равно (Z = 1 или N = 1).
|
|
JH
| Переход, если число без знака выше (С = 1 и Z = 0).
|
|
JNH
| Переход, если число без знака не выше (С = 0 или Z = 1).
|
|
JBC
| Переход по указанному адресу, если заданный бит байтового операнда очищен.
|
|
JBS
| Переход по указанному адресу, если заданный бит установлен.
|
|
DJNZ
| Декремент значения байтового операнда и переход по указанному адресу, если результат не равен нулю.
|
|
DJNZW
| Уменьшение на 1 значения слова и переход по указанному адресу, если результат не равен нулю (команды организации циклов).
|
|
6. Команды работы со стеком и подпрограммами.
|
PUSH
| Запись в стек слова из операнда-источника.
|
|
POP
| Извлечение слова из стека в операнд-приемник.
|
|
PUSHA
| Запись в стек двух слов с текущим содержимым регистров специального назначения процессора (PSW, INT, MASK, и INT_MASK1, WSR).
|
|
POPA
| Аналогичное восстановление их из стека.
|
|
PUSHF
| Запись в стек слова с текущим содержимым регистров специального назначения процессора (PSW, INT_MASK) – сохранение флагов.
|
|
POPF
| Извлечение слова из стека с записью в регистры (PSW, INT_MASK) восстановление флагов.
|
|
CALL
| SCALL
| - короткий вызов подпрограммы
- длинный вызов подпрограммы
|
|
LCALL
|
RET
| Возврат из подпрограммы.
|
|
7. Команды специального назначения.
|
NOP
| Пустая операция.
|
|
SKIP
| Двухбайтовая пустая операция.
|
|
EI
| Разрешение прерываний.
|
|
DI
| Запрещение прерываний.
|
|
DPTS
| Запрещение работы PTS.
|
|
EPTS
| Разрешение работы PTS.
|
|
RST
| Программный сброс процессора.
|
|
IDLPD
| Установка режима ожидания или пониженного энергопотребления.
|
|
1. Команды пересылки данных.
|
Мнемоника
| Краткое описание операции
|
|
MOV(B)
| Пересылка операнда-слова (байта) источника по адресу операнда приемника.
| MOV A, B; A → B
|
CLR(B)
| Очистка операнда.
|
|
SWAB
| Перестановка байтов.
|
|
2. Арифметические команды.
|
ADD
| Операнд источника складывается с операндом приемника и результат заносится по адресу приемника.
| ADD #1ØØ., CSR;
100+CSR → CSR
|
ADC(B)
| Операнд складывается с содержимым
флага C PSW.
|
|
SBC(B)
| Из операнда вычитается содержимое
флага C PSW.
|
|
SUB
| Из операнда источника вычитается содержимое операнда приемника и результат записывается по адресу приемника.
| SUB A, B
B ← A - B
|
INC(B)
| Инкрементирование операнда.
|
|
DEC(B)
| Декрементирование операнда.
|
|
NEG(B)
| Преобразование операнда в двоичное дополнение (изменение знака числа).
|
|
CMP(B)
| Сравнивает операнды источника с операндом приемника (вычитается приемник из источника).
| CMP A, B
B ← A - B
|
MUL
| Операция умножения.
|
|
DIV
| Операция деления.
|
|
3. Логические команды.
|
COM(B)
| Инвертирование всех разрядов операнда(логическое НЕ)
|
|
BIT(B)
| Логическое И над источником(SS) и приемником(DD).Изменяются флаги PSW, оба операнда не изменяются.
| BIT #10, CSR
; проверка 3 разряда в регистре CSR.
|
BIC(B)
| Очищает каждый разряд операнда (DD),соответствующий установленному разряду операнда SS.
| BIC # 1, CSR
; очистка Ø разряда.
|
BIS(B)
| Выполняет логическую операцию ИЛИ, а результат заносится по адресу операнда-приемника (DD).
| BIS # 2, CSR
; установка в 1
1 разряда CSR.
|
XOR
| Операция «неэквивалентность» над содержимым регистра общего назначения(РОН) и содержимым приемника ( DD).
|
|
TST(B)
| Тестирует операнд и меняет флаги Z и N в PSW.
| M: TSTB CSR
BPL M
; проверка установки 7 бита в CSR в 1.
|
|
|
|
4. Команды сдвига.
|
ROL(B)
| Циклически сдвигает все разряды влево на одну позицию.
|
|
ROR(B)
| Аналогично вправо на одну позицию.
|
|
ASL(B)
| Сдвигает все разряды влево на одну позицию (умножение на два).
|
|
ASR(B)
| Сдвигает все разряды вправо на одну позицию (деление на два).
|
|
5. Команды передачи управления.
|
BR
| Безусловный переход с использованием смещения.
|
|
BNE
| Ветвление, если не равно нулю
(переход, если Z = 0).
|
|
BEQ
| Ветвление, если равно нулю
(переход, если Z = 1).
|
|
BPL
| Ветвление, если плюс
(переход, если N = 0).
|
|
BMI
| Ветвление, если минус
(переход, если N = 1).
|
|
BVC
| Ветвление, если не равно нулю
(проверяет состояние V = 0).
|
|
BVS
| Ветвление, если равно нулю
(переход, если V = 1).
|
|
BCC
| Ветвление, если не равно (нулю)
(переход, если С = 0).
|
|
BCS
| Ветвление, если равно (нулю)
(переход, если С = 1).
|
|
BGE
| Ветвление, если больше или равно (нулю)
(вызывает ветвление, если N и С установлены или очищены).
|
|
BLT
| Ветвление, если меньше (нуля)
(ветвление, если установлен только один из флагов N или С).
|
|
BGT
| Ветвление, если больше (нуля)
(ветвление, если установлен один из флагов N или С, а Z = 1).
|
|
BLE
| Ветвление, если больше или равно (нулю)
(подобна BLT, но вызывает ветвление если результат предыдущей операции был
равен Ø).
|
|
BHI
| Ветвление, если больше
(после операции сравнения если С = 0,
Z = 0).
|
|
BLOS
| Ветвление, если меньше или равно
(вызывает ветвление, если предыдущая операция вызывает перенос или Z = 1).
|
|
JMP
| Безусловный переход. Команда обеспечивает возможность перехода программы на любую ячейку памяти с использованием всех методов адресации (за исключением регистрового).
|
|
6. Команды специального назначения.
|
SOB
| Счет циклов в регистре общего назначения.
| SOB R2, метка
|
JSR
| Переход к подпрограмме.
|
|
RTS
| Возврат из подпрограммы.
|
|
MFPS
| Чтение слова состояния программы (PSW).
|
|
MTPS
| Запись слова состояния (PSW).
| MTPS # 0 (разрешение прерываний)
MTPS # 2ØØ; (запрещение прерываний)
|
NOP
| Нет операции.
|
|
HALT
| Останов.
|
|
WAIT
| Ожидание.
|
|
RTI
| Возврат из прерывания
|
|
TRAP
| Командное прерывание
|
|
RESET
| Сброс BУ.
|
|