Однокристальные микроконтроллеры семейства MCS-51. Команды передачи данных. Пересылка в аккумулятор прямоадресуемого байта, страница 6

3.9. Задания для самостоятельной работы

1.  Напишите программу, которая обнуляет содержимое регистров R5, R6, R7 0-го банка регистров. Разработайте 4 варианта программы. В первом варианте используйте команды с непосредственной адресацией. Во 2-м варианте используйте команды с прямой адресацией. В 3-м варианте используйте команды с косвенной адресацией. В 4-м варианте используйте аккумулятор и команды пересылки. Определите длину каждой программы, т.е. количество ячеек памяти, которая она занимает. Проверьте правильность работы программ с помощью симулятора AVSIM51.

2.  Напишите программу загрузки регистров 0-го банка из памяти данных в соответствии с табл. 3.1. Разработайте 2 варианта программы: с использованием прямой и косвенной адресации.

Таблица 3.1

Адрес

30H

40H

Данные

22H

44H

Регистр

R2

R4

Проверьте правильность работы программы.

3.  Напишите программу перезаписи из одних ячеек ПД в другие в соответствии с табл. 3.2. Разработайте 2 варианта программы: с прямой и косвенной адресацией.

Таблица 3.2

Адрес исходной ячейки

22H

28H

Адрес записываемой ячейки

32H

38H

Проверьте правильность работы программы, предварительно записав по указанным             адресам произвольные данные.

4.  Напишите программу запоминания содержимого регистров 0-го банка РОН в памяти данных в соответствии с табл. 3.3. Разработайте 2 варианта программы: с прямой и косвенной адресацией.

Таблица 3.3

Регистр

R3

R6

Данные

33H

66H

Адрес ячейки

28H

32H

Проверьте правильность работы программы.

5.  Напишите программу записи данных в две области памяти, используя для адресации 1-й области регистр R0, а для 2-й области – регистр R1, в соответствии с табл. 3.4.

Таблица 3.4

Адреса 1-й области

25H

27H

Адреса 2-й области

35H

37H

Данные

11H

22H

Проверьте правильность работы программы.

6.  Напишите программу перезаписи из одной области памяти данных (адресуясь через регистр R0) в другую область (адресуясь через регистр R1) в соответствии с табл. 3.5.

Таблица 3.5

Адреса исходной области

22H

24H

Адреса записываемой области

32H

34H

Проверьте правильность работы программы, предварительно записав по указанным адресам произвольные данные

7.  Напишите программу, которая заносит в ячейку внешней памяти данных с адресом 10H данные из порта P1.

8.  Напишите программу, которая пересылает содержимое ячейки внешней памяти данных с адресом 001BH в порт P2. Указание.  Для адресации ячейки ВПД используйте регистр DPTR.

                                                           4.Содержание отчета

Наименование и цель работы. Краткое описание команд  передачи данных МК51. Разработанные программы из заданий для самостоятельной работы. Таблицы с результатами исследования программ.

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

1.  Какие способы адресации операндов используются в командах передачи данных?

2.  Необходимо записать код FFH в регистры R2, R3 и R4. Какими способами это можно сделать? Какой вариант будет короче, т.е. занимать в памяти меньше ячеек?

3.  Какими способами можно загрузить в регистр DPTR число 85AEH? Какой вариант будет короче?

4.  Как воздействуют команды передачи данных на флаги МК?

5.  Каким способом можно обнулить область памяти данных с адреса 40H по 44H? Напишите возможные варианты программ.

6.  Каким способом можно загрузить в регистры R2, R3 и R4 данные из ячейки ПД с адресом 30H?

7.  Как можно переслать содержимое ячейки внешней памяти данных с адресом 50H в ячейку внутренней памяти данных с адресом 30H?