Лабораторная работа № 3
Организация ввода/вывода информации в МПС через внешние устройства.
Цель работы: исследование методов работы с устройствами ввода/вывода информации. Изучение методов обработки информации (маскирование данных и программный опрос) и организация разветвляющегося вычислительного процесса с помощью команд условных переходов в МПС.
Краткие сведения из теории.
МПС обмениваются информацией с внешней средой (внешними устройствами ВУ) с помощью специальных команд. К отдельным разрядам регистров портов ввода/вывода подсоединяются или датчики, или исполнительные органы (лампы, реле, усилители и т.д.). При выполнении команд IN N МПС считывает число из порта с адресом N и помещает его в аккумулятор А микропроцессора. При выполнении команды OUT N МПС передает предварительно записанное в аккумулятор А число в порт с адресом N. Поскольку адрес N занимает один байт, то с помощью команд IN и OUT можно обращаться не более чем к 256 портам ввода и 256 портам вывода. Причем адреса ввода и вывода могут совпадать, поскольку порты ввода и вывода являются физически разными устройствами.
С помощью портов ввода/вывода МПС обменивается информацией с ВУ в параллельной форме, то есть за один такт осуществляется ввод/вывод одновременно восьми информационных разрядов. Для этих целей разработаны специализированные БИС, например, КР580ВВ55, представляющее собой однокристальное программируемое устройство ввода/вывода параллельной информации. Эта микросхема предназначена для сопряжения ВУ с системной шиной МПС на базе микропроцессора КР580ВМ80А. В ней находится четыре программно-доступных регистра. Один из них – регистр управляющего слова РУС, остальные образуют три независимых порта ввода/вывода А, В и С. БИС может работать в трех различных режимах. Настройка на соответствующий режим работы (инициализация) осуществляется записью управляющего слова УС в РУС перед работой с портами.
Микросхема организована на основе внутренней двунаправленной 8-разрядной шины данных.
Рисунок 1.
Связь БИС с МП осуществляется по шине данных D7...D0. Для адресации внутренних регистров БИС используются линии А1 и А0 шины адреса: 00 - порт А, 01 - порт В, 10 - порт С и 11 - регистр управляющего слова (РУС).
Таблица 1. Назначение выводов
/CS |
Выбор микросхемы. Низкий уровень инициирует обмен между процессором и ППИ |
/RD |
Чтение. Низкий уровень на этом входе позволяет ППИ передать данные или УС |
/WR |
Запись. Низкий уровень на этом входе позволяет ППИ принять данные или УС |
RESET |
Сброс. Высокий уровень на этом входе сбрасывает все внутренние регистры, включая регистры управления, переключает все каналы (A, B, C) в режим 0, одновременно переводя их в режим ввода |
Формат управляющего слова, определяющий режим работы каналов:
-
D7
D6
D5
D4
D3
D2
D1
D0
1
Выбор режима: 00 = режим 0 01 = режим 1 1х = режим 2
Канал A: 1 = ввод 0 = вывод
Старшая тетрада канала C (С4 С7): 1 = ввод 0 = вывод
Выбор режима: 0 = режим 0 1 = режим 1
Канал B: 1 = ввод 0 = вывод
Младшая тетрада канала C (С0 - С3): 1 = ввод 0 = вывод
Группа A
Группа В
К аждый программируемый интерфейс имеет 4 адреса, поэтому стоит задача настроить ППИ на конкретные, только ему присущие 4 адреса. Эту задачу выполняет селектор адреса. В качестве селектора адреса можно использовать логические элементы или микросхему К555ИД7, представляющую собой дешифратор 1 из 8 со входами, присоединенными к шине адреса (рис. 2).
Рис.2 Селекторы адреса
Входы S1, S2, S3 предназначены для создания условия выборки схемы, т.е. логическая операция 1 из 8 будет осуществляться тогда и только тогда, когда на входах S1 и S2 будут сигналы низкого уровня, а на входе S3 - сигнал высокого уровня. Если это условие выполнено, то логический 0 появится на том единственном из восьми выходов, номер которого определяется двоичным кодом на трех остальных входах схемы (табл. 2 ).
Таблица 2
-
Входы
Активный выход
2
1
0
0
0
0
0
0
0
1
1
0
1
0
2
0
1
1
3
1
0
0
4
1
0
1
5
1
1
0
6
1
1
1
7
Задание 1. Исследовать программу 1.
С помощью мониторной функции П ввести программу 1 в память, начиная с адреса 0800 (таблица 3).
С помощью функции СТ запустить программу с адресом 0800.
Переведите переключатель Д5 в верхнее положение. Убедитесь в правильности индикации адреса останова по прерыванию. Он должен быть 080С (на 1 больше адреса последнего байта последней команды).
Проверьте содержимое аккумулятора А. Для этого воспользуйтесь мониторной функцией РГ (нажатием РГ А). Запишите показания на дисплее. Сделайте вывод.
Функцией СТ снова запустите программу с адреса 0800. Нажатием клавиши ПР прервите выполнение программы. На дисплее должен быть адрес, лежащий в диапазоне 0800 – 0808.
Проверьте содержимое аккумулятора А. Для этого воспользуйтесь мониторной функцией РГ (нажатием РГ А). Запишите показания на дисплее. Сделайте вывод.
Переведите МПС в режим выполнения команд по циклам. Для этого переключатели «РБ/ШГ» и «КМ/ЦК» установите в положения «ШГ» и «ЦК» соответственно.
Запустите программу с адреса 0800. Последовательно нажимая кнопку «ШГ», дойдите до момента появления состояния «ВВОД» (цикл М6). При этом должны гореть светодиоды разрядов INP и слова состояния.
Переводя выключатели имитатора в различные положения, проследите синхронное изменение на шине данных МПС. Это объясняется тем, что регистры портов КР580ВВ55 состоят из синхронных D-триггеров со статическим управлением и обладают свойством прозрачности (транспарентности).
Таблица 3.
-
Адрес
Мнемоника
Операнд
Машинный код
Комментарии
0800
MVI
A 98
3E 98
0802
OUT
83
D3 83
0804
IN
80
DB 80
0806
ANI
20
E6 20
0808
JZ
0804
CA 04 08
080В
RST 7
FF
Задание 2. Исследовать программу 2.
С помощью мониторной функции П ввести программу 2 в память, начиная с адреса 0800 (таблица 4).
Переключатели «РБ/ШГ» и «КМ/ЦК» установите в положения «РБ» и «КМ» соответственно.
С помощью функции СТ запустить программу с адресом 0800.
По описанию программы 2 проверьте правильность реакции светодиода на изменения положений переключателей Д3 и Д5 имитатора.
Прервите выполнение программы нажатием на клавишу «СБР».
Измените в программе 2 команды масок так, чтобы переключателем разрешения стал Д2 (вместо Д3), а переключателем управления стал Д6 (вместо Д5) и измените соответственно содержимое требуемых ячеек памяти с помощью функции П.
Запустите программу с адреса 0800 и убедитесь в правильности реакции светодиода на изменения положения переключателей с новыми номерами.
Таблица 4.
-
Адрес
Мнемоника
Операнд
Машинный код
Комментарии
0800
MVI
A 98
3E 98
0802
OUT
83
D3 83
0804
IN
80
DB 80
0806
ANI
08
E6 08
0808
JNZ
0804
C2 04 08
080B
IN
80
DB 80
080D
ANI
20
E6 20
080F
OUT
81
D3 81
0811
JMP
0804
C3 04 08