- •Цифровые и микропроцессорные устройства
- •Часть 4
- •07.04 2014 Г., протокол № 10
- •Введение
- •Лабораторная работа № 12составление линейных и циклических программ на языке ассемблер Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •Лабораторная работа № 13обучение работе на симуляторе микропроцессора Sim8085 Microprocessor Simulator
- •Содержание отчета
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •2 Индивидуальное задание № 14. 1
- •3 Индивидуальное задание № 14. 2
- •4 Индивидуальное задание № 14. 3
- •Лабораторная работа № 15логические команды и команды сдвига Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Команды сравнения
- •Команды сдвига
- •Индивидуальное задание № 15. 1
- •Индивидуальное задание № 15. 2
- •Индивидуальное задание № 15. 3
- •Лабораторная работа № 16 команды управления Цель работы
- •Подготовка и выполнение работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •1 Теоретическое обоснование
- •2 Индивидуальное задание № 16. 1
- •3 Индивидуальное задание № 16. 2
- •Лабораторная работа № 17обучение работе в интегрированной среде mplab ide
- •Содержание отчета
- •Контрольные вопросы
- •Методические указания
- •1 Структурная схема учебного стенда нтц – 31.000
- •2 Органы управления учебного стенда
- •Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •1. 2 Общий формат инструкций и директив
- •1. 3 Директивы Ассемблера
- •1.4 Числовые константы и системы счисления
- •2 Тренировочный пример составления исходного кода программы
- •Лабораторная работа № 19исследование устройств ввода-вывода дискретных сигналов в микропроцессорных системах на базе миКроконтроллера семейства dsPic33f Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •1 Краткие теоретические сведения
- •2 Схема электрическая принципиальная к лабораторной работе
- •3 Алгоритм и листинг программы к заданию № 19. 1
- •4 Алгоритм и листинг программы к заданию № 19. 2
- •Лабораторная работа № 20реализация временных функций в микропроцессорных системах на базе миКроконтроллера семейства dsPic33f Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •1 Краткие теоретические сведения
- •1.1 Реализация временных функций
- •1.2 Метод программных циклов
- •1.3 Использование таймера/счётчика
- •1.4 Схема электрическая принципиальная к лабораторной работе
- •1. 5 Листинг программы для создания проекта lr20_1
- •1.6 Листинг программы для создания проекта lr20_2
- •1.7 Листинг программы для создания проекта lr20_3
- •Литература
- •Содержание
- •Цифровые и микропроцессорные устройства
- •Часть 4
Содержание отчета
Отчет должен содержать:
1 Наименование и цель лабораторной работы.
2 Выполненные индивидуальные задания № 12.1, 12.2 (условия, алгоритмы и программы).
3 Расчет ожидаемого результата выполнения линейной программы.
4 Расчет времени выполнения операции умножения двух восьмиразрядных двоичных чисел.
5 Ответы на контрольные вопросы.
Контрольные вопросы
1 Поясните, как проверить переполнение разрядной сетки при выполнении операции суммирования в МП Intel 8085A?
2 Поясните, как умножить на два в МП Intel 8085A?
3 Поясните, как выполнить суммирование двух 16-разрядных двоичных чисел в МП Intel 8085A? Укажите необходимую команду и ее особенности.
Рисунок 12.1 – Схема алгоритма кодового умножения восьмиразрядных двоичных чисел
Требования к знаниям и умениям учащихся
В результате выполнения лабораторной работы учащийся должен знать:
систему команд МП Intel 8085A (К1821BM85A);
приемы составления линейных и циклических программ.
Должен уметь:
составлять линейные и циклические программы для простых восьмиразрядных МП на языке Ассемблер;
расшифровывать команды МП Intel 8085A;
определять время выполнения программы.
Методические указания
Рассмотрим пример составления алгоритма, программы на языке Ассемблер и расчета ожидаемого результата для варианта № 15* индивидуального задания № 12.1 (таблица 12.1).
Составим алгоритм решения задачи (рисунок 12.2).
Ввод
исх. данных
Рисунок 12.2 – Схема алгоритма решения задачи к варианту № 15* индивидуального задания № 12.1
2 Составим программу решения задачи на языке Ассемблер (таблица 12.4).
Таблица 12. 4 – Пример линейной программы на языке Ассемблер к варианту № 15* индивидуального задания № 12.1
Адрес |
Метка |
Команда |
Операнд |
Машинный код |
Комментарий |
2000 |
|
MVI |
A, 51 h |
3E 51 |
; A ← 51 h |
2002 |
|
MVI |
D, 2C h |
06 2C |
; B ← 2C h |
2004 |
|
LXI |
HL, 2020 h |
21 20 20 |
; HL ← 2020 h |
2007 |
|
MVI |
M, 0Fh |
36 0F |
; M ← 0F h |
200А |
|
MOV |
C, A |
4F |
; C ← (A) |
200B |
|
MOV |
A, M |
7E |
; A ← (M) |
200C |
|
CMA |
|
2F |
; A ← () |
200D |
|
XRA |
B |
A8 |
; A ← (A) ⊕ (B) |
200E |
|
ANA |
C |
A1 |
; A ← (A) ˄ (C) |
200F |
|
ADI |
02 h |
C6 02 |
; A ← (A) + 02 h |
2011 |
|
STA |
2021 h |
32 21 20 |
; М ← (A) |
2014 |
|
HLT |
|
76 |
; Останов |
Примечание – При загрузке исходных данных в ячейку памяти (ЯП) рекомендуется использовать косвенную адресацию, а при загрузке результата решения задачи – прямую.
|
3 Вычислим ожидаемый результат операции. Для удобства введем следующие обозначения: ()⊕ (B) = X1; X1 ˄ (A) = X2.
(M1) = 0F(16) = 0000 1111(2)
⊕ (B) = 2C(16) = 0010 1100(2) |
X1 = DC(16) = 1101 1100(2) ˄ (A) = 51(16) = 0101 0001(2) |
+ 02(16) = 0000 0010(2) |
(M2) = 52(16) = 0101 0010(2)
|