журнал "Cooler" , раздел "схемы".
схема подключения индикатора к параллельному порту. (выпуск 10 июля 2002)
From: Alex Burlutsky |
Здравствуй, любимый журнал!
Вдохновленный прошлым выпуском я решил собрать бегущую строку из подручных средств. И это получилось довольно легко, просто, и быстро. Причем соорудить ее может каждый. Было собрано устройство без одной микросхемы, резистора или любого другого компонента. Только экранчик и провода. Теперь хочу поделиться с народом идеей, как проще и легче собрать абсолютно доступное и черезмерно полезное устройство своими руками. Из исходный материалов было решено взять экранчик от старого калькулятора "Электроника МК-33", старый шлейф от 5-дюймового дисковода в качестве подводимых информационных проводов и разъем COM2-порта, в качестве штекера под LPT-порт. (рис. 001). На удивление отпаянный индикатор от калькулятора по контактам подходил в разъем шлейфа от 5-дюймового дисковода. (рис. 002). Хотя можно было и просто припаять шлейф к индикатору. Но все-таки я подпилил немного экранчик и вставил его в разъем, подвел туда шлейф, и закрепил его на нужных контактах (о них ниже). (рис. 003). Цель была: Собрать бегущую строку при минимальных затратах. По этому ни каких микросхем управления индикатором не применялось! И из-за этого был выбран именно LPT-интерфейс. Особенности его таковы: 5-ти вольт на каждом контакте достаточно чтобы подсветить даже самые мощные индикаторы, LPT имеет 12 управляемых лапок (на которые можно подать либо "0" либо "1" (0В или 5В относительно земли). Таким образом LPT получается идеальным средством для управления индикаторами без каких-либо дополнительных устройств! Следовательно шлейф состоит из 12-ти проводов, 7 из которых идут на управление подсветкой сегментов, а оставшиеся 5 - на управление разрядами индикатора. (рис. shema). Теперь о управлении индикатором. По схеме информационный регистр (контакты 2-9) представляет собой байт, передаваемый в LPT-порт. Теперь составляем кодовую страницу. Для каждого индикатора она будет своя. Это очень удобно, так как индикаторы теперь будут !взаимозаменяемы!. К примеру цифра 7 будет гореть как подсвеченный верхний сегмент, правый верхний и правый нижний. Остальные не будут гореть. Т.е. надо подать на старший бит 1, на 6-й : 0 и так далее. Получается что-то вроде 1010010. Для каждого экранчика это значение свое. Выкидываем (приписав младший бит) этот байт в адрес LPT (для LPT1 он = 378h). На нужные сегменты подано напряжение. Теперь эти сегменты подсвечиваем в каком-либо разряде индикатора так: Так как по схеме у нас управляют разрядами остальные 5 бит порта, то подаем на один из них. Этот байт следует кидать по адресу LPT_адрес+2. Нулевой бит посылает сигнал на STROBE (1й контакт), первый - на AUTO FEED (14й), второй - на Initiliaze Printer (17й), и четвёртый - на SELECT INPUT(16й). Т.е. кинув байт в виде 00010000 мы получим "1" на 16-м контакте и наша цифра 7 загорится (по данной схеме) на старшем (первом слева) разряде экранчика. Был написан модуль под этот экранчик (кому нужен - стучитесь в мыло), с помощью которого у меня теперь высвечивается время (часы с трея пришлось убрать за ненадобностью :)) (рис. 004). К программе подстыковываются dll-ки, которые как раз и высвечивают всякую информацию о состоянии компа, свободной памяти, информацию с Winampa и т.д. Возможны эффекты типа бегущей строки, моргающих и бегающих змеек и символов, но это уже зависит от программистского мастерства и изворотливости. А главное, что любой экранчик подходит под это устройство, в худшем случае меняется для него только файл с кодовой таблицей, так как в основу положено то, что сегментами управляет один байт, а разрядами - другой. Теперь выводится вся необходимая информация, и устройство абсолютно не мешает. У меня был свободным LPT2, но если его нет можно "вклиниться" в Центроникс, устройство не будет мешать принтеру, т.к. не посылает ни каких сигналов от себя, а выводимую на него информацию можно отключать во время печати. А такое устройство поставить к примеру на монитор и любоваться полезной информацией, а при критических ситуациях (перегрев процессора, уменьшение памяти и т.д.) можно сделать визуальные предупреждающие эффекты, которые абсолютно не мешают даже полноэкранной работе, но помогают в несколько раз. С уважением Алексей Бурлуцкий (a.k.a. 107). [107@mail.ru] |