Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР_5.doc
Скачиваний:
3
Добавлен:
27.09.2019
Размер:
73.73 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

ГОМЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ДОРОЖНО-СТРОИТЕЛЬНЫЙ КОЛЛЕДЖ имени Ленинского комсомола

Методические указания по выполнению лабораторных работ по дисциплине «ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ»

Лабораторная работа № 5

Исследование команд пересылки с внешней памятью и команд обмена

ГГДСК Гомель 2011

  1. Цель работы

Изучить и практически исследовать работу команд передачи данных, использующих внешнюю память данных и команды обмена однокристальных микроконтроллеров семейства MCS-51 (МК51) на персональном компьютере.

2.Основные теоретические сведения

Откройте файл методических указаний (МУ) к лабораторной работе № 4. Вспомните команды передачи данных.

3. Порядок выполнения работы

3.1. Исследование команд пересылки, использующих внешнюю память данных

Для работы с внешней памятью данных (ВПД) в МК51 имеются команды MOVX с использованием косвенной адресации. Возможны 2 варианта задания адреса ячеек ВПД

  1. если адреса ячеек находятся в диапазоне 00H…FFH (т.е. их количество не превышает 256), то для их адресации используются регистры R0 или R1 текущего банка, а для пересылки данных применяются команды

MOVX @Ri, A ; Пересылка аккумулятора в ячейку ВПД (запись в ВПД)

MOVX A, @Ri ; Пересылка в аккумулятор из ячейки ВПД (чтение из ВПД)

  1. если адреса ячеек находятся в диапазоне 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. Наблюдайте за изменением содержимого регистров, ячеек памяти, а также за флагами МК.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]