- •Цель работы
- •3.1. Исследование команд пересылки, использующих внешнюю память данных
- •3.1.1. Запишите в память симулятора текст программы
- •3.2. Исследование команд обмена
- •3.7. Исследование команд чтения из памяти программ
- •3.8. Программирование операций пересылки между регистрами общего назначения
- •3.8.1. Первый способ
- •3.8.2. Второй способ
- •3.9. Задания для самостоятельной работы
- •4.Содержание отчета
- •Контрольные вопросы
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
ГОМЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ДОРОЖНО-СТРОИТЕЛЬНЫЙ КОЛЛЕДЖ имени Ленинского комсомола
Методические указания по выполнению лабораторных работ по дисциплине «ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ»
Лабораторная работа № 5
Исследование команд пересылки с внешней памятью и команд обмена
ГГДСК Гомель 2011
Цель работы
Изучить и практически исследовать работу команд передачи данных, использующих внешнюю память данных и команды обмена однокристальных микроконтроллеров семейства MCS-51 (МК51) на персональном компьютере.
2.Основные теоретические сведения
Откройте файл методических указаний (МУ) к лабораторной работе № 4. Вспомните команды передачи данных.
3. Порядок выполнения работы
3.1. Исследование команд пересылки, использующих внешнюю память данных
Для работы с внешней памятью данных (ВПД) в МК51 имеются команды MOVX с использованием косвенной адресации. Возможны 2 варианта задания адреса ячеек ВПД
если адреса ячеек находятся в диапазоне 00H…FFH (т.е. их количество не превышает 256), то для их адресации используются регистры R0 или R1 текущего банка, а для пересылки данных применяются команды
MOVX @Ri, A ; Пересылка аккумулятора в ячейку ВПД (запись в ВПД)
MOVX A, @Ri ; Пересылка в аккумулятор из ячейки ВПД (чтение из ВПД)
если адреса ячеек находятся в диапазоне 0000H…FFFFH (адресное пространство 64К), то для адресации используется регистр DPTR, а для пересылки данных команды
MOVX @DPTR, A ; Пересылка аккумулятора в ячейку ВПД (запись в ВПД)
MOVX A, @DPTR ; Пересылка в аккумулятор из ячейки ВПД (чтение из ВПД).
3.1.1. Запишите в память симулятора текст программы
MOV R0, @10H ; Адрес ячейки ВПД
MOV A, R3 ; Пересылка содержимого R3 в аккумулятор
MOVX @R0, A ; Запись в ВПД
MOV R1, #18H ; Адрес ячейки ВПД
MOVX A, @R1 ; Чтение из ВПД
MOV R6, A ; Пересылка содержимого аккумулятора в R6
NOP
Эта программа записывает данные из регистра R3 в ячейку с адресом 10H внешней памяти данных, а затем читает данные из ячейки с адресом 18H ВПД и пересылает их в регистр R6.
Так как в исследуемой программе используется внешняя память данных, то для ее работы требуется загрузить в симулятор файл ram (без расширения), имеющийся в вашей папке. Этот файл формирует в симуляторе внешнюю память данных размером 1К ячеек. В файле ram (в формате Intel Hex) содержатся начальный адрес 0000H, конечный – 03FFH и данные для начальной загрузки ячеек ВПД – 00H.
Для загрузки файла ram необходимо выполнить команды из меню команд симулятора
LOAD DATA
Затем в командной строке необходимо набрать имя файла ram и нажать клавишу Enter:
Enter Filename: ram
При отладке программы нужно будет следить за правильностью передачи данных между МК и ВПД. Согласно тексту программы задействованы будут ячейки с адресами 0010H и 0018H.
Используем нижнее окно Data Space (область Dump 2) для отображения ячеек ВПД, начиная с адреса 0000H. С этой целью необходимо выполнить команду
DUMP
Затем в командной строке ввести номер дампа 2
Select DUMP : 2
Затем выбрать команду задания типа адресации ячеек дампа
Absolute
И, наконец, в командной строке набрать начальный адрес области ВПД (дампа 2) в HEX-коде
Enter Expression in Data Address Space: X: 0000H
После нажатия клавиши Enter убеждаемся, что нижнее окно получило название External Data Space, т.е. внешняя память данных, а начальный адрес стал 0000H. Во всех ячейках ВПД записаны нули.
Исследуйте работу программы в пошаговом режиме, предварительно задав исходные данные в регистре R3 число 55H, а в ячейке ВПД с адресом 0018H – число AAH. Наблюдайте за изменением содержимого регистров, ячеек памяти, а также за флагами МК.