- •Лабораторная работа № 1 Ознакомление с работой на учебной микро-эвм.
- •Структура учебной микро-эвм.
- •Адресация в учебной микро-эвм.
- •Директивы монитора.
- •Лабораторная работа № 2 Запись и выполнение простых программ
- •Лабораторная работа № 3 Ввод - вывод, маскирование данных и организация условных переходов.
- •Лабораторная работа 4 Подпрограмма и стек
- •Лабораторная работа n5 Подключение дисплея и клавиатуры к микро-эвм
Лабораторная работа № 3 Ввод - вывод, маскирование данных и организация условных переходов.
Цель работы: исследование методов подключения и организации обмена с простейшими устройствами ввода-вывода. Изучение программных способов маскирования данных и организации условных переходов в микро-ЭВМ.
Краткие сведения из теории
К командам ввода- вывода МП БИС КР580ИК80 относятся команды
IN<A1> и OUT<A1>.
При выполнении команды IN<A1> микро-ЭВМ считывает число из входного устройства с адресом (А1)(А1) и записывает его в аккумулятор.
При выполнении команды OUT<A1> МП БИС записывает число из аккумулятора в выходное устройство с адресом (А1)(А1).
Так как адрес устройства указывается в одном байте, то с помощью этих команд микро-ЭВМ может обмениваться информацией не более чем с 256 внешними устройствами.
В качестве простейших устройств ввода-вывода могут использоваться 8-разрядные регистры (например, многорежимный буферный регистр (МБР) К589ИР12).
Обмен данными между микро-ЭВМ и внешними устройствами может вызываться как в определенных местах в программе, так и по сигналам прерывания. В последнем случае подпрограмма обмена данными с внешним устройством будет вызываться за счет перевода микро-ЭВМ в режим обслуживания прерывания.
Схемы подключения МБР К589ИР12 при использовании его в качестве устройства ввода-вывода и организации обмена информацией как по сигналам, формируемым микро-ЭВМ, так и по сигналам запросов прерывания приведены на рис. 3.5, а-г.
На рис.3.5 а,б показаны схемы подключения МБР при работе его в качестве устройства ввода-вывода и осуществлении обмена информацией с ним по сигналам, формируемым микро-ЭВМ.
На рис.3.5 в,г
приведены схемы подключения по сигналам
прерывания. В этом случае внешнее
устройство записывает данные во входное
устройство (рис.3.5 в) по сигналу, подаваемому
на вход STB многорежимного буферного
регистра. Этим же сигналом формируется
сигнал прерывания на выходе
схемы, подаваемый на вход прерывания
МП БИС. Вызванная подпрограмма обслуживания
прерывания заставляет микро-ЭВМ
обратиться ко входному устройству для
получения данных.
Схема подключения МБР и микро-ЭВМ для вывода данных во внешнее устройство приведена на рис.3.5, г.
При поступлении сигнала запроса от внешнего устройства (ВУ) на вход STB многорежимный буферный регистр вырабатывает сигнал низкого уровня на выходе , который может подаваться на вход прерывания МП БИС. Подпрограмма обслуживания этого прерывания записывает данные в МБР по сигналам выборки. Этими же сигналами сбрасывается внутренний триггер запроса прерывания МБР, что приводит к появлению сигнала единичного уровня на выходе , который сообщает внешнему устройству о приеме данных от микро-ЭВМ в МБР.
В качестве устройства ввода-вывода могут применяться и более сложные схемы, например программируемое устройство ввода-вывода информации в параллельном коде (КР580ИК55).
Схема подключения в микро-ЭВМ входного устройства, выполненного на базе МБР К589ИР12 (D1) с переключателями, приведена на рис.3.6,а. При замкнутом переключателе на вход регистра подается “0”, а при разомкнутом — “1”. Переключатели используются для имитации передачи данных от внешнего устройства. К регистру можно подключить светодиоды (HL1 - HL8) для индикации чисел, записанных в нем.
На рис. 3.6,б приведена схема подключения выходного устройства микро-ЭВМ, построенная на базе схемы К589ИР12 (D1). Светодиоды HL1 - HL8 указывают число, записанное в выходном устройстве.
Простейшая программа (программа П.6) перезаписи числа со входного устройства ( с адресом 05) в выходное устройство (с адресом 05) имеет следующий вид:
ПРОГРАММА П.6
Адрес |
Машинный код |
Метка |
Мнемокод |
Комментарий |
0800 |
DB 05 |
CNT |
IN05 |
;записать число из входного ;устройства с адресом ;05Н в аккумулятор |
0802 |
D3 05 |
|
OUT 05 |
;записать число из аккумулятора ;в выходное устройство ;с адресом 05Н |
0804 |
C3 0008 |
|
JMP CNT |
;идти на CNT |
Организация условных переходов в микро-ЭВМ осуществляется с помощью регистра признаков МП БИС.
Регистр признаков имеет пять разрядов, каждый из которых устанавливается по определенному правилу в соответствии с выполнением МП БИС последней команды.
Этими разрядами являются:
Разряд переполнения С-CARRY. В него записывается 1, если при выполнении арифметической команды или команды сдвига было переполнение аккумулятора, в противном случае в разряд записывается 0.
Разряд знака S-SIGN. В него записывается 1, если при выполнении арифметической или логической команды в старшем, седьмом, разряде аккумулятора записана 1, в противном случае в разряд записывается 0.
Разряд нулевого результата Z-ZERO. В него записывается 1, если при выполнении арифметической или логической команды во всех разрядах числа в аккумуляторе имеются 0, в противном случае в разряд записывается 0.
Дополнительный разряд переполнения АС-AUX. CARRY. В него записывается 1, если при выполнении команд в аккумуляторе возникает единица переноса из третьего разряда числа.
Разряд четности P-PARITY. В него записывается 1, если при выполнении команды количество единиц в разрядах аккумулятора будет четным.
Во многих случаях при выполнении программ необходимо проверять или изменять (маскировать) состояние одного или нескольких разрядов числа в аккумуляторе. Это можно осуществить с помощью следующих операций:
1) логического умножения числа в аккумуляторе и маски, которое очищает разряд числа, если в соответствующем разряде маски будет записан 0, и не изменит его, если в разряде маски записана 1;
2) логического сложения числа в аккумуляторе и маски, которое устанавливает разряд числа в 1, если в таком же разряде маски будет записана 1, и не изменит его, если в этом разряде записан 0;
3) логического “исключающего ИЛИ” числа в аккумуляторе и маски, которое инвертирует содержание разряда числа, если в соответствующем разряде маски записана 1, и не изменит его, если в этом разряде записан 0.
Примеры использования этих команд приведены в табл.3.2.
Таблица 3.2.
Мнемо-код |
Машин-ный код |
Число в аккумуляторе |
Маска |
Комментарий |
Результат в аккумуляторе |
ANI<D1> |
E6<D1> |
00111010 11111111 00000000 10101010 11110000 00001111 00100010 |
10101100 00100010 00100010 00100010 11111111 11111111 00000000 |
Логическое умножение содержимого аккумулятор с байтом D1 |
00101000 00100010 00000000 00100010 11110000 00001111 00000000 |
ORI<D1> |
F6<D1> |
00111010 00001111 11110000 |
10101100 00001111 00001111 |
Логическое сложение содержимого аккумулятора с байтом D1 |
10111110 00001111 11111111 |
XRI<D1> |
EF<D1> |
00111010 00001111 11110000 |
10101100 00001111 00001111 |
Логическое “исключающее ИЛИ” содержимого аккумулятора с байтом D1 |
10010110 00000000 11111111 |
Проведение логических операций возможно также с содержимым аккумулятора и внутренними регистрами МП БИС. В этом случае команды — однобайтные. При выполнении всех логических команд задействуются разряды Z, S, P, AC регистра признаков ( в разряд С записывается 0). Это позволяет проверять состояние любого разряда числа и выполнять условные переходы в программах. Программа маскирования отдельных разрядов числа (программа П.7), записанного во входном устройстве, приведена ниже. Программа помещает результат маскирования в выходное устройство.
ПРОГРАММА П.7
Адрес |
Код |
Метка |
Мнемокод |
Комментарий |
0800 |
DB 05 |
CNT |
IN 05 |
;получить число из ;входного устройства |
0802 |
Е6 20 |
|
ANI 20 |
;выполнить логическую ;операцию |
0804 |
D3 05 |
|
OUT 05 |
;записать результат в ;выходное устройство |
0807 |
C3 0008 |
|
JMP CNT |
;продолжать |
Условные переходы организуются в программах с помощью команд условных переходов.
При выполнении этих команд МП БИС проверяет состояние соответствующего разряда регистра состояния. Если при проверке состояния разряда регистра состояния условие не подтверждается, то выполняется следующая по порядку команда программы. Все команды условных переходов — трехбайтные: первый байт не содержит код команды, второй и третий байты — адрес передач управления. Таким образом, команды условных переходов позволяют строить ветвящиеся алгоритмы и в зависимости от текущего значения результата выполнения программы переходить на различные участки программы.
Ниже приведена программа (программа П.8) для определения 1 в пятом разряде числа, записанного во входном устройстве. Программа использует маскирование числа и условный переход.
ПРОГРАММА П.8
Адрес |
Код |
Метка |
Мнемокод |
Комментарий |
0800 |
DB 05 |
WAIT |
IN 05 |
;получить число из входного ;устройства |
0802 |
E6 20 |
|
ANI 20 |
;проверить состояние пятого ;разряда числа |
0804 |
CA 0008 |
|
IZ WAIT |
;идти на WAIT, если в пятом ;разряде был 0 (Z=0) |
В представленных ранее программах имел место лишь один цикл, в котором работала микро-ЭВМ. Программа ожидания появления 1 во втором и пятом разрядах числа, записанного во входном устройстве (программаП.9), содержит два цикла.
ПРОГРАММА П.9
Адрес |
Код |
Метка |
Мнемокод |
Комментарий |
0800 |
DB 05 |
WAIT 1 |
IN 05 |
;получить число из входного ;устройства |
0802 |
E6 04 |
|
ANI 00000100 |
;выключен ли второй ;переключатель? |
0804 |
CA 0008 |
|
JZ WAIT 1 |
;если нет, продолжить WAIT 1 |
0807 |
3E FF |
|
MVI A, FF |
;если да, зажечь светодиоды |
Адрес |
Код |
Метка |
Мнемокод |
Комментарий |
0809 |
D3 05 |
|
OUT 05 |
;выходного регистра |
080B |
DB 05 |
WAIT 2 |
IN 05 |
;получить число из ;входного устройства |
080D |
E6 20 |
|
ANI 00100000 |
;выключен ли пятый ;переключатель? |
080F |
CA 0B08 |
|
JZ WAIT 2 |
;если нет, продолжать ;WAIT 2 |
0812 |
3E 00 |
|
MVI A, 00 |
;если да, погасить ;светодиоды |
0814 |
D3 05 |
|
OUT 05 |
;выходного регистра |
0816 |
C3 0008 |
|
JMP WAIT 1 |
;повторить программу |
Задания для домашней подготовки
Ознакомьтесь со схемой многорежимного буферного регистра и схемой программируемого устройства ввода-вывода информации в параллельном коде КР580ИК55.
Изучите способы организации обмена информацией между микро-ЭВМ и внешними устройствами. Рассмотрите схемы подключения устройств ввода-вывода данных при различных способах обмена.
Ознакомьтесь с командами ввода-вывода МП БИС КР580ИК80, а также временными диаграммами их выполнения.
Изобразите схемы подключения к микро-ЭВМ устройств ввода-вывода, используемых при проведении лабораторной работы.
Изучите группу логических команд и команд условной передачи управления.
Ознакомьтесь с разрядами регистра признаков МП БИС и правилами записи в них 1.
Ознакомьтесь с программами П.6, П.7, П.8, П.9.
Самостоятельно разработайте программы:
а) включение светодиодов выходного устройства, если число, записанное во входном устройстве, больше 3;
б) включение светодиодов выходного устройства, если число, записанное во входном устройстве, больше 3, но меньше 8.
Видоизмените программу П.8 так, чтобы микро-ЭВМ реагировала на 0 в патом разделе при записанных 1 во всех остальных разрядах.
Задания к лабораторной работе
Задание 1. Исследовать программу П.6.
Порядок выполнения задания:
Ввести в микро-ЭВМ программу П.6. Осуществить пуск программы.
Убедиться, что при выполнении программы микро-ЭВМ постоянно переписывает данные со входного устройства в выходное. Для этого с помощью переключателей входного устройства изменить числа, записанные в нем. Информация о числах в устройствах ввода-вывода может отображаться светодиодами.
Задание 2. Исследовать программу П.7.
Порядок выполнения задания:
Ввести в микро-ЭВМ программу П.7. Осуществить пуск программы и исследовать результат ее выполнения по числу, записанному в выходное устройство.
Заменяя в программе П.7 двухбайтную команду ANI <D> на однобайтные ANA A, XRA A, ORA A, исследовать результат их выполнения по числу, записанному в выходном устройстве.
Задание 3. Исследовать программу П.8.
Порядок выполнения задания:
Ввести в микро-ЭВМ программу П.8. Осуществить пуск программы и убедиться, что при ее выполнении микро-ЭВМ реагирует лишь на те числа во входном устройстве, которые содержат 1 в пятом разряде. После окончания выполнения программы (выполнения в программе команды RST1) в разряде Z регистра состояния записана 1.
Исследовать видоизмененную программу П.8, позволяющую микро-ЭВМ реагировать на 0 в пятом разряде при записанных 1 во всех остальных разрядах.
Задание 4. Исследовать программу П.9.
Порядок выполнения программы:
Ввести в микро-ЭВМ программу П.9. Осуществить пуск программы и убедиться, что при наличии 1 лишь во втором разряде числа входного регистра светодиоды выходного регистра включены и микро-ЭВМ работает в цикле WAIT 2 ожидания появления единицы в пятом разряде числа.
Записать 0 во второй разряд входного устройства при включенных светодиодах входного устройства при включенных светодиодах входного устройства. Записать 1 в пятый разряд входного устройства и убедиться, что светодиоды выходного устройства выключаются, и микро-ЭВМ находится при выполнении цикла WAIT 1 программы.
Установить 1 одновременно во втором и пятом разрядах числа во входном устройстве и проверить, что микро-ЭВМ последовательно выполняет оба цикла (WAIT 1 и WAIT 2) программы.
Задание 5. Исследовать программы, разработанные в п.8 задания для домашней подготовки.
Примечание: Программы, разработанные при выполнении п.8 задания для домашней подготовки, исследуйте самостоятельно.
Работа на учебной ЭВМ
В учебной микро-ЭВМ входные и выходные устройства выполнены по схемам, приведенным на рис.П.6, П.7. Адрес входного устройства — 05, а выходного — 05. Таким образом, все программы, приведенные в лабораторной работе, задания и порядок их выполнения могут быть без каких-либо изменений выполнены на учебной микро-ЭВМ.
Содержание отчета
Отчет должен содержать:
Схемы подключения внешних устройств к микро-ЭВМ.
Временные диаграммы процесса выполнения микро-ЭВМ команд ввода-вывода данных с внешних устройств.
Самостоятельно разработанные и исследованные в процессе выполнения лабораторной работы программы, указанные в п.8 задания для домашней подготовки.
Полный перечень команд передачи управления по условию для МП БИС КР580ИК80.
Полный перечень команд логических операций для МП БИС КР580ИК80.
Задание для самопроверки
С помощью каких команд микро-ЭВМ может осуществлять ввод-вывод информации?
За сколько машинных тактов осуществляется ввод-вывод данных по командам IN <A1>, OUT <A1>?
Приведите схемы подключения дешифраторов адреса и внешних устройств при организации обмена информацией с внешними устройствами с помощью различных команд.
Укажите достоинства и недостатки различных методов адресации к внешним устройствам.
При выполнении каких команд, приведенных в программе П.7, задействуются разряды регистра состояния МП БИС?
По каким условиям записывается 1 в каждый из разрядов регистра состояния МП БИС?
Перечислите виды логических операций, выполняемые МП БИС.
Перечислите режимы работы программируемого устройства ввода-вывода информации в параллельном коде КР580ИК55.
Укажите различия в управляющих сигналах схем К589ИР12 и КР580ИК55 при использовании их в режиме ввода-вывода информации в микро-ЭВМ.
Приведите различные варианты подключения внешних устройств к микро-ЭВМ с помощью схем К589ИР12 и КР580ИК55.
Рассмотрите возможные способы организации обмена информацией между двумя микро-ЭВМ в параллельном коде с помощью схемы КР580ИК55.
