- •10. Архитектура мк48
- •Арифметико-логическое устройство
- •Устройство управления микроконтроллера
- •Организация ввода/вывода информации
- •Память микроконтроллера
- •11. Однокристальные микроконтроллеры iMcs48 система команд
- •2. Команды логических операций
- •3. Команды передачи управления
- •12. Архитектура мк51
- •Арифметическо-логическое устройство
- •Устройство управления и синхронизации
- •13. Организация памяти в мк51
- •Сегменты памяти
- •Наращивание памяти
- •14. Организация подсистемы ввода/вывода в мк51
- •15. Организация таймеров и системы прерываний в мк51
- •Организация системы прерываний
- •16. Система команд мк51
- •Группа команд логических операций
- •Группа команд операций с битами
- •Группа команд передачи управления
- •17. Архитектура iMcs96
- •Почему iMcs96 быстрее, чем 8051?
- •20. Организация процессорного порта в iMcs96
- •21. Организация последовательного порта в iMcs96
- •Преобразование параллельного кода в последовательный
- •Протокол обмена
- •22. Система прерываний в iMcs96
- •24. Система команд iMcs96
- •25. Архитектура mc68hc05
- •Регистровая модель
- •Карта памяти для mc68hc705c8
- •Способы адресации
- •26. Архитектура mc68hc08
- •Регистровая модель
- •Способы адресации
- •Структура mc68hc11e9
- •Регистры
- •Способы адресации:
- •1. Подразумеваемая (inh):
- •2. Непосредственная (imm):
- •3. Прямая (dir):
- •5. Индексная с 8-битным смещением (IX, iy):
- •6. Относительная - в командах условного перехода (rel):
- •Система команд
16. Система команд мк51
Система команд МК51 содержит 111 базовых команд, которые удобно разделить по функциональному признаку на пять групп: команды передачи данных, арифметических операций, логических операций, передачи управления и операций с битами.
Система команд МК51 много мощнее и шире системы команд МК48, так как кроме всех команд МК48 в ее состав входят команды умножения, деления, вычитания, операций над битами, операций со стеком и расширенный набор команд передачи управления. Большинство команд (94) имеют формат один или два байта и выполняются за один или два машинных цикла. При тактовой частоте 2 МГц длительность машинного цикла составляет 1 мкс. Первый байт команды любых типа и формата всегда содержит код операции (КОП). Второй и третий байты содержат либо адреса операндов, либо непосредственные операнды.
Состав операндов МК51 шире, чем МК48, и включает в себя операнды четырех типов: биты, 4-битные цифры, байты и 16-битные слова.
В отличие от МК48, который имеет только три битовых флага, МК51 имеет 128 программно-управляемых флагов пользователя. Имеется также возможность адресации отдельных бит блока регистров специальных функций и портов.
Способы адресации данных. В МК51 используются такие же способы адресации данных, как и в МК48: прямая, непосредственная, косвенная и неявная. Следует отметить, что при косвенном способе адресации РПД в отличие от МК48 используются все восемь бит адресных регистров R0 и R1.
Группа команд пересылки данных
Большую часть команд данной группы (табл. 3.2) составляют команды передачи и обмена байтов. Команды пересылки бит представлены в группе команд битовых операций.
Примеры команд:
- Пересылка в аккумулятор из регистра (MOV A, Rn)
- Пересылка в аккумулятор прямоадресуемого байта (MOV A, ad)
- Пересылка в аккумулятор байта из РДП (MOV A, @Ri)
- Загрузка в аккумулятор константы (MOV A, #d)
и так далее.
Группа команд арифметических операций
Данную группу образуют 24 команды, выполняющие операции сложения, десятичной коррекции, инкремента/декремента байтов. Дополнительно по сравнению с МК48 введены команды вычитания, умножения и деления байтов.
Примеры команд:
- Сложение аккумулятора с регистром (ADD A, Rn)
- Сложение аккумулятора с прямоадресуемым байтом (ADD A, ad)
- Сложение аккумулятора с байтом из РПД (ADD A, @Ri)
- Сложение аккумулятора с константой (ADD A, #d)
- Вычитание из аккумулятора регистра и заема (SUBB A, Rn)
- Инкремент аккумулятора (INC A)
- Декремент аккумулятора (DEC A)
- Умножение аккумуллятора на регистр B (MUL AB)
- Деление аккумулятора на регистр B (DIV AB)
Группа команд логических операций
Данную группу образуют 25 команд (табл. 3.4), реализующих те же логические операции над байтами, что и в МК48. Однако в МК51 значительно расширено число типов операндов, участвующих в операциях.
Примеры команд:
- Логическое И аккумулятора и регистра (ANL A, Rn)
- Логическое ИЛИ аккумулятора и регистра (ORL A, Rn)
- Исключающее ИЛИ аккумулятора и регистра (XRL A, Rn)
- Сброс аккумулятора (CLR A)
- Инверсия аккумулятора (CPL A)
- Сдвиг аккумулятора влево циклически (RL A)
- Сдвиг аккумулятора влево через перенос (RLC A)
- Сдвиг аккумулятора вправо циклически (RR A)
- Сдвиг аккумулятора вправо через перенос (RRC A)
