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

Урок №8 Лабораторная работа №2 Анализ работы ядра микроконтроллера

Цель работы: познакомиться с возможностями AVR Studio, научиться выполнять ввод, компиляцию и анализ программ, изучить работу ядра микроконтроллера

1 Краткие сведения из теории

На рисунке изображен формат регистра состояния МК семейства AVR.

С – флаг переноса

Z – флаг нулевого результата

N – флаг отрицательного результата

V - флаг переполнения

S – флаг знака

H – флаг половинного результата

Т – флаг пользователя

В процессе отладки программы состояние флагов можно посмотреть в окне Workspace: I/O ATMEGA8535\CPU\SREG.

Рисунок 1 – Размещение регистра состояния

2 Практические задания и методические указания по их выполнению

Задание 1 Исследуйте результат выполнения фрагмента программы:

add r10,r11 ;сложить r10←r10+r11

nop

исходные данные: r10=$93, r11=$6d

Результат выполнения команды: r10=$00, r11=$6d, флаги Z=1, C=1

  • Наберем в основном окне фрагмент программы:

add r10,r11

nop

  • Выполним компиляцию, для этого нажмите кнопку Build ;

  • Проанализируем информацию, представленную в окне Build. Если имеются ошибки, необходимо их исправить и повторить компиляцию. Если ошибок нет, можно приступить к отладке

  • Для запуска отладчика нажимаем клавишу «Run» или нажать F5. В окне Workspace открывается закладка I/O. В программе желтой стрелкой будет отмечено начало (рисунок 2).

  • В окне I/O откроем каталог Register 0-15, и введем исходные данные в регистры r10 и r11. Для этого в строке r10 щелкнем дважды ЛКМ по обозначению числовому значению (0х00) и в открывшемся окне введем значение 02, аналогично введите число 03 в регистр r11.

Рисунок 5

  • Теперь можно выполнить команду (F11) - шаг и определить результат ее выполнения в r10

  • Откроем регистр состояния процессора (рисунок 1) и определим состояние флагов Z, C

Задание 2 Исследуйте результат выполнения фрагмента программы:

and r10,r11 ;лог. И r10←r10&r11

nop

исходные данные: r10=$b3, r11=$7d

Порядок выполнения задания 2 такой же, как при выполнении задания 1. Результат выполнения команды запишите в таблицу 1

Задание 3 Исследуйте результат выполнения фрагмента программы:

or r10,r11 ;лог. ИЛИ r10←r10vr11

nop

исходные данные: r10=$b3, r11=$7d

Результат выполнения команды запишите в таблицу 1

Задание 4 (выполняется по вариантам). Результат выполнения команды запишите в таблицу 1

Вариант

1-ый операнд

(приемник), Hex

2-ой операнд

(источник), Hex

Операция

1

2a

d3

sub (вычесть)

2

С3

7a

Eor (искл.или)

3

00

-

Com (инвертировать)

4

ff

-

Inc (прибавить 1)

5

00

-

Dec (вычесть 1)

6

43

-

rol (сдвинуть влево)

rol(сдвинуть влево)

7

a7

-

ror (сдвинуть вправо)

ror(сдвинуть вправо)

8*

65

09

mul (умножить)

9

55

55

Eor (искл.или)

10

f0

-

Com (инвертировать)

11

e9

-

Inc (прибавить 1)

12

4d

-

Dec (вычесть 1)

13

55

-

rol (сдвинуть влево)

rol(сдвинуть влево)

14

f6

-

ror (сдвинуть вправо)

ror(сдвинуть вправо)

15*

f5

0a

mul (умножить)

* результат записывается в регистровую пару r1:r0

3 Оформление отчета

В отчете необходимо указать:

1 Название, цель работы

2 Результаты выполнения заданий 1-4, оформленные в виде таблицы

Таблица 1 – Результаты выполнения операций

1-ый операнд

(приемник), Hex

2-ой операнд

(источник), Hex

Операция

Результат, Hex

Флаги

N

Z

C

93

6d

add (сложить)

00

0

1

1

B3

7d

and (лог.И)

b3

7d

or (или)

3 Выводы

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

1 Какие устройства составляют ядро микроконтроллера

2 Объясните значение флагов регистра состоянии процессора ATmega8535

Уроки №9, 10