Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / Лабораторная работа №2

.odt
Скачиваний:
0
Добавлен:
23.02.2026
Размер:
175.61 Кб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

СИСТЕМА КОМАНД МИКРОПРОЦЕССОРОВ СЕМЕЙСТВА INTEL MCS-51 Отчет по лабораторной работе №2 по дисциплине “ОЭВМ и ВС”

Введение

Целью лабораторной работы является изучение принципов работы и системы команд микропроцессора на примере микропроцессоров семейства Intel mcs-51.

1 ХОД РАБОТЫ

1.1 Создание кода согласно варианту

Согласно варианту 9 необходимо используя систему команд процессора 8051, составить алгоритм и написать программу циклического вычисления суммы чисел от 50 до 0. Результат вычислений вывести в порт P1. Оценить период выполнения цикла. Проверить правильность работы программы на симуляторе. Согласно заданию была создана следующая блок-схема отображающая алгоритм. (рисунок 1.1)

Рисунок 1.1 — Блок схема алгоритма

По данной блок схеме был написан следующий код. (рисунок 1.2)

Р исунок 1.2 — Реализация блок-схемы в виде кода

MOV R0, #50 ;Установить R0 = 50

MOV A, #0 ;Инициализировать A = 0

LOOP:

ADD A, R0 ;Сложить значение R0 с A

DJNZ R0, LOOP;Уменьшить R0 на 1 и повторить цикл, если не равно 0

MOV P1, A ;Отправить результат на порт P1

Данный код выводит значение равное FB=251, что не является суммой чисел от 50 до 0, данная запись является младшими битами от записи ответа, а именно от 16-ричной записи 1275=4FB, было принято решение переписать код, чтобы считались и старшие биты, которые будут выводится в порт P2.

Был написан следующий код (рисунок 1.3), с исправлением данного недочета, теперь код выводит старшие биты в порт P2, а младшие в порт P1, тем самым на выводе мы получаем 4 в P2 и FB в P1, тем самым у нас получается ответ равный 4FB=1275, что является ответом на данное задание.

Р исунок 1.3 — Код с использованием переноса

MOV R0, #50 ; Установить R0 = 50

MOV A, #0 ; Инициализировать A = 0

MOV B, #0 ; Инициализировать старшие биты суммы в B = 0

LOOP:

ADD A, R0 ; Сложить значение R0 с A

JNC NEXT ; Если нет переноса, пропустить следующий шаг

INC B ; Увеличить старший байт суммы

NEXT:

DJNZ R0, LOOP;Уменьшить R0 на 1 и повторить цикл, если не равно 0

MOV P1, A ; Отправить младшие 8 бит результата на порт P1

MOV P2, B ; Отправить старшие 8 бит результата на порт P2

Заключение

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

8

Соседние файлы в папке Лабы