
- •Кафедра «Электроники» цифровые устройства и микропроцессоры
- •Печатается по плану издания некоммерческого акционерного общества «Алматинский институт энергетики и связи» на 2010 г.
- •© Нао «Алматинский институт энергетики и связи», 2010 г.
- •Лабораторная работа №1
- •Изучение микрокомпьютера на базе микропроцессора Intel 8085
- •1.1 Порядок выполнения работы
- •1 10 Двухсекундная задержка Считать данные и передать на порт Вывода 0
- •1.2 Контрольные вопросы
- •Лабораторная работа №2 Знакомство с платой ев-152. Решение простейших программ на микрокомпьютере
- •2.1 Порядок выполнения работы
- •2.2 Контрольные вопросы
- •Лабораторная работа №3 Обработка массива данных микропроцессором i8085
- •3.1 Порядок выполнения работы
- •3.2 Контрольные вопросы
- •Лабораторная работа №4 Изучение работы программ с помощью эмулятора микропроцессора
- •- Приобретение навыков анализа работы простейших программ с помощью эмулятора микропроцессора i8085
- •4.1 Порядок выполнения работы:
- •Dcr b; Декремент счетчика числа элементов
- •4.2 Контрольные вопросы
- •Список литературы
- •Содержание
- •050013, Алматы, Байтурсынова, 126
- •Проректор по учебно-методической работе
- •Согласовано Рассмотрено и одобрено Начальник умо на заседании кафедры Электроники
- •Специалист по стандартизации
- •Алматы 2010
2.2 Контрольные вопросы
2.2.1 Какое назначение у клавиши MEM?
2.2.2 Какое назначение у клавиши REG?
2.2.3 Какое назначение у команды RST 7?
2.2.4 При тактовой частоте микропроцессора 2 МГц вычислите время, необходимое при выполнении программы, представленной в таблице 2.4, если известно, что команда LDA содержит 13 циклов, команда CMA – 4 цикла, команда STA – 3 цикла, а команда RST 7 – 12 циклов.
2.2.5 Дать комментарий действия логических команд ANA r, ANA M, ANI data?
2.2.6 Дать комментарий назначения и действия команд LDA adr, CMA и STA adr?
2.2.7 Дать комментарий назначения и действия команд LXI rp, data 16; INX rp и MOV r,M ?
2.2.8 6 Дать комментарий действия командам арифметической операции сложения: ADD r; ADI,data; ADD M; ADC r; ADC M и ACI data.
Лабораторная работа №3 Обработка массива данных микропроцессором i8085
Цель работы:
- понимать и использовать команды i8085 для выполнения программы с массивами данных.
3.1 Порядок выполнения работы
3.1.1 Используя длинные провода соедините плату ЕВ-152 в следующем порядке:
a) +12 V. EB-152 - +12 V. PU-2000;
b) + 5 V. EB-152 - + 5 V. PU-2000;
c) -12 V. EB-152 - -12 V. PU-2000;
d) GND EB-152 - Ground PU-2000;
e) установите Sig.ANAL/KB+DISP переключатель (S1) в положение KB+DISP;
f) соедините клемму TX. EB-152 с клеммой RX.. EB-151;
g) соедините клемму RX. EB-152 с клеммой TX.. EB-151.
3.1.2 Убедитесь, что дисплей платы ЕВ-152 показывает EbHt.
3.1.3 Нажмите и отпустите кнопку Reset на плате ЕВ-151. Если все работает правильно, то дисплей платы ЕВ-152 должен показывать Eb-151.
3.1.4 Введите программу счета, показанную в таблице 3.1. Эта программа считает до семи и затем сохраняет это число.
Т а б л и ц а 3.1
Адрес |
Машкод |
Мнемокод |
Операнд |
Комментарий |
2100Н |
3EH |
MVI A |
00H |
Сброс сумматора на 0 |
2101Н |
00H |
|
|
|
2102Н |
3CH |
INR A |
|
Увеличение значения сумматора на 1 |
2103Н |
FEH |
CPI |
07H |
Проверка на окончание счета |
2104Н |
07H |
|
|
|
2105Н |
FFH |
RST 7 |
|
Точка прерывания |
2106Н |
CAH |
JZ |
210CH |
Переход, если сумматор = 7 |
2107Н |
0CH |
|
|
|
2108H |
21H |
|
|
|
2109H |
C3H |
JMP |
2102H |
Повтор операции |
210AH |
02H |
|
|
|
210BH |
21H |
|
|
|
210CH |
32H |
STA |
2115H |
Сохранение сумматора (7) |
210DH |
15H |
|
|
|
210EH |
21H |
|
|
|
210FH |
FFH |
RST 7 |
|
Конец программы |
Как видно из таблицы 3.1 адрес 2105Н содержит контрольную точку, чтобы при остановке в ней программы можно было просмотреть содержимое ячеек памяти или регистров.
Нажмите на клавиши REG и «1» и просмотрите содержимое аккумулятора.
Нажмите на клавиши REG и «8», просмотрите содержимое регистра признаков F. Убедитесь, что флаг нуля (шестой бит) равен нулю, показывая, что содержимое аккумулятора не равно 7.
Нажмите на клавиши GO и ENTER. По адресу 2106Н находится команда JZ (переходить, если нуль), которая переводит на адрес 2109Н, чтобы повторить программу.
Повторяйте выполнение программы до тех пор, пока содержимое аккумулятора не увеличится до 7. Адрес соответствующей контрольной точки – 2109Н, а результат (07) будет храниться в ячейке 2115Н.
3.1.5 В таблице 3.2 показана программа, которая помещает содержимое ячеек памяти 2160Н и 2161Н в порядке убывания, то есть большие элементы идут раньше.
Т а б л и ц а 3.2
Адрес |
Машкод |
Мнемокод |
Операнд |
Комментарий |
2100Н |
3AH |
LDA |
2160H |
Считывание первого элемента |
2101Н |
60H |
|
|
|
2102Н |
21H |
|
|
|
2103Н |
47H |
MOV B,A |
07H |
Сохранение первого элемента |
2104Н |
3AH |
LDA |
2161H |
Сохранение второго элемента |
2105Н |
61H |
|
|
|
2106Н |
21H |
|
|
|
2107Н |
B8H |
CMP B |
|
Сравнение элементов |
2108H |
00H |
NOP |
|
Нет операции |
2109H |
DAH |
JC |
2113H |
Выход из программы |
210AH |
13H |
|
|
|
210BH |
21H |
|
|
|
210CH |
32H |
STA |
2160H |
Сохранение элементов массива |
210DH |
60H |
|
|
|
210EH |
21H |
|
|
|
210FН |
78H |
MOV A,B |
00H |
Перенос элемента |
2110Н |
32H |
STA |
2161H |
Сохранение второго элемента |
2111Н |
61H |
|
|
|
2112Н |
21H |
|
|
|
2113Н |
FFH |
RST 7 |
|
Возврат к УП |
Из таблицы 3.2 видно, что программа тестирует флаг переноса, используя команду JC. Причем, если флаг переноса установлен в положение 1, то выполнение программы возобновляется в адресе, определенном командой JC. Если флаг переноса сброшен на 0, то выполнение продолжается со следующей последовательной команды.
Команда может быть заменена RST 7 с целью просмотра регистров.
3.1.6 Изучите блок-схему рисунка 3.1, которая показывает алгоритм вычисления суммы всех элементов массива.
Рисунок 3.1
В таблице 3.3 представлена программа, реализующая алгоритм, представленный на рисунке 3.1.
Т а б л и ц а 3.3
Адрес |
Машкод |
Мнемокод |
Операнд |
Комментарий |
2100Н |
06H |
MVI B |
05H |
Счетчик = 5 |
2101Н |
05H |
|
|
|
2102Н |
21H |
LXI H |
2160H |
Определение базового адреса |
2103Н |
60H |
|
|
|
2104Н |
21H |
|
|
|
2105Н |
97H |
SUB A |
|
Сброс значения суммы на 0 |
2106Н |
86H |
ADD M |
|
Сумма = Сумма + Данное |
2107Н |
32H |
STA |
2165H |
Сохранение данного |
2108H |
65H |
|
|
|
2109H |
21H |
|
|
|
210AH |
05H |
DCR B |
|
Уменьшение У |
210BH |
97H |
SUB A |
|
Сброс сумматора |
210CH |
B8H |
CMP B |
2160H |
Проверка окончания счета |
210DH |
CAH |
JZ |
2117H |
Если да, закончить программу |
210EH |
17H |
|
|
|
210FН |
21H |
|
|
|
2110Н |
3AH |
LDA |
2165H |
Если нет, вычислить сумму |
2111Н |
65H |
|
|
|
2112Н |
21H |
|
|
|
2113Н |
23H |
INX H |
|
Увеличение указателя на 1 |
2114Н |
C3H |
JMP |
2106H |
|
2115Н |
06H |
|
|
|
2116Н |
21H |
|
|
|
2117Н |
FFH |
RST 7 |
|
Возврат к управляющей программе |
Запустите программу, используя в качестве начальных данных значения из таблицы 3.4. Произведите вычисления и внесите в таблицу 3.4 недостающее значение.
Т а б л и ц а 3.4
Адрес |
2160Н |
2161Н |
2162Н |
2163Н |
2164Н |
2165Н |
Данные |
A3H |
11H |
27H |
5BH |
32H |
|