MOV R2, #22H ; Загрузить в регистр R2 число 22H
MOV A, R2 ; Переслать содержимое регистра R2 в аккумулятор
NOP ; Пустая команда
Примечание. Команда NOP используется для визуального разделения отдельных программ при проверке их работы.
Исследуйте работу программы в пошаговом режиме. Наблюдайте за изменением содержимого регистров, а также флагами МК.
3.2. Исследование команд пересылки с прямой адресацией
Запишите в память симулятора коды следующих команд:
MOV 30H, #11H ; Переслать в ячейку ПД с адресом 30H число 11H
MOV A, 30H ; Переслать в аккумулятор содержимое ячейки ПД с адресом 30H
MOV R1, 30H ; Переслать в регистр R1 содержимое ячейки с адресом 30H
MOV P0, A ; Переслать в порт P0 содержимое аккумулятора
MOV P0, #55H ; Переслать (вывести) в порт P0 число 55H
MOV A, P0 ; Переслать в аккумулятор данные из порта P0
NOP
Исследуйте работу программы в пошаговом режиме. Наблюдайте за изменением содержимого регистров, ячеек памяти, порта P0, а также флагами МК.
3.3. Исследование команд пересылки с косвенной адресацией
Запишите в память симулятора коды следующих команд:
MOV R0, #30H ; Загрузить в регистр R0 адрес ячейки ПД
MOV @R0, #22H ; Переслать в ячейку ПД число 22H
MOV A, @R0 ; Переслать в аккумулятор содержимое ячейки ПД
MOV A, #55H ; Загрузить в аккумулятор число 55H
MOV @R0, A ; Переслать содержимое аккумулятора в ячейку ПД
NOP
Исследуйте работу программы в пошаговом режиме. Наблюдайте за изменением содержимого регистров, ячейки памяти, а также флагами МК.
3.4. Команды пересылки с использованием регистра DPTR
В микроконтроллерах семейства МК51 имеется 16-разрядный регистр-указатель данных DPTR, который используется при выполнении некоторых команд. Загрузить в него 16-разрядные данные можно командой:
MOV DPTR, #d16.
Эта команда с непосредственной адресацией имеет трехбайтный формат: 1-й байт – код операции, 2-й и 3-й байты – 16-разрядные данные.
Регистр DPTR может также использоваться в качестве двух 8-разрядных регистров общего назначения с именами DPH (старший байт) и DPL (младший байт). Эти регистры являются регистрами специальных функций с адресами 83H и 82H соответственно.
Запишите в память симулятора коды команд:
MOV DPTR, #2211H ; Загрузить в регистр DPTR число 2211H
MOV R1, DPL ; Переслать в R1 содержимое DPL
MOV R2, DPH ; Переслать в R2 содержимое DPH
MOV A, #0 ; Обнулить аккумулятор
MOV DPH, A ; Переслать аккумулятор в регистр DPH
MOV DPL, A ; Переслать аккумулятор в регистр DPL
MOV DPL, #33H ; Загрузить в DPL число 33H
MOV DPH, #44H ; Загрузить в DPH число 44H
NOP
Выполните программу в пошаговом режиме работы. Наблюдайте за изменением содержимого регистров, а также флагами МК.
3.5. Исследование команд пересылки, использующих внешнюю память данных
Для работы с внешней памятью данных (ВПД) в МК51 имеются команды MOVX с использованием косвенной адресации. Возможны 2 варианта задания адреса ячеек ВПД:
1) если адреса ячеек находятся в диапазоне 00H…FFH (т.е. их количество не превышает 256), то для их адресации используются регистры R0 или R1 текущего банка, а для пересылки данных применяются команды:
MOVX @Ri, A ; Пересылка аккумулятора в ячейку ВПД (запись в ВПД)
MOVX A, @Ri ; Пересылка в аккумулятор из ячейки ВПД (чтение из ВПД);
2) если адреса ячеек находятся в диапазоне 0000H…FFFFH (адресное пространство 64К), то для адресации используется регистр DPTR, а для пересылки данных команды:
MOVX @DPTR, A ; Пересылка аккумулятора в ячейку ВПД (запись в ВПД)
MOVX A, @DPTR ; Пересылка в аккумулятор из ячейки ВПД (чтение из ВПД).
3.6.1. Запишите в память симулятора текст программы:
MOV R0, @10H ; Адрес ячейки ВПД
MOV A, R3 ; Пересылка содержимого R3 в аккумулятор
MOVX @R0, A ; Запись в ВПД
MOV R1, #18H ; Адрес ячейки ВПД
MOVX A, @R1 ; Чтение из ВПД
MOV R6, A ; Пересылка содержимого аккумулятора в R6
NOP
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.