Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦМПУ / Новая папка (1) / ЦИМПУ(atmega 128).doc
Скачиваний:
102
Добавлен:
16.04.2015
Размер:
4.2 Mб
Скачать

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

  1. Запустить среду разработки VMLAB.

  2. Создать новый проект c именем “Project3.prj”.

  3. В окно кодов ввести листинг программы №3.

  4. Изменить значение тактовой частоты работы микроконтроллера с 1 МГц на 4 МГц.

  5. Отладить программу командой Project/Build (F9).

  6. Выполнить программу в пошаговом режиме командой Run/Step into (F7).

  7. Открыть окно памяти программ командой View/Data Memory (Alt+Shift+D). Проконтролировать изменение памяти данных.

  8. Проконтролировать изменение флагов регистра SREG при работе с циклами (регистр SREG находится в окне регистров − View/Registers/flags (Alt+Shift+R)).

  9. В соответствии с предложенными вариантами выполнить задание (таблица 3.1).

  10. После выполнения задания для самостоятельной работы, предлагается выполнить одно задание для индивидуальной работы (табл. 3.2).

  11. Для сохранения проекта выполнить команду File/Save all.

  12. Для выхода из среды разработки VMLAB выполнить команду File/Exit (Alt+F4).

3.4 Задание на лабораторную работу

В лабораторной работе необходимо ознакомиться с теоретической частью, разобраться с алгоритмом предложенной программы (см. листинг программы №3), отладить программу в среде разработки VMLAB. В соответствии с вариантом нужно выполнить самостоятельное задание в среде разработки VMLAB. Задания приведены в таблице 3.1.

Таблица 3.1 Варианты заданий для самостоятельной работы

№ вар.

Задание

1

Выполнить косвенное чтение памяти данных по адресу $60.

2

Выполнить косвенное чтение памяти с постинкременом.

3

Выполнить косвенное чтение памяти данных с преддекременом.

4

Выполнить косвенное относительное чтение памяти данных по адресу $65. Данные переслать в регистр r16.

5

Выполнить непосредственную загрузку из памяти данных по адресу $60.

6

Сравнить два РОН. Проверку выполнить по флагу нуля Z и перейти по метке M1.

7

Сравнить два РОН с учетом переноса. Проверить флаг нуля Z и перейти по метке М1.

8

Сравнить регистр r16 с константой к (значения регистра и константы задать самостоятельно). Сделать переход по метке M1.

9

Занести в регистр r16 число $FD и выполнить пропуск команды, если 2-ой разряд r16 сброшен.

10

Занести в регистр r16 число $FD. Выполнить команду SBRS над содержимым регистра r16.

11

Сравнить регистр r20 с константой к (значения регистра и константы задать самостоятельно) и сделать переход по метке M1, если числа не равны.

12

Занести в регистр r16 число $0F и выполнить команду условного относительного перехода.

13

Выполнить логический сдвиг регистра r16 равному $FE. Выполнить переход по переносу.

14

Выполнить косвенный переход по адресу $20.(смотреть команду косвенного перехода)

15

Сравнить два РОН. Проверку выполнить по флагу нуля Z и перейти по метке M1.

Таблица 3.2 Варианты индивидуальных заданий

№ вар.

Задание

1

Просканировать число $13 от старшего к младшему биту в поисках первого бита, установленного в 1. Если таковой обнаружится, то занести номер бита в регистр r18.

2

Подсчитать количество установленных и неустановленных битов в числе $F5.

3

Просканировать число $20 от младшего к старшему биту в поисках первого бита, установленного в 1. Если таковой обнаружится, то занести номер бита в регистр r18.

4

Определить наибольший общий С делитель натуральных чисел A и B. (A, B - беззнаковые числа размером в байт).

5

Пусть имеется описание типа структуры Дата: День: от 1 до 31; Месяц: от 1 до 12; Год: >=1

Поле Год получило значение 2004 (високосный год), а поля День и Месяц получили какие-то значения позже. Требуется изменить значение < , ,2004> на дату следующего дня.

Соседние файлы в папке Новая папка (1)