Программирование на языке ассемблер микроконтроллера с ядром AVR в информационных технологиях

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Информатика основы
  • 9 9 страниц
  • 0 + 0 источников
  • Добавлена 31.08.2018
1 000 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
-
Фрагмент для ознакомления

Из заданного массива чётные числа – 22, 44, 66, 88, AA, CC, EE, DE. Из них попадают в диапазон (6C … FE) – 88, AA, CC, EE, DE. Минимальное из них – 88. То есть программа работает правильно.

Приложение А
Программа на языке Ассемблер

.DEF V=R16; Определение регистров
.DEF Min=R17
.DEF YL=R28
.DEF YH=R29

.ORG 0x00; Настройка вектора прерываний
RJMP Program
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI

Program:; Основная программа
LDI YH, 0x01; Загрузка адреса начала массива
LDI YL, 0xAC
LDI Min, 0xFF; Инициализация регистра минимального значения
Cycle:; Начало чикла проверки
LD V, Y+; Загрузка значения элемента массива
CPI V, 0x6C; Сравнение с нижней границей диапазона
BRLO Next; Пропуск, если значение вне диапазона
CPI V, 0xFE; Сравнение с верхней границей диапазона
BRSH Next; Пропуск, если значение вне диапазона
SBRC V, 0; Проверка чётности
RJMP Next; Пропуск, если значение нечётно
CP V, Min; Сравнение элемента массива с минимальным значением
BRSH Next; Пропуск, если элемент не минимален
MOV Min, V; Корректировка минимального значения
Next:
CPI YL, 0xBD; Определение условия достижения конца массива
BRLO Cycle; Переход проверке следующего элемента массива
STS 0x0195, Min; Сохранении минимального значения

Начало

YH = 0x01

YL = 0xAC

Min = 0xFF

V

V < 0x6C

нет

да

V < 0xFE

да

V чётное

Min = V

да

X < Min

да

нет

нет

нет

1

2

3

4

6

7

8

9

10

9

11

YL = YL+1

5

11

8

6

нет

да

YL ≥ 0xBD

4

11

12

Min

Конец

-

Вопрос-ответ:

Какой язык программирования используется в данной статье?

В данной статье используется язык ассемблера для программирования микроконтроллера с ядром AVR.

Какие числа попадают в заданный диапазон?

Из заданного массива чисел 22 44 66 88 AA CC EE DE, в диапазон попадают числа 88, AA, CC, EE, DE.

Какой алгоритм используется в программе на языке ассемблера?

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

Какие регистры используются в данной программе?

В данной программе используются следующие регистры: R16, R17, R28, R29.

Зачем нужна настройка вектора прерываний в программе?

Настройка вектора прерываний в программе необходима для определения реакции микроконтроллера на внешние события и обработки прерываний в процессе выполнения программы на ассемблере.

Каким языком программирования написана программа, описанная в статье?

Программа написана на языке ассемблер.

Какой микроконтроллер используется в программе?

В программе используется микроконтроллер с ядром AVR.

Для чего в программе используются регистры?

Регистры используются для хранения промежуточных значений и для работы с данными.

Какой диапазон чисел попадает в массив в программе?

В массив попадают числа из диапазона от 6C до DE.

Какое число является минимальным из чисел в массиве в программе?

Минимальное число в массиве равно 88.

Какая программа написана на языке ассемблера для микроконтроллера с ядром AVR?

Программа на языке ассемблера для микроконтроллера с ядром AVR называется "DEF".

Какие регистры используются в программе на языке ассемблера для микроконтроллера с ядром AVR?

В программе используются следующие регистры: R16, R17, R28, R29.