- •Раздел 1. Микропроцессорные системы управления.
- •Раздел 2. Микроконтроллерные системы управления.
- •Раздел 3. Вопросы эксплуатации микропроцессорных устройств.
- •1. Микропроцессорные системы управления
- •1.1. Принципы построения и основы работы
- •Вопросы и задания
- •1.2. Элементная база мпсу
- •Вопросы и задания
- •1.3. Оперативные запоминающие устройства.
- •Вопросы и задания
- •1.4. Постоянные запоминающие устройства.
- •Вопросы и задания
- •1.5. Архитектура микропроцессора типа кр580вм80
- •Вопросы и задания
- •1.6. Типы машинных циклов и слово состояния
- •Вопросы и задания
- •1.7. Командные циклы чтения/записи
- •Вопросы и задания
- •1.8. Командный цикл подтверждения прерывания.
- •1.9. Принципиальные электрические схемы
- •Вопросы и задания
- •1.10. Интерфейс мпсу с изолированной системой шин
- •Вопросы и задания
- •1.11. Интерфейс мпсу с общей системой шин
- •1.12. Организация обслуживания запросов прерывания
- •Вопросы и задания
- •1.13. Программируемый контроллер
- •Вопросы и задания
- •1.14. Программируемый контроллер прерываний
- •Вопросы и задания
- •1.15. Программируемый интервальный таймер
- •Вопросы и задания
- •1.16. Мпсу с вводом-выводом аналоговой информации
- •Вопросы и задания
- •1.17. Выходные каскады мпсу
- •Вопросы и задания
- •2. Микроконтроллерные системы управления
- •2.1. Архитектура микроконтроллера к1816ве51
- •Вопросы и задания
- •2.2. Принципиальная электрическая схема порта
- •2.3. Схемы подключения внешней памяти к мк51
- •Вопросы и задания
- •2.4. Интерфейс мк51 с большим числом
- •Вопросы и задания
- •2.5. Таймер/счетчики мк51.
- •Вопросы и задания
- •2.6. Система прерываний мк51. Использование прерываний в программах
- •Вопросы и задания
- •2.7. Основы организации
- •Допустимые различия скорости приемо-передачи
- •2.8. Организация мультиконтроллерных систем
- •Программы инициализации станции и абонентов
- •Программы станции и абонента в сеансе "станция→абонент"
- •2.9. Микроконтроллерная система управления
- •3. Вопросы эксплуатации микропроцессорных устройств
- •3.1. Отладка аппаратных средств мпсу
- •Вопросы и задания
- •3.2. Отладка программного обеспечения мпсу
- •Вопросы и задания
- •3.3. Методы обеспечения помехоустойчивости мпсу
- •Вопросы и задания
- •1. Группа команд пересылок
- •2. Группа команд инкремента-декремента
- •3. Группа арифметических команд
- •4. Группа логических команд
- •5. Группа команд сдвига
- •6. Группа команд передачи управления
- •7. Группа команд работы со стеком
- •8. Группа команд ввода-вывода и управления микропроцессором
- •1. Группа команд пересылок
- •2. Группа команд арифметических операций
- •3. Группа команд логических операций
- •4. Группа команд операций с битами
- •5. Группа команд передачи управления
- •Дворак Николай Маркович микропроцессорные устройства
- •В высших учебных заведениях 3-4 уровней
- •98309, Г. Керчь, ул. Орджоникидзе, 82
- •98309, Г. Керчь, ул. Орджоникидзе, 82
5. Группа команд сдвига
№ |
Содержание команды |
Мнемокод |
Код2 |
КОП |
Б |
Ц |
Т |
C |
Z |
S |
P |
C' |
Операция |
64 |
Сдвиг содержимого аккумулятора влево циклический |
RLC |
00000111 |
07 |
1 |
1 |
4 |
+ |
- |
- |
- |
- |
Am+1←Am; A0←A7; C←A7 |
65 |
Сдвиг содержимого аккумулятора вправо циклический |
RRC |
00001111 |
0F |
1 |
1 |
4 |
+ |
- |
- |
- |
- |
Am←Am+1; A7←A0; C←A0 |
66 |
Сдвиг содержимого аккумулятора влево арифметический (с переносом) |
RAL |
00010111 |
17 |
1 |
1 |
4 |
+ |
- |
- |
- |
- |
Am+1←Am; C←A7; A0←C |
67 |
Сдвиг содержимого аккумулятора вправо арифме-тический (с переносом) |
RAR |
00011111 |
1F |
1 |
1 |
4 |
+ |
- |
- |
- |
- |
Am←Am+1; A7←C; C←A0 |
6. Группа команд передачи управления
№ |
Содержание команды |
Мнемокод |
Код2 |
КОП |
Б |
Ц |
Т |
C |
Z |
S |
P |
C' |
Операция |
68 |
Безусловный переход на команду, адрес которой указан во 2-м и 3-м байтах команды |
JMP ad16 |
11000011 <b2> <bЗ> |
C3 |
3 |
3 |
10 |
- |
- |
- |
- |
- |
РС←<b3><b2> |
69 |
Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если флаг переноса не установлен: С=0 |
JNC ad16 |
11010010 <b2> <b3> |
D2 |
3 |
3 |
10 |
- |
- |
- |
- |
- |
Если C=0, то РС←<b3><b2>, иначе РС←РС+3 |
70 |
Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если флаг переноса установлен: С=1 |
JC ad16 |
11011010 <b2> <b3> |
DА |
3 |
3 |
10 |
- |
- |
- |
- |
- |
Если C=1, то РС←<b3><b2>, иначе РС←РС+3 |
71 |
Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если флаг нуля не установлен: Z=0 |
JNZ ad16 |
11000010 <b2> <b3> |
C2 |
3 |
3 |
10 |
- |
- |
- |
- |
- |
Если Z=0, то РС←<b3><b2>, иначе РС←РС+3 |
72 |
Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если флаг нуля установлен: Z=1 |
JZ ad16 |
11001010 <b2> <b3> |
CА |
3 |
3 |
10 |
- |
- |
- |
- |
- |
Если Z=1, то РС←<b3><b2>, иначе РС←РС+3 |
73 |
Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если флаг знака указывает на положительное число: S=0 |
JP ad16 |
11110010 <b2> <b3> |
F2 |
3 |
3 |
10 |
- |
- |
- |
- |
- |
Если S=0, то РС←<b3><b2>, иначе РС←РС+3 |
74 |
Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если флаг знака указывает на отрицательное число: S=1 |
JM ad16 |
11111010 <b2> <b3> |
FA |
3 |
3 |
10 |
- |
- |
- |
- |
- |
Если S=1, то РС←<b3><b2>, иначе РС←РС+3 |
75 |
Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если результат содержит нечетное число единиц: Р=0 |
JPO ad16 |
11100010 <b2> <b3> |
Е2 |
3 |
3 |
10 |
- |
- |
- |
- |
- |
Если P=0, то РС←<b3><b2>, иначе РС←РС+3 |
76 |
Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если результат содержит четное число единиц: Р=1 |
JPE ad16 |
11101010 <b2> <b3> |
ЕА |
3 |
3 |
10 |
- |
- |
- |
- |
- |
Если P=1, то РС←<b3><b2>, иначе РС←РС+3 |
77 |
Безусловный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды |
CALL ad16 |
11001101 <b2> <b3> |
CD |
3 |
5 |
17 |
- |
- |
- |
- |
- |
(SP-1)(SP-2)← (PC); SP←(SP-2); PC←<b3><b2> |
78 |
Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если флаг переноса не установлен: С=0 |
CNC ad16 |
11010100 <b2> <b3> |
B4 |
3 |
3 5 |
11 17 |
- |
- |
- |
- |
- |
Если C=0, то (SP-1)(SP-2)← (PC); SP←(SP-2); PC←<b3> <b2>, иначе РС←РС+3 |
79 |
Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если флаг переноса установлен: С=1 |
CC ad16 |
11011100 <b2> <b3> |
DС |
3 |
3 5 |
11 17 |
- |
- |
- |
- |
- |
Если C=1, то (SP-1)(SP-2)← (PC); SP←SP-2; PC←<b3><b2>, иначе РС←РС+3 |
80 |
Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если флаг нуля не установлен: Z=0 |
CNZ ad16 |
11000100 <b2> <b3> |
С4 |
3 |
3 5 |
11 17 |
- |
- |
- |
- |
- |
Если Z=0, то (SP-1)(SP-2)← (PC); SP←SP-2; PC←<b3><b2>, иначе РС←РС+3 |
81 |
Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если флаг нуля установлен: Z=1 |
CZ ad16 |
11001100 <b2> <b3> |
СС |
3 |
3 5 |
11 17 |
- |
- |
- |
- |
- |
Если Z=1, то (SP-1)(SP-2)← (PC); SP←SP-2; PC←<b3><b2>, иначе РС←РС+3 |
82 |
Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если флаг знака указывает на положительное число: S=0 |
CP ad16 |
11110100 <b2><b3> |
F4 |
3 |
3 5 |
11 17 |
- |
- |
- |
- |
- |
Если S =0, то (SP-1)(SP-2)← (PC); SP←SP-2; PC←<b3><b2>, иначе РС←РС+3 |
83 |
Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если флаг знака указывает на отрицательное число: S=1 |
CM ad16 |
11111100 <b2><b3> |
FC |
3 |
3 5 |
11 17 |
- |
- |
- |
- |
- |
Если S =1, то (SP-1)(SP-2)← (PC); SP←SP-2; PC←<b3><b2>, иначе РС←РС+3 |
84 |
Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если результат содержит нечетное число единиц: Р=0 |
CPO ad16 |
11100100 <b2> <b3> |
Е4 |
3 |
3 5 |
11 17 |
- |
- |
- |
- |
- |
Если P=0, то (SP-1)(SP-2)← (PC); SP←SP-2; PC←<b3><b2>, иначе РС←РС+3 |
85 |
Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если результат содержит четное число единиц: Р=1 |
CPE ad16 |
11101100 <b2> <b3> |
ЕС |
3 |
3 5 |
11 17 |
- |
- |
- |
- |
- |
Если P=1, то (SP-1)(SP-2)← (PC); SP←SP-2; PC←<b3><b2>, иначе РС←РС+3 |
86 |
Безусловный возврат из подпрограммы по адресу, указанному в стеке SP |
RET |
11001001 |
С9 |
1 |
3 |
11 |
- |
- |
- |
- |
- |
PC←(SP+1)(SP); SP←SP+2 |
87 |
Условный возврат из подпрограммы по адресу, указанному в стеке SP, если флаг переноса не установлен: С=0 |
RNC |
11010000 |
D0 |
1 |
1 3 |
11 17 |
- |
- |
- |
- |
- |
Если C =0, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3 |
88 |
Условный возврат из подпрограммы по адресу, указанному в стеке SP, если флаг переноса установлен: С=1 |
RC |
11011000 |
D8 |
1 |
1 3 |
11 17 |
- |
- |
- |
- |
- |
Если C=1, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3 |
89 |
Условный возврат из подпрограммы по адресу, указанному в стеке SP, если флаг нуля не установлен: Z=0 |
RNZ |
11000000 |
С0 |
1 |
1 3 |
11 17 |
- |
- |
- |
- |
- |
Если Z=0, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3 |
90 |
Условный возврат из подпрограммы по адресу, указанному в стеке SP, если флаг нуля установлен: Z=1 |
RZ |
11001000 |
C8 |
1 |
1 3 |
11 17 |
- |
- |
- |
- |
- |
Если Z =1, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3 |
91 |
Условный возврат из подпрограммы по адресу, указанному в стеке SP, если флаг знака указывает на положительное число: S=0 |
RP |
11110000 |
F0 |
1 |
1 3 |
11 17 |
- |
- |
- |
- |
- |
Если S =0, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3 |
92 |
Условный возврат из подпрограммы по адресу, указанному в стеке SP, если флаг знака указывает на отрицательное число: S=1 |
RM |
11111000 |
F8 |
1 |
1 3 |
11 17 |
- |
- |
- |
- |
- |
Если S=1, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3 |
93 |
Условный возврат из подпрограммы по адресу, указанному в стеке SP, если результат содержит нечетное число единиц: Р=0 |
RPO |
11100000 |
E0 |
1 |
1 3 |
11 17 |
- |
- |
- |
- |
- |
Если P=0, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3 |
94 |
Условный возврат из подпрограммы по адресу, указанному в стеке SP, если результат содержит четное число единиц: Р=1 |
RPE |
11101000 |
E8 |
1 |
1 3 |
11 17 |
- |
- |
- |
- |
- |
Если P=1, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3 |