Главная > Обмен опытом > LCD дисплей и матричная клавиатура 4х4 через LPT-порт.

      Организация простого интерфейса оператора посредством 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-индикатора к компьютеру

Комментарии...



Радиолюбитель


Радиолюбитель Архив рассылки



Яндекс цитирования