Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МП Лабораторние роботи№1-7.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
782.34 Кб
Скачать

4. Содержание протокола.

Цель работы.

Рис. 1 и 2.

Табл. 1, 2, 3 и 4.

Табл. 5 для своего варианта.

Выводы по работе.

НТУУ «КПИ»

К афедра приборостроения Методические указания

к лабораторной работе по дисциплине

«МП в СИ»

Лабораторная работа № 4 (2)

Работа с памятью микропроцессора КР580ВМ80 в пошаговом режиме

Составили:

Андреева Е.В.

Горовой В.И.

НТУУ «КПИ»-2007

1. Цель работы:

1.1.Изучение внутренней памяти МП (назначение основных регистров)

1.2.Изучение возможностей программы монитора «Микролаб КР580ИК80»

1.3.Изучение команд микропроцессора и режимов работы «Микролаб»

2. Теоретические сведения.

РЕГИСТРЫ МИКРОПРОЦЕССОРА

МП КР580ИК80 содержит ряд внут­ренних регистров, часть из которых может использоваться для хранения и обработки данных. Эти регистры отличаются от регулярных ячеек памяти тем, что они находятся внут­ри МП и выбираются конкретной командой, /например, команда MVI A выбирает аккумулятор/. Управление регистрами осуществляется непос­редственно /без использования шин/ управляющей логикой внутри процес­сора. Они наиболее подходят для временного хранения и хранения про­межуточных результатов.

Некоторые регистры в МП не ис­пользуются для хранения данных об­щего назначения, а выполняют спе­циальные функции. Наиболее важным из них является программный счет­чик /рис.1/. Это шестнадцатибит­ный регистр, хранящий адрес коман­ды, которая будет выполняться. Ког­да команды считываются из памяти, содержимое счетчика команд посту­пает на шину адреса. Выбираемая

Рис.1. Работа программного счетчика

команда появляется на шине данных. Когда команда будет считана МП, содержимое счетчика увеличится на единицу и снова поступит на шину адреса, затем считывается следую­щая команда.

ПРОГРАММА МОНИТОРА "МИКРОЛАБ"

ПЗУ микролаборатории содержит программу монитора, которая считыва­ет с клавиатуры, выполняет выбранную операцию и управляет дисплеем. Микро­лаборатория все время выполняет программу монитора, за исключением случая, когда она выполняет прог­рамму пользователя.

Когда нажимается кнопка ПУСК, программа монитора заставляет процессор перейти к адресу, ука­занному на дисплее "Микролаб". Когда нажимается кнопка СБРОС, микролаборатория возвращается к программе монитора. Программа мо­нитора позволяет проверять содер­жимое регистров в шаговом режиме после выполнения каждой команды, /т.е. после каждого шага/. На третьем и четвертом индикаторах, считая справа, после выполнения каждой команды /шаговый режим/ выс­вечивается содержимое аккумулятора. Кроме того, после каждого шага команды программа монитора записы­вает содержимое регистров в спе­циальные ячейки ОЗУ. Следовательно, можно проверить содержимое регист­ров на каждом шаге, просмотрев соответствующие ячейки ОЗУ /табл.1/.

Таблица 1

Адреса регистров МП

Адрес

Регистр

8 ЗЕВ

Аккумулятор

83ЕА

Регистр признаков

83Е9

В регистр

83Е.8

С регистр

83Е7

D регистр

83Е6

Е регистр

83Е5

Н регистр

83Е4

L регистр

83ЕЗ

Указатель стека /старший

байт/

83Е2

Указатель стека /младший

байт/

83Е1

Программный счетчик /старший

байт/

83Е0

Программный счетчик /младший

байт/

ПРОГРАММА СЧЕТА

На рис.2, показана структурная схема программы, которая "заставля­ет" ячейку памяти считать в двоич­ном коде от 0 до 255 и затем повто­рять этот счет.

Сначала один регистр /в данном случае аккумулятор/ устанавливается в 0. Затем содержимое аккумулятора переписывается в ячейку памяти с адресом 8020 и увеличивается на 1. Далее запись в ячейку памяти пов­торяется снова. В табл.2, приводит­ся листинг программы.

Рис.2. Структурная схема программы счета

Программа начинается с адреса 8004 вместо 8000, так что потом можно добавить несколько команд в начале программы в "Микролаб" 8000 - первая ячейка ОЗУ, следова­тельно, программа пользователя не может начинаться раньше этого ад­реса. Первая команда - MVI A,00H.

Таблица 2

Листинг программы счета

Адрес

Содержимое

Метки

Команды

Комментарии

8004

ЗЕ

MVI A,00H

Установка. А в "0"

8005

00

8006

32

LOOP:

STA 8020

А → ячейка памяти

8007

20

8008

80

8009

00

NOP

800А

ЗС

INR A

Прирастить А

800В

СЗ

JMP LOOP

Переход к LOOP

800С

06

800D

80

Она загружает в аккумулятор нули. Следующая команда - STA 8020пере­сылает содержимое аккумулятора в ячейку памяти 8020. Код 32 в ячей­ке с адресом 8006 указывает, что это команда STA . Когда процессор считывает этот код, он "понимает", что следующие два байта /адреса 8007 и 8008/ содержат адрес, по которому должно быть записано содержимое аккумулятора /в данном случае 8020/. Следует помнить, что байты адреса записываются в обрат­ном порядке. Эта команда не изменя­ет содержимого аккумулятора, она просто копирует данные в ячейку памяти. За командой STA идет коман­да NOP, чтобы зарезервировать мес­то для последующего использования. Следующая команда - INR A, она уве­личивает содержимое аккумулятора. Когда достигается максимальная ве­личина счета /в двоичном коде -1111 1111, в шестнадцатеричном -FF или 255 - в десятичном/, содер­жимое аккумулятора сбрасывается и дальнейший счет идет с нуля. Это обычный режим работы двоичного счетчика.

Последняя команда - переход. Эта команда возвращает программу к команде STA, адрес 8006.

Проведем эксперимент по вы­полнению описанной программы в ша­говом режиме.