Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Другая жизнь LPT порта. Часть 1. Энциклопедия радиоэлектроники и электротехники

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Компьютеры

Комментарии к статье Комментарии к статье

Не ожидал, что моя первая статья (azbukavb.narod.ru/teorie/LPT.htm) вызовет такой интерес среди программистов и электронщиков, т.к. я получил массу писем с вопросами и продолжаю их получать до сих пор, хотя прошло уже почти три года с момента написания статьи. Кроме того в первой статье был допущен ряд неточностей. Это все и побудило меня на написание более подробной статьи на эту тему, в которой я постараюсь ответить на большинство вопросов уважаемых читателей и исправить те неточности, которые были допущены в первой статье. Пусть не обижаются на меня читатели первой статьи, но мы снова рассмотрим подробно каждый контактик и битик нашего LPT порта. В первой части статьи будет рассмотрена теория, во второй и последующих (если они будут) мы будем рассматривать электронные устройства, которые можно "подцепить" к этому порту.

Ø В тексте вы встретитесь с общепринятой аббревиатурой записывания чисел.

Ø Например, 10102 - двойка в нижнем индексе указывает, что число 5 представлено в двоичном исчислении,

Ø 12410 - десятка в нижнем индексе, говорит о том, что число 124 десятичное.

Это так… на всякий случай

Как показала практика, все программы, правильно написанные и дополненные соответствующими библиотеками (vbio32.dll, inpout32.dll, dlportio.dll и т.д.) работают на большинстве компьютеров с операционными системами семейства Windows. Я проверял работу всех своих программ (Visual Basic5.0, 6.0) на Win95, 98, Me, 2000, XP HE, XP Prof и даже в DOS6.22 (QBasic) - все работает прекрасно. В DOS-е вообще никаких библиотек не надо, там все и так работает. Сразу оговорюсь, что vbio32.dll и inpout32.dll НЕ БУДУТ РАБОТАТЬ ПОД Win2000, но совершенно спокойно будут работать под Win95, 98, Me.

Кстати, взять любую из этих библиотек вы можете на sano2000.narod.ru/index.html. Мне захотелось попробовать dlportio.dll и в данный момент я работаю с этой библиотекой. Ну и последнее, перед написанием программ необходимо правильно объявить библиотеку, которую вы используете.

Ø Для inpout32.dll

Private Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer

Private Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

Ø Для dlportio.dll

Private Declare Function DlPortReadPortUchar Lib "dlportio.dll" (ByVal Port As Long) As Byte

Private Declare Sub DlPortWritePortUchar Lib "dlportio.dll" (ByVal Port As Long, ByVal Value As Byte)

Чем отличается Private от Public я писать не буду.

Параллельный порт для связи с принтером (или другим устройством) имеет базовый адрес &H378 (LPT1), &H278 (LPT2), &H3BC (LPT3). В данной статье мы будем рассматривать только LPT1. Адресное пространство данного порта занимает диапазон &H378-&H37F.

· Адрес &H378 называется базовым и служит для записи (чтения, но об этом попозже) данных в порт, на линии D0-D7.

· Адрес &H379 (базовый+1) предназначен для чтения битов состояния с устройства, подключенного к LPT-порту (принтер, сканер и т.д)

· Адрес &H37A (базовый+2) служит для записи битов управления устройства, подключенного к LPT-порту (принтер, сканер и т.д.).

На приведенных ниже таблицах "расшифрованы" контакты и сигналы каждого из адресов

Другая жизнь LPT порта

Другая жизнь LPT порта

Другая жизнь LPT порта

Контакты 18-25 - "земля" (общий, GND, GROUND и т.д.)

Рассмотрим программирование каждого из адресов.

· Базовый адрес &H378 (LPT1) позволяет записывать данные в порт на линии D0-D7 в диапазоне от 0 до 255.

· Записываем в порт число 69
Код следующий. Для тех, кто использует
inpout32.dll dlportio.dll DOS
Out &H378, 69 DlPortWritePortUchar &H378, 69 OUT &H378, 69

*********************************************************************************************************

· Адрес &H379 служит для чтения битов состояния.

· Читаем состояние порта по адресу &H379

Ø  При чтении адреса &H379 необходимо помнить, что первые три бита - не используются и всегда имеют значение лог. "1", а 7-й бит - инверсный. В результате если все контакты 15, 13, 12, 10, 11 посадить на "землю", то при чтении информации вы получите на первых трех битах (которые не используются) 1+2+4 и на 7-м бите (контакт 11-инверсный, значит, при замыкании на землю будет лог. "1") +128 итого 135. Об этом не надо забывать. Во второй части статьи мы остановимся на этом более подробно.
Код следующий. Для тех, кто использует
inpout32.dll dlportio.dll DOS
Dim A as Integer A = Inp(&H379) Dim A as Integer DlPortReadPortUchar(&H379) DEFINT A-ZA=INP(&H379)

*********************************************************************************************************

· Адрес &H37A служит для записи битов управления.

· Записываем сигнал -STROBE (бит управления 0)
Код следующий. Для тех, кто использует
inpout32.dll dlportio.dll DOS
Out &H37A, 10 DlPortWritePortUchar &H37A, 10 OUT &H37A, 10

Почему 10? Давайте посмотрим в табличку.
(-StrOBE) 20 (-AUTO) 21 (INIT) 22 (-SELECT IN) 23 (Сигналы) биты
Контакт 1 Контакт 14 Контакт 16 Контакт 17  
0 1 0 1 01012
0 2 0 8 0+2+0+8=10

Сигналы STROBE, AUTO, SELECT IN - инверсные, значит, чтобы на выходе контактов разъема 1, 14, 17 получить логическую "1" надо подать на эти биты логический "0", т.е. подали одно - получили противоположное. Сигнал INIT прямой (не инверсный), поэтому логическая "1" на контакте 16 появится тогда, когда мы подадим на этот бит логическую "1", т.е. что подали, то и получили.

Попытаемся получить на контактах 1,17 - низкий уровень сигнала "0", а на контактах 14 и 16 высокий уровень сигнала "1", т.е. на выходе контактов 1,14,16,17 будет присутствовать 0 1 1 0 (610).

На нулевой бит (-STROBE) подаем "1" (на контакте 1 будет "0"), на первый бит (-AUTO) подаем "0" (на контакте 14 будет "1"), на второй бит (INIT) подаем "1" (на контакте 1 будет "1") и, наконец, на третий бит (-SELECT IN) подаем "1" (на контакте 17 будет "0"), т.е. мы записали по адресу &H37A число 10112,-это 1310. Значит, чтобы на выходе получить 6 надо подать 13.

Для удобства привожу таблицу со всеми возможными комбинациями чисел от 0 до 15

Подаваемый сигнал Получаемый сигнал
Десятичное число (-StrOBE) 20 (-AUTO) 21 (INIT) 22 (-SELECT IN) 23 контакт 1 контакт 14 контакт 16 контакт 17 Десятичное число
  1 2 4 8 1 2 4 8  
0 0 0 0 0 1 1 0 1 11
1 1 0 0 0 0 1 0 1 10
2 0 1 0 0 1 0 0 1 9
3 1 1 0 0 0 0 0 1 8
4 0 0 1 0 1 1 1 1 15
5 1 0 1 0 0 1 1 1 14
6 0 1 1 0 1 0 1 1 13
7 1 1 1 0 0 0 1 1 12
8 0 0 0 1 1 1 0 0 3
9 1 0 0 1 0 1 0 0 2
10 0 1 0 1 1 0 0 0 1
11 1 1 0 1 0 0 0 0 0
12 0 0 1 1 1 1 1 0 7
13 1 0 1 1 0 1 1 0 6
14 0 1 1 1 1 0 1 0 5
15 1 1 1 1 0 0 1 0 4

Ну и, наконец, последнее в этой части статьи. Если ваш компьютер поддерживает стандарт EPP, то четвертым битом по адресу &H37A вы сможете разрешить прерывание (для LPT1 это IRQ7) от принтера, только не спрашивайте меня что это такое, я все равно ничего не знаю про прерывания. А вот пятым битом 1101012, например, подав число 4310, вы устанавливаете шину D0-D7 в режим ПРИЕМА данных. При этом все разряды (контакты 2-9) принимают значение логической "1". Чтобы подать на нужный контакт логический "0" надо замкнуть его через сопротивление 240 - 360 Ом на "землю". Таким образом, через LPT порт компьютера мы получаем в стандартном виде устройство с 12-ю выходными сигналами и 5-ю входными, а при переводе порта в режим EPP мы получаем 4 выходных сигнала и 13 входных сигналов.

Режим SPP (12 выходов и 5 входов)   Режим EPP (4 входа и 13 выходов)
Сигнал Направление   Сигнал Направление
D0 Выход   D0 Вход
D1 Выход   D1 Вход
D2 Выход   D2 Вход
D3 Выход   D3 Вход
D4 Выход   D4 Вход
D5 Выход   D5 Вход
D6 Выход   D6 Вход
D7 Выход   D7 Вход
ERROR Вход   ERROR Вход
SELECT Вход   SELECT Вход
PAPER END Вход   PAPER END Вход
ACK Вход   ACK Вход
-BUSY Вход   -BUSY Вход
-StrOBE Выход   -StrOBE Выход
-AUTO Выход   -AUTO Выход
INIT Выход   INIT Выход
-SELECT IN Выход   -SELECT IN Выход

Автор: Клюшников Алексей, г. Иваново; Публикация: cxem.net

Смотрите другие статьи раздела Компьютеры.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Омега-3 помогают молодым кораллам выживать 11.11.2025

Сохранение коралловых рифов становится все более актуальной задачей в условиях глобального изменения климата. Молодые кораллы особенно уязвимы на ранних стадиях развития, когда стрессовые условия и нехватка питательных веществ могут привести к высокой смертности. Недавнее исследование ученых из Технологического университета Сиднея показывает, что специальные пищевые добавки способны существенно повысить выживаемость личинок кораллов. В ходе работы исследователи разработали особый состав "детского питания" для коралловых личинок. В него вошли масла, богатые омега-3 жирными кислотами, а также важные стерины, необходимые для формирования клеточных мембран. Личинки, получавшие эти добавки, развивались быстрее, становились крепче и демонстрировали более высокую устойчивость к стрессовым факторам. Особое внимание ученые уделили липидам. Анализ показал, что личинки активно усваивают эти вещества, что напрямую влияет на их жизнеспособность. Стерины, содержащиеся в корме, повышают устойчи ...>>

Наушники Bowers & Wilkins Px8 S2 11.11.2025

Наушники премиум-класса становятся не только аксессуаром для прослушивания музыки, но и инструментом для профессиональной работы с аудио. Новый флагман британского бренда Bowers & Wilkins - модель Px8 S2 - демонстрирует, как эти аспекты можно объединить в одной беспроводной системе. Компания представила Px8 S2 как обновленную флагманскую модель в линейке, ориентированную на пользователей, которые ценят высокое качество звука, эффективное шумоподавление и премиальный дизайн. Производитель отмечает, что наушники сочетают передовые акустические решения с эргономикой для длительного использования. Каждое устройство оснащено 40-миллиметровыми динамиками с карбоновыми диффузорами и 24-битным цифровым процессором. По словам Bowers & Wilkins, это обеспечивает точное и детализированное воспроизведение звукового спектра, а также поддержку аудио высокого разрешения. Автоматическая оптимизация соединения с источником сигнала гарантирует стабильное и качественное звучание вне зависимо ...>>

Шимпанзе могут менять свои убеждения 10.11.2025

Понимание того, как формируются убеждения и принимаются решения, традиционно считалось уникальной способностью человека. Однако недавнее исследование показало, что шимпанзе обладают способностью пересматривать свои мнения на основе новых данных, демонстрируя уровень рациональности, который ранее считался исключительно человеческим. Психологи под руководством Ханны Шлейхауф из Утрехтского университета провели серию экспериментов, направленных на изучение метапознания у шимпанзе. Исследователи впервые наблюдали, как эти обезьяны могут взвешивать различные виды доказательств и корректировать свои решения при появлении более убедительной информации. Экспериментаторы рассматривали рациональность как способность формировать убеждение о мире на основе фактических данных. При поступлении новой информации разумное существо способно сравнивать старые и новые данные и изменять свое мнение, если новые доказательства оказываются более весомыми. Для экспериментов использовались шимпанзе из ...>>

Случайная новость из Архива

Лазерную космическую связь проверят с Луны 07.07.2012

В 2013 году к Луне будет запущен зонд LADEE Европейского космического агентства. Помимо очередной серии исследований спутника Земли аппарат впервые испытает новую лазерную высокоскоростную систему связи. Новая система, разработанная в рамках проекта LLCD, обеспечит коммуникацию между зондом LADEE и двумя наземными станциями НАСА в Калифорнии и Нью-Мексико, а также наземной станцией ЕКА на Тенерифе, Испания.

Оптический приемник LLCD будет установлен на Тенерифе в марте следующего года. Запуск LADEE запланирован на середину 2013 года, а первые испытания лазерной связи состоятся примерно через четыре недели после выхода зонда на лунную орбиту. Космический аппарат с помощью лазерного канала цифровой связи сможет передавать данные с высочайшей скоростью. По словам специалистов, за одну секунду можно будет передать объем информации, эквивалентный десяткам фильмов. Точная скорость будет измерена в ходе испытаний.

LLCD представляет собой мощный инфракрасный лазерный излучатель с длиной волны 1550 нм. Цифровой сигнал использует новые типы модуляции и кодирования. Также в LLCD применяются новейшие технологии позиционирования и высокоточного наведения лазерного луча. Для того чтобы обеспечить устойчивую непрерывную связь в условиях, например сильной облачности над основным наземным приемником, придется использовать несколько наземных станций.

Надо отметить, что посторонним людям и организациям перехватить такой сигнал и расшифровать его будет крайне затруднительно. Система лазерной связи особенно необходима для создания нового поколения оптических линий связи, которые нужны для передачи большого объема данных во время полетов в глубокий космос. В настоящее время даже самые современные космические аппараты используют для связи радиоволны, требующие больших и громоздких "тарелок" радиоантенн и соответствующих по габаритам и энергопотреблению приводов.

Другие интересные новости:

▪ Экономичные Wi-Fi-чипы для потребительской электроники

▪ Беспроводная зарядка электромобиля - быстро и безопасно

▪ Сработано доисторическими плотниками

▪ Стабильный кубит, работающий при комнатной температуре

▪ Нервы останавливают кровотечение

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Инструменты и механизмы для сельского хозяйства. Подборка статей

▪ статья Аграрное право. Конспект лекций

▪ статья Какое млекопитающее самое маленькое? Подробный ответ

▪ статья Медник. Типовая инструкция по охране труда

▪ статья Разные мыльные порошки. Простые рецепты и советы

▪ статья Тиристоры симметричные. Энциклопедия радиоэлектроники и электротехники

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2025