Меню English Ukrainian російська Головна

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


Інше життя 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)

Чим відрізняється приватний від громадськості я писати не буду.

Паралельний порт для зв'язку з принтером (або іншим пристроєм) має базову адресу 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 як 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, АВТО, ВИБІР 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") і, нарешті, на третій біт (-ВИБІР 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 Вхід
ВИБІР Вхід   ВИБІР Вхід
PAPER END Вхід   PAPER END Вхід
ACK Вхід   ACK Вхід
-BUSY Вхід   -BUSY Вхід
-Strobe Вихід   -Strobe Вихід
-АВТО Вихід   -АВТО Вихід
INIT Вихід   INIT Вихід
-SELECT IN Вихід   -SELECT IN Вихід

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

Дивіться інші статті розділу Комп'ютери.

Читайте та пишіть корисні коментарі до цієї статті.

<< Назад

Останні новини науки та техніки, новинки електроніки:

Машина для проріджування квітів у садах 02.05.2024

У сучасному сільському господарстві розвивається технологічний прогрес, спрямований на підвищення ефективності догляду за рослинами. В Італії було представлено інноваційну машину для проріджування квітів Florix, створену з метою оптимізації етапу збирання врожаю. Цей інструмент оснащений мобільними важелями, що дозволяють легко адаптувати його до особливостей саду. Оператор може регулювати швидкість тонких проводів, керуючи ним із кабіни трактора за допомогою джойстика. Такий підхід значно підвищує ефективність процесу проріджування квітів, забезпечуючи можливість індивідуального налаштування під конкретні умови саду, а також сорт та вид фруктів, що вирощуються на ньому. Після дворічних випробувань машини Florix на різних типах плодів результати виявились дуже обнадійливими. Фермери, такі як Філіберто Монтанарі, який використовував машину Florix протягом кількох років, відзначають значне скорочення часу та трудовитрат, необхідних для проріджування кольорів. ...>>

Удосконалений мікроскоп інфрачервоного діапазону 02.05.2024

Мікроскопи відіграють важливу роль у наукових дослідженнях, дозволяючи вченим занурюватися у світ невидимих ​​для ока структур та процесів. Однак різні методи мікроскопії мають обмеження, і серед них було обмеження дозволу при використанні інфрачервоного діапазону. Але останні досягнення японських дослідників із Токійського університету відкривають нові перспективи вивчення мікросвіту. Вчені з Токійського університету представили новий мікроскоп, який революціонізує можливості мікроскопії в інфрачервоному діапазоні. Цей удосконалений прилад дозволяє побачити внутрішні структури живих бактерій із дивовижною чіткістю в нанометровому масштабі. Зазвичай мікроскопи в середньому інфрачервоному діапазоні обмежені низьким дозволом, але нова розробка японських дослідників дозволяє подолати ці обмеження. За словами вчених, розроблений мікроскоп дозволяє створювати зображення з роздільною здатністю до 120 нанометрів, що в 30 разів перевищує дозвіл традиційних метрів. ...>>

Пастка для комах 01.05.2024

Сільське господарство - одна з ключових галузей економіки, і боротьба зі шкідниками є невід'ємною частиною цього процесу. Команда вчених з Індійської ради сільськогосподарських досліджень – Центрального науково-дослідного інституту картоплі (ICAR-CPRI) у Шимлі представила інноваційне вирішення цієї проблеми – повітряну пастку для комах, яка працює від вітру. Цей пристрій адресує недоліки традиційних методів боротьби зі шкідниками, надаючи дані про популяцію комах у реальному часі. Пастка повністю працює за рахунок енергії вітру, що робить її екологічно чистим рішенням, яке не вимагає електроживлення. Її унікальна конструкція дозволяє відстежувати як шкідливі, так і корисні комахи, забезпечуючи повний огляд популяції в будь-якій сільськогосподарській зоні. "Оцінюючи цільових шкідників у потрібний час, ми можемо вживати необхідних заходів для контролю як комах-шкідників, так і хвороб", - зазначає Капіл. ...>>

Випадкова новина з Архіву

Вінчестери My Passport Ultra від WD 20.05.2013

Компанія Western Digital повідомила про випуск нової серії зовнішніх жорстких дисків My Passport Ultra. До складу лінійки увійшли моделі об'ємом 500 ГБ, 1 і 2 ТБ, причому дві перші доступні для замовлення вже зараз, а версія з найбільшим обсягом пам'яті надійде в продаж помітно пізніше - в третьому кварталі.

Серед особливостей My Passport Ultra у WD називають високу швидкість передачі даних (за рахунок використання інтерфейсу USB 3.0), підтримку апаратного шифрування даних та міцний корпус (на всі HDD нової серії поширюється трирічна гарантія, що діє у всіх країнах світу). Всі накопичувачі лінійки поставляються з фірмовим програмним забезпеченням WD SmartWare Pro, яке дозволяє робити резервне копіювання даних не тільки на сам HDD, але і в хмарне сховище Dropbox.

Довжина і ширина всіх представників серії однакові - 110 х 82 мм відповідно, а ось товщина відрізняється: у моделі об'ємом 500 ГБ вона становить 12,8 мм, у моделі об'ємом 1 ТБ - 15,4 мм, у моделі об'ємом 2 ТБ - 20,9, XNUMXмм. У комплект поставки кожного HDD входить чохол, покликаний захистити накопичувач від подряпин під час транспортування.

WD вже оголосила вартість My Passport Ultra об'ємом 500 ГБ та 1 ТБ - $100 та $130 відповідно. Ціна накопичувачів обсягом 2 ТБ буде оголошена пізніше.

Інші цікаві новини:

▪ Робот допоможе одягнутися

▪ Стрес гальмує імунні клітини

▪ Ранній вихід на пенсію негативно впливає на мозок

▪ Монітор із увігнутим екраном Samsung S34E790CN

▪ Портативна колонка Sony Extra Bass SRS-XB33

Стрічка новин науки та техніки, новинок електроніки

 

Цікаві матеріали Безкоштовної технічної бібліотеки:

▪ розділ сайту Регулятори струму, напруги, потужності. Добірка статей

▪ стаття Соціальна педагогіка. Шпаргалка

▪ стаття Чи світяться очі тварин у темряві? Детальна відповідь

▪ стаття Кизильник цілокраїй. Легенди, вирощування, способи застосування

▪ стаття Підсилювач сигналу дзвінка. Енциклопедія радіоелектроніки та електротехніки

▪ стаття Замість синьої хустки – червона. Секрет фокусу

Залишіть свій коментар до цієї статті:

ім'я:


E-mail (не обов'язково):


коментар:





All languages ​​of this page

Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт

www.diagram.com.ua

www.diagram.com.ua
2000-2024