- •Часть I – Основы архитектуры и язык ассемблера мк51
- •Вивчення команд арифметичних операцій та способу вивода даних на статичний 7-сегментний індикатор
- •Изучение команд передачи управления и программирование алгоритмов с ветвлением для микроконтроллеров mcs-51
- •Изучение команд передачи управления и программирование алгоритмов с ветвлением для микроконтроллеров mcs-51
- •Порядок выполнения работы
- •Содержание отчёта
- •Контрольные вопросы
- •Перечень рекомендуемой литературы
- •Приложение а – сИстема команд мк51
Вивчення команд арифметичних операцій та способу вивода даних на статичний 7-сегментний індикатор
Мета роботи: вивчити команди арифметичних дій (ADD, SUBB, MUL, DIV), схему підключення статичного 7-сегментного індикатору до лабораторного стенду EV8031/AVR і засвоїти методику і технологію розробки програм на мові Асемблера які виконують арифметичні дії та виводять інформацію на такий індикатор.
Завдання: скласти на мові Асемблера МК51 програму, яка обчислює значення заданої функції та виводить результат на статичний індикатор.
Методичні вказівки
1. При підготовці до виконання лабораторної роботи самостійно на основі матеріалів лекцій, рекомендованої літератури, матеріалів глобальної комп’ютерної мережі Internet та інших джерел вивчити:
вивчити інструкції арифметичних команд додавання (add), віднімання (subb), множення (mul AB), ділення (div AB);
вивчити схему підключення статичного семисегментного індикатора лабораторного стенду EV8031/AVR та способи програмної взаємодії з ним;
скласти блок-схему алгоритму вирішення задачі.
2. При виконанні роботи в учбовій комп’ютерній лабораторії:
1) відлагодити програму та завантажити її в лабораторний стенд;
2) виконати тестування програми на стенді;
3) зробити висновки.
Зміст звіту
Титульний аркуш.
Мета роботи, індивідуальне завдання (табл. 1).
Блок-схема алгоритму рішення завдання.
Текст програми з кодами та коментарями.
Результати тестування програми.
Висновки.
Варіанти завдань
№ варіанту |
Функція |
Вихідні дані |
Результат |
Індикатор |
|
X1 |
X2 |
Y |
|||
1 |
Y=2X1-3X2/5+3 |
R1 |
R2 |
R3 |
лівий |
2 |
Y=2(X1+4X2)/7-2 |
R4 |
R5 |
R6 |
правий |
3 |
Y=3(2X1-X2)/2+5 |
R1 |
R2 |
R7 |
лівий |
4 |
Y=4X1-(2X2/5+4) |
R2 |
R3 |
R0 |
правий |
5 |
Y=(X1+X2)/4-3 |
R3 |
R2 |
R4 |
лівий |
6 |
Y=(X1+2)-3X2/2 |
R2 |
R1 |
R5 |
правий |
7 |
Y=X1+3(X2/5-8) |
R5 |
R6 |
R3 |
лівий |
8 |
Y=X1-5X2/8+12 |
R7 |
R0 |
R3 |
правий |
9 |
Y=4X1+4X2/9-7 |
R3 |
R5 |
R7 |
лівий |
10 |
Y=(X1-5)+10X2/3 |
R4 |
R6 |
R0 |
правий |
11 |
Y=7X1+X2/5-1 |
R4 |
R6 |
R0 |
лівий |
12 |
Y=X1-X2/7+10 |
R4 |
R6 |
R0 |
правий |
13 |
Y=5X1+6X2/5-15 |
R4 |
R6 |
R0 |
лівий |
14 |
Y=7X1-8X2/5+6 |
R4 |
R6 |
R0 |
правий |
15 |
Y=3X1+4X2/5-9 |
R4 |
R6 |
R0 |
лівий |
Пример выполнения лабораторной работы:
Составить блок-схему алгоритма и программу на языке Assembler вычисляемую значение функции Y от аргументов X1 и X2 являющееся целыми 1-байтными числами. Все данные разместить во внутренней памяти данных.
X1=20h =#00h
X2=21h =#04h
Y=22h
Ход работы:
Блок-схема:
Текст программы:
org 0
start:
mov 20h,#00h
mov 21h,#04h
mov A, 21h
rr a
mov 17h,a
rr a
add a,17h
mov 19h,A
mov A,20h
add A,#02
mov B,A
mov A,19h
div AB
mov 18h,A
mov A,20h
mov B,#03
mul AB
add A,18h
mov 22h,A
ret
END
Результат программы: Y=1
Проверка:
Вывод: изучили команды арифметических операций, и освоили их использование в программах линейной структуры для микропроцессора MCS-51.
ЛАБОРАТОРНАЯ РАБОТА №3
