- Главная
- Информатика
- Микропроцессорные системы АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРА 8051
Содержание
- 2. Микроконтроллер 8051 Микроконтроллер выполнен на основе высокоуровневой n-МОП технологии. Через четыре программируемых параллельных порта ввода/вывода и
- 3. Микроконтроллеры рассматриваемого семейства являются типичными микропроцессорными устройствами с архитектурой SISC - со стандартным набором команд. Поэтому
- 4. Наиболее существенная особенность системы команд рассматриваемых микроконтроллеров это возможность адресации отдельных бит в резидентной памяти данных.
- 5. Простейшие операции автоматически образуют “тандемы” для выполнения таких операций, как, например, инкрементирование 16-битных регистровых пар. В
- 7. Таким образом, ALU может оперировать четырьмя типами информационных объектов: булевыми (1 бит), цифровыми (4 бита), байтными
- 8. DPTR выполняет функции базового регистра при косвенных переходах по программе или используется в операциях с таблицами.
- 9. Таблица1. Блок регистров специальных функций Примечание. Регистры, имена которых отмечены знаком (*), допускают адресацию отдельных битов.
- 10. Аккумулятор, регистры общего назначения и флаги. Аккумулятор (A) является источником операнда и местом фиксации результата при
- 11. Таблица 2. Формат слова состояния программы - PSW.
- 12. Таблица 3 Выбор рабочего банка регистров Наиболее “активным” флагом PSW является флаг переноса, который принимает участие
- 13. В микропроцессорах, архитектура которых опирается на аккумулятор, большинство команд работают с ним, используя неявную адресацию. В
- 14. Регистры специальных функций. Регистры с символическими именами IP, IE, TMOD, TCON, SCON и PCON используются для
- 15. Входные и выходные сигналы устройства управления и синхронизации: • PSEN – разрешение программной памяти, • ALE
- 16. Таблица 4. Альтернативные функции порта P3.
- 17. Порт 0 является двунаправленным, а порты 1-3 - квазидвунаправленными. Каждая линия портов может быть использована независимо
- 18. Таймер/счётчик. В составе микроконтроллера имеются регистровые пары с символическими именами TH0, TL0 и TH1, TL1, на
- 19. Таблица 5. Регистр режима работы таймера/счётчика.
- 20. Таблица 6. Режимы работы таймера/счётчика.
- 21. Таблица 7. Регистр управления/статуса таймера.
- 22. Режим 0. Перевод любого T/C в этот режим делает его 8-разрядным таймером, на вход которого подключен
- 23. При этом TH0 использует флаг переполнения TF1. Режим 3 используется в тех случаях, когда требуется наличие
- 24. Последовательный порт может работать в четырех различных режимах. Режим 0. Информация передаётся и принимается через вход
- 25. Таблица 8. Регистр управления/статуса UART.
- 26. Прикладная программа путём загрузки в два старших разряда SCON определяет режим работы UART. Во всех режимах
- 27. Работа UART в мультиконтроллерных системах. В системах децентрализованного управления, которые используются для управления и регулирования в
- 28. Скорость приёма/передачи. Скорость зависит от режима работы UART. В режиме 0 частота зависит только от резонатора:
- 29. Таблица 10. Регистр управления мощностью PCON. Примечание. При одновременной записи 1 в PD и IDL бит
- 30. Таблица 11. Настройка таймера 1 для управления частотой работы UART. Таймер/счётчик 1
- 31. Система прерываний. Внешние прерывания INT0 и INT1 (рис. 2) могут быть вызваны уровнем или переходом сигнала
- 32. Флаги запросов прерывания от таймеров TF0 и TF1 сбрасываются автоматически при передаче управления подпрограмме обслуживания. Флаги
- 33. Таблица 13. Регистр приоритетов прерывания IP.
- 34. Возможность программной установки/сброса любого управляющего бита в этих двух регистрах делает систему прерываний исключительно гибкой. Флаги
- 35. Типы команд. Всего микроконтроллеры семейства 8051 выполняют 13 типов команд, они приведены в таблице. Как следует
- 36. Группы команд. Все команды микроконтроллеры семейства 8051 можно разбить на пять функциональных групп: пересылки данных; арифметических
- 37. Oбозначения, используемые при описании команд: Rn (n = 0, 1,..., 7) - регистр общего назначения в
- 38. #d16 - непосредственный операнд (2 байта); bit - адрес прямо адресуемого бита; /bit - инверсия прямо
- 39. Команды пересылки данных микроконтроллера 8051 Эта группа представлена 28 командами, их краткое описание приведено в таблице,
- 40. По команде MOV выполняется пересылка данных из второго операнда в первый. Эта команда не имеет доступа
- 41. Команды арифметических операций микроконтроллера 8051 В данную группу входят 24 команды, краткое описание которых приведено в
- 42. По результату выполнения команд ADD, ADDC, SUBB, MUL и DIV устанавливаются флаги PSW, структура которых приведена
- 43. Команды логических операций микроконтроллера 8051 В этой группе 25 команд, их краткое описание приведено в таблице.
- 44. Команды операций над битами микроконтроллера 8051 Группа состоит из 12 команд, краткое описание которых приведено в
- 45. Группа представлена командами безусловного и условного переходов, командами вызова подпрограмм и командами возврата из подпрограмм. В
- 46. Команда безусловного перехода LJMP (L - long - длинный) осуществляет переход по абсолютному 16-битному адресу, указанному
- 47. Командами условного перехода можно проверять следующие условия: JZ - аккумулятор содержит нулевое значение; JNZ - аккумулятор
- 48. Команда CJN удобна для реализации процедур ожидания внешних событий. В теле команды указаны "координаты" двух байт
- 49. Таблицы адресов битовых областей памяти микроконтроллера 8051 Память данных ПРИМЕЧАНИЕ. Адрес прямо адресуемых битов может быть
- 50. Регистры специальных функций
- 52. Скачать презентацию
Микроконтроллер 8051
Микроконтроллер выполнен на основе высокоуровневой n-МОП технологии. Через четыре
Микроконтроллер 8051
Микроконтроллер выполнен на основе высокоуровневой n-МОП технологии. Через четыре
ввода/вывода (P0-P3).
Микроконтроллеры рассматриваемого семейства являются типичными микропроцессорными устройствами с архитектурой SISC
Микроконтроллеры рассматриваемого семейства являются типичными микропроцессорными устройствами с архитектурой SISC
В качестве операндов команд микроконтроллеры семейства 8051 могут использовать отдельные биты, четырехбитные цифры, байты и двухбайтные слова.
Все эти черты обычны для набора команд любого SISC-процессора и по сранению с RISC набором команд обеспечивает большую компактность программного кода и увеличение быстродействия при выполнении сложных операций.
В то же время, набор команд семейства 8051 имеет несколько особенностей, связанных с типичными функциями выполняемыми микроконтроллерами - управлением, для которого типичным является оперирование с одноразрядными двоическими сигналами, большое число операций ввода выводи и ветвлений программы.
Наиболее существенная особенность системы команд рассматриваемых микроконтроллеров это возможность адресации
Наиболее существенная особенность системы команд рассматриваемых микроконтроллеров это возможность адресации
Арифметико-логическое устройство.
8-битное арифметико-логическое устройство (ALU) может выполнять арифметические операции сложения, вычитания, умножения и деления; логические операции И, ИЛИ, исключающее ИЛИ, а также операции циклического сдвига, сброса, инвертирования и т.п. К входам подключены программно-недоступные регистры T1 и T2, предназначенные для временного хранения операндов, схема десятичной коррекции (DCU) и схема формирования признаков результата операции (PSW).
Простейшая операция сложения используется в ALU для инкрементирования содержимого регистров, продвижения регистра-указателя данных (RAR) и автоматического вычисления следующего адреса резидентной памяти программ. Простейшая операция вычитания используется в ALU для декрементирования регистров и сравнения переменных.
Простейшие операции автоматически образуют “тандемы” для выполнения таких операций, как,
Простейшие операции автоматически образуют “тандемы” для выполнения таких операций, как,
Важной особенностью ALU является его способность оперировать не только байтами, но и битами. Отдельные программно-доступные биты могут быть установлены, сброшены, инвертированы, переданы, проверены и использованы в логических операциях. Эта способность достаточно важна, поскольку для управления объектами часто применяются алгоритмы, содержащие операции над входными и выходными булевыми переменными, реализация которых средствами обычных микропроцессоров сопряжена с определенными трудностями.
Ниже прииведена структурная схема микроконтроллера КМ1816ВЕ51.
Таким образом, ALU может оперировать четырьмя типами информационных объектов: булевыми
Таким образом, ALU может оперировать четырьмя типами информационных объектов: булевыми
Резидентная память программ и данных.
Резидентные (размещённые на кристалле) память программ (RPM) и память данных (RDM) физически и логически разделены, имеют различные механизмы адресации, работают под управлением различных сигналов и выполняют разные функции
Память программ RPM имеет емкость 4 Кбайта и предназначена для хранения команд, констант, управляющих слов инициализации, таблиц перекодировки входных и выходных переменных и т.п. Память имеет 16-битную шину адреса, через которую обеспечивается доступ из программного счётчика PC или из регистра- указателя данных (DPTR).
DPTR выполняет функции базового регистра при косвенных переходах по программе или
DPTR выполняет функции базового регистра при косвенных переходах по программе или
Память программ, так же как и память данных, может быть расширена до 64 Кбайт путем подключения внешних микросхем.
Таблица1. Блок регистров специальных функций
Примечание.
Регистры, имена
которых отмечены знаком (*), допускают
Таблица1. Блок регистров специальных функций
Примечание.
Регистры, имена
которых отмечены знаком (*), допускают
адресацию
отдельных битов.
Аккумулятор, регистры общего назначения и флаги.
Аккумулятор (A) является источником операнда
Аккумулятор, регистры общего назначения и флаги.
Аккумулятор (A) является источником операнда
Таблица 2. Формат слова состояния программы - PSW.
Таблица 2. Формат слова состояния программы - PSW.
Таблица 3 Выбор рабочего банка регистров
Наиболее “активным” флагом PSW
Таблица 3 Выбор рабочего банка регистров
Наиболее “активным” флагом PSW
В микропроцессорах, архитектура которых опирается на аккумулятор, большинство команд работают с
В микропроцессорах, архитектура которых опирается на аккумулятор, большинство команд работают с
Регистры-указатели.
8-битный указатель стека (SP) может адресовать любую область RDM. Его содержимое инкрементируется прежде, чем данные будут запомнены в стеке в ходе выполнения команд PUSH и CALL. Содержимое SP декрементируется после выполнения команд POP и RET. Подобный способ адресации элементов стека называют прединкрементным/постдекрементным. В процессе инициализации микроконтроллера после сигнала RST в SP автоматически загружается код 07Н. Это значит, что если прикладная программа не переопределяет стек, то первый элемент данных в стеке будет располагаться в ячейке RDM с адресом 08Н. Двухбайтный регистр-указатель данных DPTR обычно используется для фиксации 16-битного адреса в операциях с обращением к внешней памяти. Командами микроконтроллера регистр-указатель данных может быть использован или как 16-битный регистр, или как два независимых 8-битных регистра (DPH и DPL).
Регистры специальных функций.
Регистры с символическими именами IP, IE, TMOD, TCON, SCON
Регистры специальных функций.
Регистры с символическими именами IP, IE, TMOD, TCON, SCON
Устройство управления и синхронизации
Кварцевый резонатор, подключаемый к внешним выводам микроконтроллера, управляет работой внутреннего генератора, который в свою очередь формирует сигналы синхронизации. Устройство управления (CU) на основе сигналов синхронизации формирует машинный цикл фиксированной длительности, равной 12 периодам резонатора. Большинство команд микроконтроллера выполняется за один машинный цикл. Некоторые команды, оперирующие с 2-байтными словами или связанные с обращением к внешней памяти, выполняются за два машинных цикла. Только команды деления и умножения требуют четырех машинных циклов. На ос нове этих особенностей работы устройства управления производится расчёт времени исполнения прикладных программ.
На схеме микроконтроллера к устройству управления примыкает регистр команд (IR). В его функцию входит хранение кода выполняемой команды.
Входные и выходные сигналы устройства управления и синхронизации:
• PSEN
Входные и выходные сигналы устройства управления и синхронизации:
• PSEN
• ALE – выходной сигнал разрешения фиксации адреса,
• PROG – сигнал программирования,
• EA – блокировка работы с внутренней памятью,
• VPP – напряжение программирования,
• RST – сигнал общего сброса,
• VPD – вывод резервного питания памяти от внешнего источника,
• XTAL – входы подключения кварцевого резонатора.
Параллельные порты ввода/вывода информации.
Все четыре порта (P0-P3) предназначены для ввода или вывода информации побайтно. Каждый порт содержит управляемые регистр-защёлку, входной буфер и выходной драйвер.
Выходные драйверы портов 0 и 2, а также входной буфер порта 0 используются при обращении к внешней памяти. При этом через порт 0 в режиме временного мультиплексирования сначала выводится младший байт адреса, а затем выдается или принимается байт данных. Через порт 2 выводится старший байт адреса в тех случаях, когда разрядность адреса равна 16 бит. Все выводы порта 3 могут быть использованы для реализации альтернативных функций, перечисленных в табл. 4. Эти функции могут быть задействованы путем записи 1 в соответствующие биты регистра-защёлки (P3.0-P3.7) порта 3.
Таблица 4. Альтернативные функции порта P3.
Таблица 4. Альтернативные функции порта P3.
Порт 0 является двунаправленным, а порты 1-3 - квазидвунаправленными. Каждая
Порт 0 является двунаправленным, а порты 1-3 - квазидвунаправленными. Каждая
• ANL – логическое И, например, ANL P1,А;
• ORL – логическое ИЛИ, например, ORL P2,А;
• XRL – исключающее ИЛИ, например, XRL Р3,А;
• JBC – переход, если в адресуемом бите единица, и последующий сброс бита,например, JBC P1.1, LABEL;
• CPL – инверсия бита, например, CPL Р3.3;
• INC – инкремент порта, например, INC P2;
• DEC – декремент порта, например, DEC P2;
• DJNZ – декремент порта и переход, если его содержимое не равно нулю,например, DJNZ r, LABEL;
• MOV PX.Y,C – передача бита переноса в бит Y порта X;
• SET PX.Y – установка бита Y порта X; • CLR PX.Y – сброс бита Y порта X.
Таймер/счётчик.
В составе микроконтроллера имеются регистровые пары с символическими именами
Таймер/счётчик.
В составе микроконтроллера имеются регистровые пары с символическими именами
Для управления режимами работы и для организации взаимодействия таймеров с системой прерывания используются два регистра специальных функций TMOD и TCON, описание которых приводится в табл. 5-7. Для обоих T/C режимы работы 0, 1 и 2 одинаковы. Режимы 3 для T/C0 и T/C1 различны.
Таблица 5. Регистр режима работы таймера/счётчика.
Таблица 5. Регистр режима работы таймера/счётчика.
Таблица 6. Режимы работы таймера/счётчика.
Таблица 6. Режимы работы таймера/счётчика.
Таблица 7. Регистр управления/статуса таймера.
Таблица 7. Регистр управления/статуса таймера.
Режим 0. Перевод любого T/C в этот режим делает
Режим 0. Перевод любого T/C в этот режим делает
Режим 1. Работа любого T/C в этом режиме такая же, как и в режиме 0, за исключением того, что таймерный регистр имеет разрядность 16 бит.
Режим 2. В этом режиме работа организована таким образом, что переполнение (переход из состояния “все единицы” в состояние “все нули”) 8-битного счётчика TL1 приводит не только к установке флага TF1, но и автоматически перезагружает в TL1 содержимое старшего байта (TH1) таймерного регистра, которое предварительно было задано программным путем. Перезагрузка оставляет содержимое TH1 неизменным. В режиме 2 T/C0 и T/C1 работают совершенно одинаково.
Режим 3. В этом режиме T/C0 и T/C1 работают по-разному. T/C1 сохраняет неизменным своё текущее содержимое. Иными словами, эффект такой же, как и при сбросе управляющего бита TR1 в нуль. В этом режиме TL0 и TH0 функционируют как два независимых 8-битных счётчика. Работу TL0 определяют управляющие биты T/C0 (C/T, GATE, TR0), входной сигнал INT0 и флаг переполнения TF0. Работу TH0, который может выполнять только функции таймера (подсчёт машинных циклов микроконтроллера), определяет управляющий бит TR1.
При этом TH0 использует флаг переполнения TF1. Режим 3 используется в
При этом TH0 использует флаг переполнения TF1. Режим 3 используется в
Последовательный порт
Через универсальный асинхронный приёмопередатчик UART (Universal Asynchronous Receiver-Transmitter) происходит передача информации, представленной последовательным кодом (младшими битами вперед), в полном дуплексном режиме обмена. В состав UART, называемого часто последовательным портом, входят принимающий и передающий сдвигающие регистры, а также специальный буферный регистр (SBUF) приёмопередатчика.
Регистр SBUF
Представляет собой два независимых регистра: буфер приёмника и буфер передатчика. Загрузка байта в SBUF немедленно вызывает начало процесса передачи через последовательный порт. Когда байт считывается из SBUF, это значит, что его источником является приёмник последовательного порта. Запись байта в буфер приводит к автоматической переписи байта в сдвигающий регистр передатчика и инициирует начало передачи байта. Наличие буферного регистра приёмника позволяет совмещать операцию чтения ранее принятого байта с приёмом очередного байта. Если к моменту окончания приёма байта предыдущий байт не был считан, то он будет потерян.
Последовательный порт может работать в четырех различных режимах. Режим 0. Информация
Последовательный порт может работать в четырех различных режимах. Режим 0. Информация
Таблица 8. Регистр управления/статуса UART.
Таблица 8. Регистр управления/статуса UART.
Прикладная программа путём загрузки в два старших разряда SCON определяет
Прикладная программа путём загрузки в два старших разряда SCON определяет
Таблица 9. Режим работы UART.
Работа UART в мультиконтроллерных системах.
В системах децентрализованного управления, которые
Работа UART в мультиконтроллерных системах.
В системах децентрализованного управления, которые
Скорость приёма/передачи.
Скорость зависит от режима работы UART.
Скорость приёма/передачи.
Скорость зависит от режима работы UART.
Таблица 10. Регистр управления мощностью PCON.
Примечание. При одновременной записи 1
Таблица 10. Регистр управления мощностью PCON.
Примечание. При одновременной записи 1
преимущество. Сброс PCON выполняется путем загрузки в него кода 0XXX0000.
Таблица 11. Настройка таймера 1 для управления частотой работы UART.
Таймер/счётчик
Таблица 11. Настройка таймера 1 для управления частотой работы UART.
Таймер/счётчик
Система прерываний.
Внешние прерывания INT0 и INT1 (рис. 2) могут
Система прерываний.
Внешние прерывания INT0 и INT1 (рис. 2) могут
Рис. 2. Схема прерываний.
Флаги запросов прерывания от таймеров TF0 и TF1 сбрасываются автоматически
Флаги запросов прерывания от таймеров TF0 и TF1 сбрасываются автоматически
Таблица 12. Регистр масок прерывания IE.
Таблица 13. Регистр приоритетов прерывания IP.
Таблица 13. Регистр приоритетов прерывания IP.
Возможность программной установки/сброса любого управляющего бита в этих двух регистрах
Возможность программной установки/сброса любого управляющего бита в этих двух регистрах
• в данный момент обслуживается запрос прерывания равного или более высокого уровня приоритета;
• текущий машинный цикл – не последний в цикле выполняемой команды;
• выполняется команда RETI или любая команда, связанная с обращением к регистрам IE или IP.
Примечание. Если флаг прерывания был установлен, но по одному из перечисленных условий не получил обслуживания и к моменту окончания блокировки уже был сброшен, то запрос прерывания теряется. По аппаратно сформированному коду команды LCALL система прерывания помещает в стек содержимое программного счётчика PC и загружает в PC адрес вектора прерывания соответствующей подпрограммы обслуживания. По этому адресу должна быть расположена команда безусловного перехода JMP к начальному адресу подпрограммы обслуживания прерывания. Эта подпрограмма в случае необходимости должна начинаться командами записи в стек PUSH слова состояния программы PSW, аккумулятора A, расширителя аккумулятора B, указателя данных DPTR и т.д. и заканчиваться командами восстановления из стека POP. Подпрограммы обслуживания прерывания обязательно завершаются командой RETI, по которой в программный счётчик перезагружается из стека сохранённый адрес возврата в основную программу. Команда RET также возвращает управление, но при этом не снимает блокировку прерывания.
Типы команд.
Всего микроконтроллеры семейства 8051 выполняют 13 типов команд, они
Типы команд.
Всего микроконтроллеры семейства 8051 выполняют 13 типов команд, они
Система команд, особенности набора команд
Группы команд.
Все команды микроконтроллеры семейства 8051 можно разбить на пять функциональных
Группы команд.
Все команды микроконтроллеры семейства 8051 можно разбить на пять функциональных
пересылки данных;
арифметических операций;
логических операций;
операций над битами;
передачи управления.
Oбозначения, используемые при описании команд:
Rn (n = 0, 1,..., 7)
Oбозначения, используемые при описании команд:
Rn (n = 0, 1,..., 7)
@Ri(i= 0, 1) - регистр общего назначения в выбранном банке регистров, используемый в качестве регистра косвенного адреса;
ad - адрес прямоадресуемого байта;
ads - адрес прямо адресуемого байта-источника;
add - адрес прямо адресуемого байта-получателя;
ad11 - 11-разрядный абсолютный адрес перехода;
ad16 - 16-разрядный абсолютный адрес перехода;
rel - относительный адрес перехода;
#d - непосредственный операнд;
#d16 - непосредственный операнд (2 байта);
bit - адрес прямо адресуемого бита;
/bit
#d16 - непосредственный операнд (2 байта);
bit - адрес прямо адресуемого бита;
/bit
А - аккумулятор;
РС - счетчик команд;
DPTR - регистр указатель данных;
( ) - содержимое ячейки памяти или регистра,
Команды пересылки данных микроконтроллера 8051
Эта группа представлена 28 командами, их
Команды пересылки данных микроконтроллера 8051
Эта группа представлена 28 командами, их
По команде MOV выполняется пересылка данных из второго операнда в первый.
По команде MOV выполняется пересылка данных из второго операнда в первый.
По команде XCH выполняется обмен байтами между аккумулятором и ячейкой РПД, а по команде XCHD - обмен младшими тетрадами (битами 0 - 3).
Команды PUSH и РОР предназначены соответственно для записи данных в стек и их чтения из стека .Размер стека ограничен лишь размером резидентной памяти данных. В процессе инициализации микроконтроллеры после сигнала сброса или при включении питающего напряжения в SP заносится код 07Н. Это означает, что первый элемент стека будет располагаться в ячейке памяти с адресом 08Н.
Группа команд пересылок микроконтроллера имеет следующую особенность - в ней нет специальных команд для работы со специальными регистрами: PSW, таймером, портами ввода-вывода. Доступ к ним, как и к другим регистрам специальных функций, осуществляется заданием соответствующего прямого адреса, т.е. это команды обычных пересылок, в которых вместо адреса можно ставить название соответствующего регистра. Например, чтение PSW в аккумулятор может быть выполнено командой:
MOV A, PSW ,которая преобразуется Ассемблером к виду:
MOV А, 0D0h (E5 D0) , где Е5 - код операции, а D0 - операнд (адрес PSW).
Кроме того, следует отметить, что в микроконтроллере аккумулятор имеет два различных имени в зависимости от способа адресации: А - при неявной адресации (например, MOV A, R0) и АСС - при использовании прямого адреса. Первый способ предпочтительнее, однако, не всегда применим.
Команды арифметических операций микроконтроллера 8051
В данную группу входят 24 команды, краткое
Команды арифметических операций микроконтроллера 8051
В данную группу входят 24 команды, краткое
В таблице также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (В) и время выполнения в машинных циклах (С)
По результату выполнения команд ADD, ADDC, SUBB, MUL и DIV устанавливаются
По результату выполнения команд ADD, ADDC, SUBB, MUL и DIV устанавливаются
Флаг С устанавливается при переносе из разряда D7, т. е. в случае, если результат не помещается в восемь разрядов; флаг АС устанавливается при переносе из разряда D3 в командах сложения и вычитания и служит для реализации десятичной арифметики. Этот признак используется командой DAA.
Флаг OV устанавливается при переносе из разряда D6, т. е. в случае, если результат не помещается в семь разрядов и восьмой не может быть интерпретирован как знаковый. Этот признак служит для организации обработки чисел со знаком.
Наконец, флаг Р устанавливается и сбрасывается аппаратно. Если число единичных бит в аккумуляторе нечетно, то Р = 1, в противном случае Р = 0.
Команды
логических операций
микроконтроллера 8051
В этой группе 25 команд,
Команды
логических операций
микроконтроллера 8051
В этой группе 25 команд,
В таблице также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (В) и время выполнения в машинных циклах (С)
Команды операций над битами микроконтроллера 8051
Группа состоит из 12 команд,
Команды операций над битами микроконтроллера 8051
Группа состоит из 12 команд,
В таблице также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (В) и время выполнения в машинных циклах (С)
Группа представлена командами безусловного и условного переходов, командами вызова подпрограмм и
Группа представлена командами безусловного и условного переходов, командами вызова подпрограмм и
В таблице также указаны тип команды (Т) в соответствии с таблицей, ее длина
в байтах (В) и время выполнения в машинных
циклах (С)
Команды
передачи управления
Команда безусловного перехода LJMP (L - long - длинный) осуществляет переход
Команда безусловного перехода LJMP (L - long - длинный) осуществляет переход
Действие команды AJMP (А - absolute - абсолютный) аналогично команде LJMP, однако в теле команды указаны лишь 11 младших разрядов адреса. Поэтому переход осуществляется в пределах страницы размером 2 Кбайт, при этом надо иметь в виду, что сначала содержимое счетчика команд увеличивается на 2 и только потом заменяются 11 разрядов адреса.
В отличие от предыдущих команд, в команде SJMP (S - short - короткий) указан не абсолютный, а относительный адрес перехода. Величина смещения reI рассматривается как число со знаком, а, следовательно, переход возможен в пределах - 128...+127 байт относительно адреса команды, следующей за командой SJMP.
Команда косвенного перехода JMP @A+DPTR позволяет вычислять адрес перехода в процессе выполнения самой программы.
Командами условного перехода можно проверять следующие условия:
JZ - аккумулятор содержит
Командами условного перехода можно проверять следующие условия:
JZ - аккумулятор содержит
JNZ - аккумулятор содержит не нулевое значение
JC - бит переноса С установлен;
JNC - бит переноса С не установлен;
JB - прямо адресуемый бит равен 1
JNB - прямо адресуемый бит равен 0;
JBC - прямо адресуемый бит равен 1 и сбрасывается в нулевое значение при выполнении команды.
Все команды условного перехода рассматриваемых микроконтроллеров содержат короткий относительный адрес, т. е. переход может осуществляться в пределах-128... +127 байт относительно следующей команды.
Команда DJNZ предназначена для организации программных циклов. Регистр Rn или байт по адресу ad, указанные в теле команды, содержат счетчик повторений цикла, а смещение rеl - относительный адрес перехода к началу цикла. При выполнении команды содержимое счетчика уменьшается на 1 и проверяется на 0. Если значение содержимого счетчика не равно 0, то осуществляется переход на начало цикла, в противном случае выполняется следующая команда.
Команда CJN удобна для реализации процедур ожидания внешних событий. В теле
Команда CJN удобна для реализации процедур ожидания внешних событий. В теле
WAIT: CJNE A, P0, WAIT
будет выполняться до тех пор, пока значения на линиях порта P0 не совпадут со значениями содержимого аккумулятора.
Действие команд вызова процедур полностью аналогично действию команд безусловного перехода. Единственное отличие состоит в том, что они сохраняют в стеке адрес возврата.
Команда возврата из подпрограммы RET восстанавливает из стека значение содержимого счетчика команд, а команда возврата из процедуры обработки прерывания RETI, кроме того, разрешает прерывание обслуженного уровня. Команды RET и RETI не различают, какой командой - LCALL или ACALL - была вызвана подпрограмма, так как и в том, и в другом случае в стеке сохраняется полный 16-разрядный адрес возврата.
В заключение следует отметить, что большинство Ассемблеров допускают обобщенную мнемонику JMP - для команд безусловного перехода и CALL - для команд вызова подпрограмм. Конкретный тип команды определяется Ассемблером, исходя из "длины"перехода или вызова,
Таблицы адресов битовых областей памяти микроконтроллера 8051
Память данных
ПРИМЕЧАНИЕ. Адрес
Таблицы адресов битовых областей памяти микроконтроллера 8051
Память данных
ПРИМЕЧАНИЕ. Адрес