КЛАВИАТУРА И ИНДИКАЦИЯ
Устройства ввода/вывода необходимы для связи микро-ЭВМ с внешним миром. Без такой связи ее работа была бы бессмысленной. Устройства ввода/вывода бывают самые различные по конструкции и особенностям работы. Отличительной особенностью всех этих устройств является их способность перекодировать информацию из той формы, в которой она представляется в микро-ЭВМ, в форму, необходимую для связи с какими-либо приборами (для устройства вывода), и осуществлять обратный процесс для устройства ввода. Схема индикации и клавиатура микро-ЭВМ подключаются к линиям DBO-DJB7 шины данных, линиям ABO — AB7 шины адреса и линиям IN и OUT шины управления (рис. 7.5, 7.6). Схема индикации выполнена на базе трех байтовых (8-разрядных) портов вывода (микросхемы D16-D21), а схема клавиатуры — на базе одного 4-разрядного порта ввода (микросхемы D23).
Каждый из портов вывода схемы индикации выполнен из двух микросхем К155ТМ7. Эта микросхема представляет собой четыре D-триггера с прямыми и инверсными выходами (см. гл. 4). Входы триггеров подключены к линиям шины данных. Каждый выход D-триггера микросхемы К155ТМ7 имеет нагрузочную способность, равную 10, т. е. к нему можно подсоединить 10 стандартных ТТЛ-входов, а это значит, что при низком уровне на выходе (напряжение меньше или равно 0,4 В) в него может втекать ток до 16 мА. Это позволяет подключать свето-Диоды для индикации состояний триггеров непосредственно к их выходам (рис. 7.7). Сопротивление включается последовательно с светодиодом для того, чтобы ограничить ток до 5-10 мА. Для индикации можно использовать любые диоды с рабочим током 5 — 15 мА, например АЛ102А, АЛ102Г, АЛ112А-М. Светодиоды подключены к инверсным выходам триггеров, поэтому они зажигаются, если в соответствующий триггер записывается 1, и гаснут, если записывается 0.
В схему индикации и клавиатуры входит микросхема К155ИД4 (D24). Эта микросхема представляет собой два дешифратора-мультиплексора (см. гл. 5), объединенные в один дешифратор трехразрядного двоичного кода в код "один из восьми".
Это достигается соединением входов 1 и 75, а также входов 2 и 14 микросхемы. На вход 13 подается первый разряд кода, на вход 3 - второй, а на объединенные входы 1и 15 -третий разряд двоичного кода, предназначенного для преобразования в код "один из восьми". Объединенные входы 2 и 14 служат для запрещения работы дешифратора. При этом на них должен быть подан высокий уровень. Такой режим работы микросхемы К155ТД4 представлен в табл. 7.2.
Рис. 7.5. Схема индикации
Рис. 7.5. Схема индикации (продолжение)
Микросхема К155ИД4 (D24) вместе с микросхемой К155ЛА2 (D25) составляет схему дешифрации адреса для выбора внешних устройств ввода и вывода. Эта схема функционирует следующим образом. Входы 13, 3 и 1/15 микросхемы D24 подсоединены к линиям ABO, AB1, АВ2 шины адреса, а входы микросхемы D25 — подсоединены к инвертированным линиям шины адреса АВЗ, АВ4, АВ5, АВ6, АВ7. Поэтому когда во время выполнения команд IN или OUT на линиях шины адреса появляется адрес внешнего устройства (см. гл. 6), на одном из выходов микросхемы U24 появляется низкий уровень. Соответствие выполняемой команды IN или OUT тем выходам D24, на которых появляется низкий уровень, приведено в табл. 7.3.
Рис. 7.6. Схема клавиатуры
Рис. 7.7. Схема подключения све-тодиода к выходу порта вывода
Таблица |
7.2 |
|
|
|
|
|
|
|
|
|
|||||||
Входы |
Выходы |
||||||||||||||||
2/14 |
1/15 |
3 |
13 |
9 |
10 |
11 |
12 |
7 |
6 |
5 |
4 |
||||||
Н |
X |
X |
X |
Н |
Н |
Н |
Н |
Н |
Н |
Н |
Н |
||||||
Т |
L |
L |
L |
L |
Н |
Н |
Н |
Н |
Н |
Н |
Н |
||||||
Т |
L |
L |
Н |
Н |
L |
Н |
Н |
Н |
Н |
Н |
Н |
||||||
т |
L |
Н |
L |
Н |
Н |
L |
Н |
Н |
№ |
Н |
Н |
||||||
I, |
L |
Н |
Н |
Н |
Н |
Н |
L |
Н |
Н |
Н |
Н |
||||||
т, |
Н |
L |
L |
Н |
Н |
Н |
Н |
L |
Н |
Н |
Н |
||||||
т, |
Н |
L |
Н |
Н |
Н |
Н |
Н |
Н |
L |
Н |
Н |
||||||
т, |
Н |
Н |
L |
Н |
Н |
Н |
Н |
Н |
Н |
L |
Н |
||||||
L |
Н |
Н |
Н |
Н |
Н |
Н |
Н |
Н |
Н |
Н |
L |
||||||
Таблица |
7.3 |
|
|
|
|
|
|
|
|
|
|||||||
Команда |
Код на линиях шины адреса во время выполнения команды |
Вывод микросхемы D24 с низким уровнем |
|||||||||||||||
АВ7 |
АВ6 |
АВ5 |
АВ4 |
АВЗ АВ2 |
АВ1 |
АВО |
|
|
|||||||||
IN 000Q или 1 1 OUT 000 Q |
1 1 |
1 |
0 |
0 |
0 |
9 |
|||||||||||
IN 001 Q или 1 1 OUT 001Q |
1 1 |
1 |
0 |
0 |
1 |
10 |
|||||||||||
IN 002 Qили 1 1 OUT 002 Q |
1 1 |
1 |
0 |
1 |
0 |
11 |
|||||||||||
IN 003 Q или 1 1 OUT 003 Q |
1 1 |
1 |
0 |
1 |
1 |
12 |
|||||||||||
IN 004 Q или 1 1 OUT 004 Q |
1 1 |
1 |
1 |
0 |
0 |
7 |
|||||||||||
IN 005 Q или 1 1 OUT 005 Q |
1 1 |
1 |
1 |
0 |
1 |
6 |
|||||||||||
IN 00бQили 1 1 OUT 006 Q |
Г 1 |
1 |
1 |
1 |
0 |
5 |
|||||||||||
IN 007Qили 1 1 OUT 00 7 Q |
1 1 |
1 |
1 |
1 |
1 |
4 |
|||||||||||
Таблица 7.4 |
||
Команда |
Микросхемы, состав ляющие порт ввода или вывода |
Функция порта ввода или вывода |
OUT 000 Q |
D16, D17 |
Индикация одного байта |
OUT 001 Q |
D18, D19 |
То же |
OUT 002 Q |
D20, D21 |
То же |
OUT003Q |
D22 |
Вывод четырех битов для обслуживания клавиатуры |
IN 003 Q |
D23 |
Ввод четырех битов для обслуживания клавиатуры |
Остальные выходы дешифратора D24 можно использовать для подключения дополнительных устройств ввода/вывода. Всего при такой схеме дешифрации адреса внешнего устройства можно подключить восемь устройств ввода и восемь вывода. Для того чтобы еще увеличить число устройств ввода/вывода, схему дешифрации необходимо изменить и подвергать дешифрации большее число младших разрядов адреса.
При выпрлнении одной из команд OUT, перечисленных в табл. 7.4, во время ее третьего цикла на шинах данных, адреса и управления вырабатываются сигналы, изображенные на рис. 7.8.
При этом вырабатывается сигнал на соответствующем выходе дешифратора D24 (см. табл. 7.3). Сигнал с выхода дешифратора подается вместе с сигналом OUT на входы микросхемы К155ЛЕ1 (D26) и формирует на ее выходе положительный импульс. Этот импульс, поступая на управляющие входы 4, 13 D-триггеров одного из портов, своим фронтом (переход из 0 в 1) переписывает код с шины данных в триггеры, а своим срезом фиксирует его там. Таким образом, 8 бит кода, содержащегося в аккумуляторе перед выполнением команды OUT, высвечиваются на индикаторах порта 000Q, 001Q или 002Q.
Что касается порта с адресом 003 Q, то в него командой OUT 003 Q можно переписать только четыре младших бита аккумулятора, так как порт состоит только из четырех триггеров.
Рис. 7.8. Временная диаграмма работы порта вывода
Этот порт совместно с портом ввода (с тем же адресом 003Q), реализованным на микросхеме К589АШ6 (D23), предназначен для подключения к микро-ЭВМ клавиатуры (см. рис. 7.6). Кнопки клавиатуры включены между выходами микросхемы D22 и входами D23. Входы D23 через сопротивление 5 кОм соединены с напряжением питания. Это сделано для того, чтобы поддерживать на каждом входе D23 высокий уровень, если ни одна кнопка, связанная с этим входом, не нажата. Значения сопротивлений (5 кОм) выбраны с тем расчетом, чтобы не перегружать выходы D22, если какая-нибудь кнопка нажата.
Схема клавиатуры работает следующим образом. Специальная программа SKL (см. § 7.4) записывает в порт с адресом 003 Q такие коды, у которых в одном из четырех разрядов О, а в остальных разрядах 1, причем 0 появляется последовательно в разрядах О, 1, 2 и 3 и соответственно на выходах 16,15, 10 и 9 микросхемы D22. После того как код записан и на одном из выходов 16, 15, 10 или 9 установился низкий уровень, эта программа производит командой IN 003 Q ввод в аккумулятор кода, который в этот момент присутствует на входах 4, 7, 9 и 12 микросхемы D23. Ввод в аккумулятор происходит во время третьего цикла команды IN (рис. 7.9). Адрес внешнего устройства 003 Q вызывает появление низкого уровня на выходе 12 микросхемы D24. Этот низкий уровень, попадая на вход 1 микросхемы D23, разрешает ее работу, но ее выходы 3, 6, 10 и 13 остаются в состоянии высокого сопротивления. По сигналу IN эти выходы открываются и в четыре младших разряда аккумулятора микропроцессора переписываются состояния входов 4, 7, 9 и 12. Если ни одна из кнопок, соединенных с тем выходом D22, на котором присутствует низкий уровень, не нажата, то все четыре младших разряда аккумулятора равны 1, если одна из кнопок нажата, то соответствующий разряд будет равен 0.По тому коду, который был записан в порт с адресом 003 Q, и тому коду, который был считан из порта 003 Q, можно определить, какая из кнопок нажата. Как это делается, описано в следующем параграфе.
Рис. 7.9. Временная диаграмма работы порта ввода
014055303 JMP, M2
014 056 006
014057 014
014 060 077 TAB:
014 061 006
014062133
014063 117
014064 146
014 065 155
014 066 175
014 067 007
014070177
014071 157
014 072 000
014 073 000
014 074 060
Рис. 10.3. Схема гашения индикаторов
Программа, построенная на базе предыдущей, выводит на дисплей, образованный 16 семисегментными индикаторами, движущийся текст (в данном примере цифры от 0 до 9 и два пробела), хранимый в ОЗУ, начиная с ячейки 014Q 060Q. Конец текста помечается символом, не использованным для обозначения букв и цифр (в данном примере символ II, его код 060Q). Он хранится в ячейке 014Q 051Q и сравнивается с символом текста, выводимым на крайний левый индикатор дисплея. Как только опознан символ конца текста, программа возвращается к началу текста. Время цикла сканирования задается числом в ячейке 014Q 025Q, а время, на которое текст останавливается, — числом в ячейке 014Q 005Q.
Программа может быть использована для подготовки и редактирования текстов, выводимых на внешние устройства.
Во избежание перегорания индикаторов при непредусмотренном прекращении сканирования схему, изображенную на рис. 10.2, следует дополнить устройством гашения индикаторов, построенным на основе одновибратора (рис. 10.3). Устройство отключает индикацию через заданный цепочкой RC интервал времени после подачи импульса выборки порта 002. Таким образом, индикаторы непрерывно (для глаза наблюдателя) горят только при периодической выдаче информации в порт 002.
Рассмотренная схема индикации весьма универсальна и обладает гЪраздо более широкими возможностями для обеспечения диалогового режима работы ПМ-ЭВМ по сравнению с простой двоичной индикацией.