Организация простого интерфейса оператора посредством LCD дисплея и
матричной клавиатуры 4х4, для обычного компьютера IBM PC/XT/AT, через порт
принтера.
Если у вас завалялся системник с какой нибудь старой "мамкой" типа 286 или 386,
и вы решили его приспособить, например, для поддержания температуры в аквариуме
и своевременной раздаче корма рыбкам или управлением домашнего инкубатора по
выведению цыплят, то использование со стандартными клавиатурой и дисплеем будет
выглядеть громозко, особенно в условиях ограниченного пространства, а без
таковых у вас не будет возможности контролировать процесс и вносить в него
коррективы.
Вот тут то, вам возможно и пригодится простой интерфейс оператора, на который
вы потратите 1-2 вечера и максимум 20 баксов, для этого возьмите старый
кабель для принтера, LCD дисплей 2-х или 4-х строчный не менее 20 символов в
строке и матричную клавиатуру матричного типа 4х4, например от старого
калькулятора, и всё это аккуратно распаять по прилагаемой схеме :
Рис. 1 Принципиальная схема.
В качестве LCD дисплея я брал двухстрочный типа GDM2002A 2x20 фирмы XIAMEN
OCULAR и четырёх строчный по 20 символов в строке DV-20400S2RB/R 4х20 фирмы
DataVision, а матричную клавиатуру типа АК-1604, продаётся в фирме "Чип и Дип".
Правильно собранная схема в наладке не нуждается, единственное, что может
потребоваться, это регулировка контрастности при помощи подстроечного
резистора RV1 (который желательно использовать многооборотный,
номиналом 10-20 ком). Если подобрать по размерам клавиатуру и LCD дисплей,
то можно даже разместить такую панель оператора в отсеке 5,25' на передней
панели системного блока и у вас получится функционально законченный
РС - совместимый контроллер. Подключите схему к принтерному порту и подайте
на неё питание +5в, можно взять с БП системника - подключив к свободному
разъёму (+5в - красный провод, Общий - черный), измерьте напряжение
мультиметром на выводах 1,2 и 15,16 LCD дисплея должно быть 5в.
Рис. 2 Фото законченой конструкции.
Для того что бы LCD дисплей начал выводить информацию, а клавиатура реагировать
на ваши нажатия, необходимо установить драйвер, конечно можно обойтись и без
драйвера и пытаться самим программировать принтеровский порт из своей программы,
но с драйвером получается намного проще. Драйвер находится в папке "Driver",
имя его DISPLAY.EXE, там же находится и его описание, а в папке "Primer" его
исходник на Си. При запуске DISPLAY.EXE из командной строки DOS без параметров,
драйвер выведет хелп с какими ключиками его необходимо запускать, предположим
вы подключили LCD дисплей 2х40 (две строки по сорок символов в строке) и
матричную клавиатуру 4х4 (кстати, при подключении к принтеровскому порту
возможно подключение только клавиатур 4х4), тогда строка запуска драйвера будет
выглядеть следующим образом :
C:\>DISPLAY.EXE D5 K1 L1
её можно прописать в autoexec.bat, что бы драйвер запускался автоматически,
если взаимодействие с системой у вас организовано через LCD дисплей. Если порт
принтера у компьютера единственный, то ключ L1 можно опустить, по умолчанию
драйвер работает с LPT1. После запуска, драйвер переключает вектора BIOSa
прерываний INT 17 и INT 1С на себя (вектор INT 1С нужен драйверу для
сканирования матричной клавиатуры), инициализирует и очищает LCD дисплей, и
остается резидентно в памяти. По существу драйвер LCD дисплея подменяет драйвер
печати и даже совместим с ним по функциям.
Функция : 0 - вывод символа;
1 - инициализация;
2 - прочитать статус;
3 - служебная;
Функция 3 (которой нет в драйвере печати) специфична и работает с
матричной клавиатурой, а так же выполняет ряд служебных действий
(полное описание функций драйвера в папке "Driver").
По этому возможно вывести информацию на LCD дисплей, и таким образом его
проверить средствами DOS, командой Copy вывести какой нибудь текстовый файл на
PRN или LPT, латиница будет прекрасно отображаться, а вот кириллица ?
Дело в том, что кодовые таблицы в контроллере LCD дисплея (это контроллеры
HD44780 - совместимые, типа KS0066U и т.д.) у разных производителей, в части
альтернативного набора символов, организованы по разному, так контроллеры
фирмы "Hitachi" обладают существенным недостатком - у них весьма ограниченный
набор русских символов, фактически у них имеются только прописные русские буквы,
и даже среди них отсутствует буква "Ф". Напротив, контроллеры фирмы "Epson"
содержат полный набор русских символов в прописном и строчном вариантах,
поэтому они весьма удобны для отечественных применений. Это свойство
контроллеров фирмы "Epson" обеспечило им заслуженную популярность на российском
рынке, поэтому в последнее время основная масса импортируемых в нашу страну LCD
дисплеев оснащены этими контроллерами; в качестве примера в таблице 10 приведён
набор символов этого контроллера. Но даже если вы "пролетели" и вам подсунули
LCD дисплей с набором иероглифов, то расстраиваться не надо, латиница там всё
равно есть, а вывод информации можно и на английском организовать.
В папке "Test" находятся файлы, при помощи которых вы можете более полно
протестировать схему :
- DSPTEST.EXE - для тестирования LCD дисплея;
- KPTEST.EXE - для тестирования матричной клавиатуры;
- KPOFF.EXE - отключает сканирование матричной клавиатуры;
- KPON.EXE - включает сканирование матричной клавиатуры;
А в папке "Primer" находятся исходные тексты этих программ на Си и QBasic,
изучая которые вы можете писать свои программы по работе с LCD дисплеем и
матричной клавиатурой через драйвер - DISPLAY.EXE. Так же возможны варианты
когда вывод информации осуществляется на LCD дисплей, а ввод со стандартной РС
клавиатуры, так же возможна работа с обоими клавиатурами и дисплеями и т.д.,
всё зависит только от вашего воображения. И вообще LCD-шка c подключением к
LPT - это легкий, быстрый и простой путь сделать себе очень прикольный и
полезный мод.
Вообщем творческих ВАМ успехов!
Схема в настройке не нуждается и сразу должна работать.
Файлы:
Мезенцев Александр Викторович
г. Курган
См. также:
Подключение LCD-индикатора к компьютеру
|