- •Цифровые и микропроцессорные устройства
- •Часть 3
- •Введение
- •Порядок выполнения работы
- •Структурная схема умк
- •Назначение органов управления, ввода и индикации
- •Включение и запуск умк
- •Команды системной программы монитор умк
- •Команда просмотр и модификация содержимого ячейки памяти
- •Команда просмотр и модификация содержимого регистров
- •Команда заполнение массива памяти константой
- •5.4 Команда старт программы
- •Команда подсчет контрольной суммы
- •Команда перемещение массива памяти
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •Теоретическое обоснование
- •Команды загрузки регистров общего пользования
- •Команды манипуляции 16-разрядными данными
- •Команды загрузки регистра указателя стека
- •Команды пересылки
- •Команда загрузки счетчика команд pchl
- •Команды прямой записи в память
- •Команды чтения памяти по прямому адресу
- •Команды чтения-записи памяти при косвенной адресации через регистровую пару hl
- •Команды чтения/записи при прямой адресации через регистровые пары bc, de
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •Теоретическое обоснование
- •Команды сложения 8-разрядных чисел
- •Команды вычитания 8-разрядных чисел
- •Команды двойного сложения
- •Команды инкремента
- •Команды декремента
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Команды логического сложения
- •Команды логического умножения
- •Команды исключающие или
- •Команда инверсия
- •Команды сравнения
- •Теоретическое обоснование
- •Команды сравнения с содержимым регистра
- •Команды сдвига
- •Теоретическое обоснование
- •Команды циклического сдвига
- •Команды сдвига через перенос
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •Теоретическое обоснование
- •Команды безусловного перехода
- •Команды перехода по признаку – ноль
- •Команды перехода по признаку с – перенос
- •Команды перехода по признаку р – четность
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •Теоретическое обоснование
- •Команды записи в стек, восстановления и обмена стеком
- •Команды вызова подпрограммы и возврата
- •Изучение архитектуры однокристального микроконтроллера pic16f84 Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Литература
- •Пример выполнения задания на симуляторе sim8085 microprocessor simulator
- •Содержание
- •Цифровые и микропроцессорные устройства
- •Часть 3
Порядок выполнения работы
Проверка подготовки учащихся к занятию по вопросам для самоконтроля в виде фронтального или программированного опроса.
Выполнить индивидуальное задание № 1. Составить схему алгоритма и программу линейного вычислительного процесса на языке Ассемблер для МП К1821ВМ85А, которая реализует последовательности арифметических или логических операций согласно варианту, заданному в таблице 1 (номер варианта выбирается в зависимости от номера учащегося в списке учебного журнала группы).
Таблица 1 – Исходные данные к индивидуальному заданию № 1
№ варианта |
Последовательность операций |
Значения операндов (P = 16) |
||||||
(A) |
(B) |
(C) |
(D) |
(E) |
(M1) |
(M2) |
||
1 |
M2 = 2((C) + (D)) – (M1) |
– |
– |
05 |
1A |
– |
10 |
– |
2 |
M1 = ( |
03 |
05 |
– |
– |
– |
– |
F0 |
3 |
M2 = ((M1) – (A)) : 2 + 05H |
15H |
– |
– |
– |
– |
25H |
– |
4 |
M1 = (( |
2D |
– |
E1 |
– |
– |
– |
32 |
5 |
M2 = (D) – 2 (M1) + 10 H |
– |
– |
– |
30 |
– |
08 |
– |
6 |
M1 = ( |
35 |
– |
– |
– |
1F |
– |
30 |
7 |
M2 = ((C) – (A)) : 4 – (M1) |
05 |
– |
2D |
– |
– |
05 |
– |
8 |
M1 = ( |
1E |
– |
– |
32 |
– |
– |
A0 |
9 |
M2 = 4((D) – (M1)) + (A) |
10H |
– |
– |
0A |
– |
05 |
– |
10 |
M1 = ((B) ( )) ( ) |
– |
25 |
– |
11 |
– |
– |
2F |
Примечания
|
||||||||
Составить алгоритм решения задачи с учетом программной загрузки исходных данных. При составлении алгоритма следует помнить, что в МП КР51821ВМ85А умножение и деление на 2 выполняется с помощью команд циклического сдвига влево RLC и вправо RRC соответственно.
Составить программу на языке Ассемблер в виде таблицы (таблица 2).
Таблица 2 – Линейная программа на языке Ассемблер
Адрес |
Метка |
Команда |
Операнд |
Машинный код |
Комментарий |
1 |
2 |
3 |
4 |
5 |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Определить ожидаемый результат вычисления. Для этого при выполнении арифметических операций следует подставить в заданное уравнение значения переменных в десятичной системе счисления и выполнить указанные арифметические операции в десятичной системе счисления. Порядок расчета и ожидаемый результат записать в отчет в десятичной и шестнадцатеричной системах счисления.
Логические операции следует выполнять в двоичной системе счисления поразрядно, при этом следует помнить, что логические операции обладают приоритетом. Порядок расчета и ожидаемый результат записать в отчет в двоичной и шестнадцатеричной системах счисления.
Выполнить индивидуальное задание № 2. Составить программу циклического вычислительного процесса на языке Ассемблер для МП К1821ВМ85А, которая реализует умножение двух восьмиразрядных двоичных чисел без учета знака (кодовое умножение) согласно варианту, заданному в таблице 3.
Таблица 3 – Исходные данные к индивидуальному заданию № 2
Номер варианта |
Значения операндов (P = 16) |
Начальный адрес программы |
|
(DE) |
(A) |
||
1 |
00A3 |
B2 |
0801 |
2 |
00B4 |
C3 |
0802 |
3 |
00D5 |
24 |
0803 |
4 |
00E6 |
35 |
0804 |
5 |
00F1 |
DA |
0805 |
6 |
00D4 |
35 |
0806 |
7 |
00B2 |
47 |
0807 |
8 |
00C3 |
5B |
0808 |
9 |
00B3 |
74 |
0809 |
10 |
00D2 |
A3 |
080A |
Пусть множимое хранится в паре регистров DE, где оно занимает младший регистр E, старший регистр D пары регистров установлен в нуль. Множитель хранится в аккумуляторе A. 16-разрядное произведение будем формировать в паре регистров HL. Счетчик числа повторений цикла организуем на регистре B.
Процесс умножения организуем следующим образом. Будем анализировать разряды множителя, начиная с его старшего разряда. Поэтому частичные произведения будут формироваться, начиная со старшего частичного произведения. Накопление суммы частичных произведений будем производить в паре регистров HL, т.е. к содержимому предварительно сброшенной в нуль пары регистров HL вначале прибавим восьмое частичное произведение. Затем, сдвинув на один разряд влево содержимое пары регистров HL, прибавим седьмое частичное произведение и так далее, пока не будут просуммированы все частичные произведения.
Таким образом, процесс умножения носит циклический характер. Цикл, содержащий операции сдвига влево содержимого пары регистров HL, формирования и прибавления к содержимому пары регистров HL очередного частичного произведения, должен быть повторен восемь раз.
Алгоритм решения задачи представлен на рисунке 1.
Блок 1(рисунок 1) производит загрузку множимого в пару регистров DE и множителя в регистр A. Блок 2 производит загрузку нулевого значения в пару регистров HL. Блок 3 устанавливает в регистре B (счетчике циклов) начальное значение 8. Блок 4 производит сдвиг на один разряд влево содержимого пары регистров HL. Эта операция выполняется путем удвоения содержимого пары регистров: HL (HL) + (HL). Блок 5 предназначен для анализа очередного разряда множителя. Для этого содержимое аккумулятора сдвигается влево, в результате чего очередной разряд множителя пересылается в триггер TC регистра признаков. Блок 6 производит разветвление (условный переход) по содержимому триггера TC. При (TC) = 1 в блоке 7 выполняется операция суммирования множимого к сумме предыдущих частичных произведений в паре регистров HL. При (TC) = 0 операция суммирования не выполняется, по команде условного перехода JNC M1 осуществляется переход к команде блока 8. Блок 8 производит вычитание единицы из содержимого регистра B, после чего блок 9 выполняет условный переход по содержимому триггера TZ регистра признаков. Если (TZ) = 0 (содержимое регистра B не равно нулю), то команда условного перехода JNZ M2 производит переход к команде блока 4, вызывая очередное повторение выполнения тела цикла. Если (TZ) = 1 (содержимое регистра B равно нулю), то происходит выход из цикла и переход к очередной команде.
Рисунок 1 – Схема алгоритма кодового умножения восьмиразрядных двоичных чисел
Составить циклическую программу умножения восьмиразрядных двоичных чисел на языке Ассемблер в форме таблицы 2.
Определить время выполнения операции умножения для тактовой частоты равной 2 МГц. Для этого определить количество тактов, требуемое для однократного прохождения цикла алгоритма и полученный результат умножить на восемь. Суммарное число тактов умножить на длительность тактового периода (0,5 мкс).
Ответить на контрольные вопросы.
Оформить отчет и сдать зачет.
Содержание отчета
Отчет должен содержать:
Наименование и цель лабораторной работы.
Выполненные индивидуальные задания № 1, 2 (условия, алгоритмы и программы).
Расчет ожидаемого результата выполнения линейной программы.
Расчет времени выполнения операции умножения двух восьмиразрядных двоичных чисел.
Ответы на контрольные вопросы.
Контрольные вопросы
Поясните, как проверить переполнение разрядной сетки при выполнении операции суммирования в МП К1821ВМ85А?
Поясните, как умножить на два в К1821ВМ85А?
Поясните, как выполнить суммирование двух 16-разрядных двоичных чисел в МП К1821ВМ85А? Укажите необходимую команду и ее особенности.
Требования к знаниям и умениям учащихся
В результате выполнения лабораторной работы учащийся должен знать:
систему команд МП К1821ВМ85А;
приемы составления линейных и циклических программ.
Должен уметь:
составлять линейные и циклические программы на языке Ассемблер;
расшифровывать команды МП К1821ВМ85А;
определять время выполнения программы.
ЛАБОРОТОРНАЯ РАБОТА № 13
ОБУЧЕНИЕ РАБОТЕ НА УЧЕБНОМ МИКРОПРОЦЕССОРНОМ КОМПЛЕКТЕ
Цель работы
Изучить структуру, назначение органов управления, ввода и индикации учебного микропроцессорного комплекта (УМК) на микропроцессорном комплекте (МПК) серии КР580.
Приобрести практические навыки включения и запуска УМК.
Приобрести практические навыки выполнения команд системной программы МОНИТОР УМК.
Подготовка к выполнению работы
Повторить по [2] структурную схему, форматы данных и команд, способы адресации, принцип работы и систему команд микропроцессора (МП) КР580ВМ80.
Подготовить ответы на вопросы для самоконтроля.
Вопросы для самоконтроля
Поясните назначение МП БИС КР580ВМ80 (далее по тексту МП БИС).
Кратко опишите назначение узлов, входящих в МП БИС.
Поясните процессы в МП БИС после начального запуска (сброса).
Поясните процессы в МП БИС при отсутствии сигнала на входе Ready.
Приборы, оборудование и документация
Учебный микропроцессорный комплект (УМК).
Техническое описание УМК РР3.059.004 ПС.
Методические указания к лабораторной работе.
Порядок выполнения работы
Проверка подготовки учащихся к занятию по вопросам для самоконтроля в виде фронтального или программированного опроса и инструктаж по технике безопасности.
Произвести внешний осмотр УМК и убедиться визуально в отсутствии каких-либо повреждений и дефектов.
Помните, что выключение питания УМК в процессе работы вызывает стирание программы, записанной в ОЗУ. Повторное включение УМК допускается не ранее, чем через 20 секунд.
Изучить назначение и структурную схему УМК, назначение органов управления, ввода и индикации, а также порядок включения и запуска (см. методические указания к данной лабораторной работе).
Подготовить УМК к работе.
Выполнить команды системной программы МОНИТОР УМК. Рекомендации по выполнению этого задания приведены в методических указаниях к данной лабораторной работе. В отчет записывать результаты выполнения задания по каждой команде.
После проверки преподавателем результатов выключить питание УМК, вынуть вилку шнура питания из розетки.
Ответить на контрольные вопросы.
Оформить отчет и сдать зачет.
Содержание отчета
Отчет должен содержать:
Наименование и цели лабораторной работы.
Структурную схему УМК.
Основные технические данные УМК.
Результаты выполнения задания по каждой команде системной программы МОНИТОР.
Ответы на контрольные вопросы.
Контрольные вопросы
Укажите основные функции системной программы МОНИТОР.
Поясните, что означает термин «модификация содержимого ячейки памяти или регистра».
Поясните, как осуществляется инициализация системной программы МОНИТОР.
Требования к знаниям и умениям учащихся
В результате выполнения лабораторной работы учащиеся должны знать:
структуру, назначение органов управления и индикации УМК, а также основные технические данные;
назначение системной программы МОНИТОР;
возможные режимы работы УМК и условия их обеспечения.
Должны уметь:
готовить к работе УМК;
вводить и выполнять команды системной программы МОНИТОР.
Методические указания
Назначение и основные технические данные УМК
УМК представляет собой законченную микроЭВМ и предназначен:
для изучения основ построения и обслуживания микроЭВМ (микропроцессорных систем), построенных на базе МП КР580ВМ80;
для обучения основам программирования МП КР580ВМ80.
Основные технические характеристики УМК:
тип применяемого МП – КР580ВМ80;
емкость ОЗУ – 1 Кбайт;
емкость ПЗУ – 2 Кбайта;
возможность прерывания – 1 вектор;
программное обеспечение – системная программа МОНИТОР;
уровни входных и выходных сигналов совместимы с уровнями ИМС ТТЛ;
напряжение питания – 220 В
10%;потребляемая мощность, не более 50 ВА;
масса изделия – 0,6 кг.
