Вниз
Скачать: CL | DM;

работа с LPT портом   Найти похожие ветки 

← →
Serge KV   (2005-05-11 01:39) [0]

Мне нужно подсвечивать 10 лампочек, подключенных к LPT порту. Насколько я понимаю, 8 из них можно без проблем подсвечивать через контакты шины данных с помощью функции WriteFile. Вопрос -  что делать с остальными двумя, к каким контактам их лучше подключить и как проще всего управлять напряжением на этих контактах?

Если можно с примером...
Спасибо


← →
KilkennyCat ©   (2005-05-11 02:35) [1]

можно еще использовать следующие:
STROBE
AUTO FD
INIT
SLCT IN

причем, только INIT прямой.


> и как проще всего управлять напряжением на этих контактах?


Это очень неверно! Забудьте слово "напряжение" применительно к портам ввода-вывода (за исключением питания, как в USB). Есть логическая 1 и логический 0. Управлять лучше всего через регистры, например, КР1533ИР53. Без проблем сможете использовать 32 лампочки.


← →
KilkennyCat ©   (2005-05-11 02:37) [2]

КР1533ИР35 - очепятколся.


← →
Serge KV   (2005-05-11 11:23) [3]

STROBE
AUTO FD
INIT
SLCT IN

Тогда как установить на этих контактах логическую единцу? (с помощью WinAPI)

КР1533ИР35 а что это такое?... мне желательно без дополнительных микросхем на порте..


← →
Serge KV   (2005-05-11 11:24) [4]

и что значит "INIT только прямой"?


← →
Tesla   (2005-05-11 12:38) [5]


> Serge KV   (11.05.05 01:39)

Ты лампочки собираешься напрямую на порт навесить? У LPT порта нагрузочная способность 20 мА для старых мамок и порядка 5 мА для новых - у тебя имно или лампочки гореть не будут или порт спалишь. KilkennyCat дело говорит.


← →
Tesla   (2005-05-11 12:42) [6]


> Serge KV   (11.05.05 11:24) [4]
> и что значит "INIT только прямой"?

т.е. программно на INIT ставишь 1 - получаешь на ножке порта INIT логическую еденицу, ставишь 0 - логический нуль. Для инверсных всё наоборот.


← →
shein   (2005-05-11 17:02) [7]

Tesla  дело говорит. порт нагружать нельзя. В крайнем случае можно использовать маломощные светодиоды, есть такие, что уже при 3мА нормально видны. Ес-но не забыть последовательно включить резисторы.
Доступ к управлению линиями LPT порта через порты ввода вывода $378-$37A или $278-$27A (это для LPT1 и LPT2 по умолчанию. В BIOS они могут быть изменены)
http://www.csu.ru/faculties/phys/maelab/_frames/_lpt_1.htm
Запись байта данных в порт приводит к появлению соответствующей комбинации сигналов на выводах.
Для работы с портами ввода/вывода в Turbo Pascal использовался массив portb[адрес] и portw[адрес] Для Delphi это тоже работает в Вин98, хотя не всегда. Надо искать соответствующие компоненты. Например DLPortIO когда-то лежал на этом сайте


← →
Serge KV   (2005-05-12 20:24) [8]

Всем спасибо... но остался один вопрос -
как с помощью WinAPI устанавливать 0 или 1 на контакты:
STROBE
AUTO FD
INIT
SLCT IN

?


← →
debuger ©   (2005-05-12 21:02) [9]

:)


← →
Serge KV   (2005-05-13 01:29) [10]

?


← →
KilkennyCat ©   (2005-05-13 17:50) [11]


> [8] Serge KV   (12.05.05 20:24)


А как Вы устанавливаете сигналы на шине данных? точно также и на управляющих, только адрес со смещением. Если ADDR - регистр данных, то ADDR+1 - регистр состояния, ADDR + 2 - регистр управления, который Вам и нужен.
По битам они (управляющие) в перечисленном порядке.
сигнал     бит
___________________
STROBE     0
AUTO FD    1
INIT          2
SLCT IN     3



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.027 c
10-1095360732
Аид
2004-09-16 22:52
2005.07.11
TWebBrowser


14-1117855892
Федрович
2005-06-04 07:31
2005.07.11
Опять тема диплом


1-1119341906
salexn
2005-06-21 12:18
2005.07.11
Почему на 98 виндах возникает ошибка Cannot load cursor resource


14-1118238463
peace
2005-06-08 17:47
2005.07.11
Злюки Модеры


1-1119603557
Суслик
2005-06-24 12:59
2005.07.11
Почему есть утечка памяти при использовании интерфейсов?




   Наверх