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

5. Передача символьной строки через последовательный порт.

При передаче символов через последовательный порт в устройство вывода (например, принтер с форматом ASCII) может возникнуть необходимость в выводе служебных сообщений, включающих сообщения об ошибках, диагностику или инструкции для оператора. Эти символьные строки просто описываются при помощи директивы DB.

CR EQU 0DH ; Код возврата каретки (ASCII)

LF EQU 0AH ; Код перевода строки

ESC EQU 1BH ; Код операции ESC

T1 EQU P3.5

TI EQU SCON.1

CALL STRING

DB CR,LF ; Установка новой строки

DB ‘HALLO!’ ; Сообщение

DB ESC ; Завершение

;..............

STRING: POP DPH ;Загрузка первого символа

POP DPL

STR1: CLR А

MOVC A,@A+DPTR ;Выборка первого символа

STR2: JNB Т1,$ ; Ожидание готовности

CLR TI

MOV SBUF,А ; Выдача символа

INC DPTR ; Сдвиг указателя

CLR A

MOVC A,@A+DPTR ; Выборка следующего символа

CJNE A,#ESC,STR2 ; Цикл чтения

MOV А,#1

JMP @A+DPTR ; Возврат к программе после чтения

28

6. Выполнить задание варианта 5, используя в качестве временного хранилища данных область в ВПД по адресу С200Н.

7. Переслать содержимое участка памяти длиной 4 байта из РПД по адресу 16Н в ВПД по адресу С200Н.

8. Организовать стек по адресу 12Н и сохранить в нем содержимое регистров банка 3.

Задания 2

  1. Переслать массив из одной области памяти в другую, причем четные и нечетные байты поменять местами.

  2. Поменять местами два массива в памяти, используя стек.

  3. Поменять местами между собой половинки массива.

  4. Сформировать новый массив из каждого четвертого байта заданного массива.

  5. Записать в каждый пятый элемент массива значение предыдущего байта.

  6. Поменять местами каждый второй и каждый третий элемент (байт) массива.

  7. В массиве поменять местами байты, равноотстоящие от начала и от конца массива(зеркально отобразить массив относительно середины).

  8. Из заданного массива сформировать новый массив, изменив порядок следования элементов на противоположный, и переслать его на место исходного.

Контрольные вопросы.

  1. В чем заключается различие команд MOV, MOVC и MOVX .

  2. Назовите возможные операнды вышеперечисленных команд.

  3. Каким образом можно зарезервировать память в программе .

  4. К какой памяти можно обращаться с помощью DPTR .

  5. Можно ли командой MOV смоделировать работу команд XCH,XCHD. Обоснуйте ответ.

6. Охарактеризовать методы адресации, используемые в формате команды пересылки данных MOV.

7. Каким образом осуществляется в МК51 доступ к памяти программ (ПП).

8. Как производится загрузка регистра-указателя данных DPTR 16-битным адресом. При доступе к какой части памяти МК51 и с помощью какой команды используется этот регистр.

9. Описать механизм выполнения стековых операций в МК51. Для каких целей используются подобные операции.

10. Оценить количество рабочих циклов МК51, необходимое для выполнения отдельных команд пересылки данных С по заданию преподавателя).

Лабораторная работа №3. Арифметические команды Практическая часть.

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