Устойчивость замкнутой цифровой системы определяется видом корней характеристического полинома. Для непрерывных систем корни устойчивой системы лежат в левой половине р-плоскости. Переход к комплексной переменной 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У.
|
|