Простейшая микро-ЭВМ

КЛАВИАТУРА И ИНДИКАЦИЯ


Устройства ввода/вывода необ­ходимы для связи микро-ЭВМ с внешним миром. Без такой свя­зи ее работа была бы бессмысленной. Устройства ввода/вывода бывают самые различные по конструкции и особенностям рабо­ты. Отличительной особенностью всех этих устройств является их способность перекодировать информацию из той формы, в которой она представляется в микро-ЭВМ, в форму, необхо­димую для связи с какими-либо приборами (для устройства вывода), и осуществлять обратный процесс для устройства ввода. Схема индикации и клавиатура микро-ЭВМ подключа­ются к линиям 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

Ввод четырех битов для обслуживания клавиа­туры

Заметим, что если выполнить команду IN или OUT с отлич­ным от перечисленных в табл. 7.3 адресом внешнего устройства, то ни на одном из выходов микросхемы D24 не появится низко­го уровня. Из восьми возможных адресов для портов ввода и вывода в схеме индикации и клавиатуры используются три адреса 000 Q, 001Q и 002 Q, которые присвоены портам вывода, служащим для индикации, и один адрес 003 Q, который присвоен одновременно 4-битовым портам ввода и вывода, обслуживаю­щим клавиатуру (табл. 7.4).

Остальные выходы дешифратора 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.

Рассмотренная схема индикации весьма универсальна и обладает гЪраздо более широкими возможностями для обеспе­чения диалогового режима работы ПМ-ЭВМ по сравнению с про­стой двоичной индикацией.

 



Содержание раздела