
- •Лабораторные роботы по дисциплине «мп в си»
- •Лабораторная робота № 2 по дисциплине «мп в си»
- •4. Содержание протокола.
- •К афедра приборостроения Методические указания
- •1. Цель работы:
- •2. Теоретические сведения.
- •3. Ход выполнения работы.
- •4. Отчет по лабораторной работе должен содержать:
- •Устройства ввода в мпс
- •Цель работы:
- •Теоретические сведения.
- •Ход выполнения работы
- •1. Цель работы:
- •2. Теоретические сведения:
- •3. Ход выполнения работы.
- •Кафедра приборостроения Методические указания
- •Методические рекомендации
- •3. Ход выполнения работы
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.
Проведем эксперимент по выполнению описанной программы в шаговом режиме.