4.1.6.Команды пересылки данных микроконтроллера 8051.
Эта группа представлена 28 командами, их краткое описание приведено в таблице, где также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (Б) и время выполнения в машинных циклах (Ц).
Таблица.7.Команды передачи данных
Название команды | Мнемокод | КОП | Т | Б | Ц | Операция |
Пересылка в аккумулятор из регистра (n=0÷7) | MOV A, Rn | 11101rrr | 1 | 1 | 1 | (A) (Rn) |
Пересылка в аккумулятор прямоадресуемого байта | MOV A, ad | 11100101 | 3 | 2 | 1 | (A) (ad) |
Пересылка в аккумулятор байта из РПД (i=0,1) | MOV A, @Ri | 1110011i | 1 | 1 | 1 | (A) ((Ri)) |
Загрузка в аккумулятор константы | MOV A, #d | 01110100 | 2 | 2 | 1 | (A) #d |
Пересылка в регистр из аккумулятора | MOV Rn, A | 11111rrr | 1 | 1 | 1 | (Rn) (A) |
Пересылка в регистр прямоадресуемого байта | MOV Rn, ad | 10101rrr | 3 | 2 | 2 | (Rn) (ad) |
Загрузка в регистр константы | MOV Rn, #d | 01111rrr | 2 | 2 | 1 | (Rn) #d |
Пересылка по прямому адресу аккумулятора | MOV ad, A | 11110101 | 3 | 2 | 1 | (ad) (A) |
Пересылка по прямому адресу регистра | MOV ad, Rn | 10001rrr | 3 | 2 | 2 | (ad) (Rn) |
Пересылка прямоадресуемого байта по прямому адресу | MOV add, ads | 10000101 | 9 | 3 | 2 | (add) (ads) |
Пересылка байта из РПД по прямому адресу | MOV ad, @Ri | 1000011i | 3 | 2 | 2 | (ad) ((Ri)) |
Пересылка по прямому адресу константы | MOV ad, #d | 01110101 | 7 | 3 | 2 | (ad) #d |
Пересылка в РПД из аккумулятора | MOV @Ri, A | 1111011i | 1 | 1 | 1 | ((Ri)) (A) |
Пересылка в РПД прямоадресуемого байта | MOV @Ri, ad | 0110011i | 3 | 2 | 2 | ((Ri)) (ad) |
Пересылка в РПД константы | MOV @Ri, #d | 0111011i | 2 | 2 | 1 | ((Ri)) #d |
Загрузка указателя данных | MOV DPTR, #d16 | 10010000 | 13 | 3 | 2 | (DPTR) #d16 |
Пересылка в аккумулятор байта из ПП | MOVC A, @A+DPTR | 10010011 | 1 | 1 | 2 | ((A) +(DPTR)) |
Пересылка в аккумулятор байта из ПП | MOVC A, @A+PC | 10000011 | 1 | 1 | 2 | (PC) (PC)+1, (A) ((A)+(PC)) |
Название команды | Мнемокод | КОП | Т | Б | Ц | Операция |
Пересылка в аккумулятор байта из ВПД | MOVX A, @Ri | 1110001i | 1 | 1 | 2 | (A) ((Ri)) |
Пересылка в аккумулятор байта из расширенной ВПД | MOVX A,@DPTR | 11100000 | 1 | 1 | 2 | (A) ((DPTR)) |
Пересылка в ВПД из аккумулятора | MOVX @Ri, A | 1111001i | 1 | 1 | 2 | ((Ri)) (A) |
Пересылка в расширенную ВПД из аккумулятора | MOVX @DPTR,A | 11110000 | 1 | 1 | 2 | ((DPTR)) (A) |
Загрузка в стек | PUSH ad | 11000000 | 3 | 2 | 2 | (SP) (SP) + 1, ((SP))(ad) |
Извлечение из стека | POP ad | 11010000 | 3 | 2 | 2 | (ad) (SP), (SP) (SP) - 1 |
Обмен аккумулятора с регистром | XCH A, Rn | 11001rrr | 1 | 1 | 1 | (A) ↔ (Rn) |
Обмен аккумулятора с прямоадресуемым байтом | XCH A, ad | 11000101 | 3 | 2 | 1 | (A) ↔ (ad) |
Обмен аккумулятора с байтом из РПД | XCH A, @Ri | 1100011i | 1 | 1 | 1 | (A) ↔ ((Ri)) |
Обмен младших тетрад аккумулятора и байта РПД | XCHD A, @Ri | 1101011i | 1 | 1 | 1 | (A0…3) ↔((Ri)0…3) |
По команде MOV выполняется пересылка данных из второго операнда в первый. Эта команда не имеет доступа ни к внешней памяти данных, ни к памяти программ. Для этих целей предназначены команды M0VX и MOVC соответственно. Первая из них обеспечивает чтение/запись байт из внешней памяти данных, вторая – чтение байт из памяти программ.
По команде XCH выполняется обмен байтами между аккумулятором и ячейкой РПД, а по команде XCHD – обмен младшими тетрадами (битами 0 – 3).
Команды PUSH и РОР предназначены соответственно для записи данных в стек и их чтения из стека. Размер стека ограничен лишь размером резидентной памяти данных. В процессе инициализации микро-ЭВМ после сигнала сброса или при включении питающего напряжения в SP заносится код 07Н. Это означает, что первый элемент стека будет располагаться в ячейке памяти с адресом 08Н.
Группа команд пересылок микроконтроллера имеет следующую особенность - в ней нет специальных команд для работы со специальными регистрами: PSW, таймером, портами ввода-вывода. Доступ к ним, как и к другим регистрам специальных функций, осуществляется заданием соответствующего прямого адреса, т.е. это команды обычных пересылок, в которых вместо адреса можно ставить название соответствующего регистра. Например, чтение PSW в аккумулятор может быть выполнено командой
MOV A, PSW
которая преобразуется Ассемблером к виду
MOV А, 0D0h (E5 D0),
где Е5 – код операции, а D0 – операнд (адрес PSW).
Кроме того, следует отметить, что в микро-ЭВМ аккумулятор имеет два различных имени в зависимости от способа адресации: А – при неявной адресации (например, MOV A, R0) и АСС – при использовании прямого адреса. Первый способ предпочтительнее, однако, не всегда применим.
- 1.Общие особенности управляющих микроконтроллеров. 5
- 8.Особенности программирования микроконтроллеров и процессоров цифровой обработки сигналов. 52
- 8.2.Типы инструментальных средств разработки и отладки программ для микроконтроллеров и процессоров цифровой обработки сигналов. 52
- 8.3.Внутрисхемные эмуляторы. 52
- 8.5.Программные симуляторы. 58
- 1.1.Четырехразрядные микроконтроллеры.
- 2.Управляющие восьмиразрядные микроконтроллеры семейства mcs-51 фирмы Intel и совместимые с ними.
- 2.1.Структурная организация микроконтроллера i8051.
- 2.1.1.Общие характеристики. Микроконтроллер семейства 8051 имеют следующие аппаратные особенности:
- 2.1.2.Арифметико-логическое устройство
- 2.1.3.Назначение выводов микроконтроллера 8051.
- 3.Организация озу, пзу и регистров микроконтроллера 8051.
- 3.1.1.Память программ (пзу).
- 3.1.2.Память данных (озу).
- 3.1.3.Регистры специальных функций.
- 3.1.4.Регистры специальных функций.
- 3.1.5.Регистр флагов (psw).
- 3.1.6.Устройство управления и синхронизации.
- 3.2.Организация портов ввода вывода микроконтроллера 8051.
- 3.2.1.Общие сведения.
- 3.2.2.Альтернативные функции.
- 3.2.3.Устройство портов.
- 3.2.4.Особенности электрических характеристик портов.
- 3.3.Таймеры / счетчики микроконтроллеров семейства 8051.
- 3.3.1.Регистр режима работы таймера/счетчика tmod
- 3.3.2.Регистр управления/статуса таймера tcon.
- 3.3.3.Режимы работы таймеров-счетчиков.
- 3.4.Последовательный порт микроконтроллера 8051.
- 3.5.Регистр управления/статуса приемопередатчика scon.
- 3.5.1.Функциональное назначение бит регистра управления/статуса приемопередатчика scon.
- 3.5.2.Скорость приема/передачи информации через последовательный порт.
- 3.5.3.Регистр управления мощностью pcon.
- 3.6.Система прерываний микроконтроллера 8051.
- 3.6.1.Регистр масок прерывания (ie).
- 3.6.2.Регистр приоритетов прерываний (ip).
- 3.6.3.Выполнение подпрограммы прерывания.
- 3.7.Работа с внешней памятью микроконтроллера 8051.
- 3.8.Режимы микроконтроллера 8051 с пониженным энергопотреблением.
- 3.8.1.Режим хх.
- 3.8.2.Режим внп.
- 4.Система команд микроконтроллера семейства 8051.
- 4.1.1.Общая характеристика.
- 4.1.2.Типы команд
- 4.1.3.Типы операндов
- 4.1.4.Группы команд.
- 4.1.5.Oбозначения, используемые при описании команд.
- 4.1.6.Команды пересылки данных микроконтроллера 8051.
- 4.1.7.Команды арифметических операций 8051.
- 4.1.8.Команды логических операций микроконтроллера 8051.
- 4.1.9.Команды операций над битами микроконтроллера 8051.
- 4.1.10.Команды передачи управления микроконтроллера 8051.
- 5.Дополнительные устройства в расширенных вариантах микроконтроллера.
- 5.0.1.Расширения микропроцессоров семейства mcs-51/52.
- 5.0.6.Маркировка микроконтроллеров фирмы Intel.
- 5.1.Pca микроконтроллера 8051.
- 5.2.1.Регистр режимов pca таймера-счетчика cmod.
- 5.2.2.Регистр управления рса таймером-счетчиком ccon.
- 5.3.Модули сравнения-захвата pca микроконтроллеров mcs-51.
- 5.3.1.Регистр режимов модуля сравнения захвата ссарМn.
- 5.3.2.Режимы работы рса.
- 5.4.Режимы работы pca микроконтроллеров семейства mcs-51.
- 5.4.1.Режим захвата.
- 5.4.2.Режим 16-разрядного программируемого таймера.
- 5.4.3.Режим скоростного вывода.
- 5.4.4.Режим сторожевого таймера (watchdog timer).
- 5.4.5.Режим генерации импульсов заданной скважности.
- 5.5.Аналого-цифровой преобразователь микроконтроллеров семейства mcs-51.
- 5.5.1.Adcon - Регистр управления преобразователем.
- 5.5.2.Addat - регистр результатав преобразования.
- 5.5.3.Dapr - регистр программирования опорных напряжений ацп.
- 5.5.4.Синхронизация ацп и время преобразования.
- 5.6.Таймер счетчик т/с2 микроконтроллера 8052.
- 5.6.1.Регистр управление таймера/счетчика 2 t2com.
- 5.6.2.Режимы работы таймера/счетчика 2.
- 5.6.3.Регистр режима таймера/счетчика 2 т2моd.
- 5.6.4.Дополнительный регистр приоритетов прерываний iрн.
- 6.Семейство mcs-251
- 7.Однокристальные микроконтроллеры Intel mcs-96.
- 7.1.Общая характеристика.
- 7.1.1.Структура микроконтроллера.
- 7.2.Периферийные устройства.
- 7.2.1.Устройства ввода и вывода данных.
- 7.2.2.Устройство ввода и вывода дискретных сигналов.
- 7.2.3.Устройства ввода и вывода аналоговых сигналов
- 7.2.4.Устройства обмена данными с другими микроконтроллерами и центральным процессором.
- 7.2.5.Устройства приема и обслуживания запросов прерывания.
- 7.2.6.Устройства контроля правильности функционирования микроконтроллера.
- 7.2.7.Характеристики микроконтроллеров подсемейств.
- 7.2.8.Почему 80c196 быстрее, чем 8051?
- 8.Особенности программирования микроконтроллеров и процессоров цифровой обработки сигналов.
- 8.1.1.Общие особенности.
- 8.2.Типы инструментальных средств разработки и отладки программ для микроконтроллеров и процессоров цифровой обработки сигналов.
- 8.3.Внутрисхемные эмуляторы.
- 8.3.1.Принцип работы.
- 8.3.2.Классификация внутрисхемных эмуляторов.
- 8.3.3.Функциональные возможности внутрисхемных эмуляторов.
- 8.3.4.Достоинства и недостатки внутрисхемных эмуляторов.
- 8.4.1.Внутрисхемный эмулятор 8-разрядных микроконтроллеров семейства 8051.
- 8.4.2.Характеристика аппаратуры.
- 8.4.3.Характеристики программного обеспечения .
- 8.4.4.Структурная схема эмулятора pice-51.
- 8.4.5.Варианты комплектации эмулятора pice-51.
- 8.4.6.Сравнительные характеристики некоторых эмуляторов для микроконтроллеров семейства 8051
- 8.5.Программные симуляторы.
- 8.6.Платы развития.
- 8.7.Отладочные мониторы.
- 8.7.1.Принцип работы.
- 8.7.2.Достоинства и недостатки отладочных мониторов.
- 8.8.Эмуляторы пзу.
- 8.9.Типичные функциональные модули средств разработки и отладки.
- 8.10.Отладчик.
- 8.11.Узел эмуляции микроконтроллера.
- 8.12.Эмуляционная память.
- 8.13.Подсистема точек останова.
- 8.14.Процессор точек останова.
- 8.15.Трассировщик.
- 8.16.Профилировщик .
- 8.17.Интегрированная среда разработки.
- 9.Программные средства для микроконтроллеров семейства mcs-51.
- 9.1.Дизассемблеры mcs-51.
- 9.2. Введение в интегрированную отладочную среду ProView для микроконтроллеров семейства mcs-51, 251, xa
- 9.2.1.Оптимизирующий кросс-компилятор c51.
- 9.2.2.Макроассемблер a51.
- 9.2.3.Компоновщик l51.
- 9.2.4.Отладчик/симулятор WinSim51.
- 9.3.Быстрый старт.
- 9.3.1.Запуск ProView и создание файла проекта.
- 9.3.2.Добавка файла с исходным текстом и его редактирование.
- 9.3.3.Компиляция и компоновка.
- 9.3.4.Тестирование и отладка.
- 9.3.5.Пошаговый режим и выход из отладчика.
- 9.3.6.Следующий шаг.
- 9.4.Интегрированная отладочная среда mVision2.
- 9.5..Компиляторы с языка ассемблер для микроконтроллеров семейства mcs-51.
- 10.Основные характеристики микроконтроллеров mcs 51 / mcs 251.
- 11.Микроконтроллеры семейства mcs51 и его аналоги.
- 12.Список литературы.