МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
СУМСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ
КАФЕДРА ЕЛЕКТРОННОЇ ТА КОМП ютерної техніки
Лабораторна робота №1
по дісціпліні
«Мікропроцесорні системи»
Виконаю Гоженко В.В.
студент групи ЄС - 01/1
Перевірів
Викладач Скордіна О.М.
Суми +2014
Вивчення системи команд мікро ЕОМ сімейства МК51
Мета роботи - вивчення функціональних можливостей програми ISIS Proteus, системи команд і способів адресації даних в мікро ЕОМ сімейства МК51.
Хід роботи
. У файл з розширенням * .asm впишіть програму, що реалізовує таку задачу:
· Запишіть у R0 0-го банку пам'яті число 51;
· Запишіть у R4 1-го банку пам'яті число 30;
· Завантажте в акумулятор число 35Н;
· Переслати вміст акумулятора в регістр R4 2-го банку пам'яті.
Програма мовою assembler 51:
jmp start: CLR RS0RS1 @ R0, # 51RS0R4, # 30A, # 35HRS0RS1R4, Astart
Стани регістрів і внутрішньої пам'яті даних після виконання програми:
Малюнок 1 - Стани регістрів після виконання програми
Малюнок 2 - Стани внутрішньої пам'яті після виконання програми
програма регістр адресація дані
2. У файл з розширенням * .asm впишіть програму, що реалізовує таку задачу:
· Встановіть покажчик стека на комірку пам'яті 50Н;
· Помістіть в регістр R2 1-го банку пам'яті число 40;
· Помістіть в регістр R3 2-го банку пам'яті число 10;
· Завантажте в акумулятор число 20 і складіть з числом, що зберігаються в регістрі R3 2-го банку пам'яті;
· Збережіть вміст в стеку;
· Складіть вміст регістра R2 1-го банку пам'яті з числом, що зберігаються в комірці пам'яті, на яку вказує покажчик стека.
Програма мовою assembler 51:
org 0000h
jmp start: MOV SP, # 50HRS0R2, # 40RS0RS1R3, # 10A, # 20A, R3ACCRS0RS1ACCA, R2
jmp start
Стани регістрів і внутрішньої пам'яті даних після виконання програми:
Малюнок 3 - Стани регістрів після виконання програми
Малюнок 4 - Стани внутрішньої пам'яті після виконання програми
. У файл з розширення * .asm впишіть програму, що реалізовує таку задачу:
Запишіть в осередки ОЗУ з 30Н по 40Н числа 1-16 відповідно, використовую команду пересилки в резидентну пам'ять даних з акумулятора. Прочитайте в акумулятор осередок ОЗУ з номером 35Н, використовуючи команду з прямоадресуемим байтом.
Програма мовою assembler 51:
org 0000hstart0100h: MOV R0, # 30hA, # 1: MOV @ R0, AR0AA, # 17, m1A, 35hstart
Стани регістрів і внутрішньої пам'яті даних після виконання програми:
Малюнок 5 - Стани регістрів після виконання програми
Малюнок 6 - Стани внутрішньої пам'яті після виконання програми
. У файл з розширення * .asm впишіть програму, що реалізовує таку задачу:
Завантажте в комірку пам'яті з номером 25H число 0FH. Встановіть в одиницю 6-й і 4-й біти, а в 0 - 1-й і 3-й біти. Проінвертіруйте 1-й і 5-й біти.
Програма мовою assembler 51:
org 0000hstart0100h: mov 25h, # 0Fh25h.425h.625h.125h.325h.125h.5start
Стани регістрів і внутрішньої пам'яті даних після виконання програми:
Малюнок 7 - Стани регістрів після виконання програми
Рисунок 8 - Стани внутрішньої пам'яті після виконання програми
Значення 25h осередку брало значення: 0Fh, 1Fh, 5Fh, 5Dh, 55h, 57h, 77h.
Висновки: на лабораторній роботі ми вивчили функціональні можливості програми ISIS Proteus, систему команд і способи адресації даних в мікро ЕОМ сімейства МК51.