Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

Работа с LPT...   Найти похожие ветки 

 
XP   (2004-01-26 17:21) [0]

Уважаемые Мастера, у меня есть ряд вопросов по работе с LPT портом:
1. Я знаю что на ножках LPT по команде появляется напряжение в 5V, вопрос-какое напряжени постоянное или импульс и как его проверить?
2. Как мне измерить это напряжение.
3. И можно ли переключать режимы: постоянное-импульс.
4. Как включать каждую ножку.

Заранее спасибо.


 
icWasya ©   (2004-01-26 18:07) [1]

http://gzw1.narod.ru/prog/prg_004/prog_4.html


 
Dmitriy_G ©   (2004-01-27 06:34) [2]

Читать ссылку влом. Так что отвечу
1 Напряжение стоит до тех пор пока в рег не запишутся новые данные так называемый рег защелка.
2 Вольтметром мериют или осцилографом
3 Чтобы подавать импульсы нужно инвертировать значение рег данных, с частотой которая требуется для импульсов
4 И опять таки пишем данные в рег. А в данных устанавливаем определенный бит


 
XP   (2004-01-27 14:15) [3]

Спасибо за ответ. Я вчера припоял светодиод к LPT  и естественно он загорелся(почему это произошло я понял из ответа Dmitriy_G), немогли бы вы дать код на делфи, чтобы у меня напряжение подавалось только на вторую ножку, и соответственно светодиод горел тоько когда он подключен ко второй ножке.
Заранее спасибо...


 
pavel_guzhanov ©   (2004-01-27 17:50) [4]

Я для этого использовал WinIO. Если интересно, скажи, мыльну пример и саму библиотеку. Только мне лично не понятно, как у тебя загорелся светодиод, ведь в порт выдается очень маленький ток, которого не хватит, чтобы зажечь  светодиод. Я использовал светодиодную матрицу, и между ней и LPT собирал еще дополнительную схему


 
icWasya ©   (2004-01-27 18:03) [5]

в статье по ссылке написано - какие разряды каких портов каким контактам соответствуют


 
hyper_omsk ©   (2004-01-28 09:34) [6]

Я так понял ты пишишь под 98, если так то лучьше на ассемблере
адрес порта 378 в шесть-ричном виде то есть 888 в десятич.
для того чтоб на второй ножке точнее (D1) был сигнал а на остальных не то тебе необходимо записать двойку
(кстати светодиот загорается напряжения хватает это при условии если используешь обыкновенные светодиоды, есть светодиоды которым этого тока мало например инфрокрасные)
Вот пример:

Включить светодиод (D1)

procedure TForm1.Button1Click(Sender: TObject);
var DataByte,PortAddr:integer;
begin
DataByte:=2;
PortAddr:=888;
asm
mov al,Databyte
mov dx,PortAddr
out dx,al
end;
end;


Выключить светодиод (D1)

procedure TForm1.Button1Click(Sender: TObject);
var DataByte,PortAddr:integer;
begin
DataByte:=2;
PortAddr:=888;
asm
mov al,Databyte
mov dx,PortAddr
out dx,al
end;
end;


 
XP   (2004-01-28 13:12) [7]

Если не сложно, не могли бы Вы дать код который будет работать и под XP...


 
hyper_omsk ©   (2004-01-29 05:13) [8]

XP проверь почту.


 
hyper_omsk ©   (2004-01-29 05:25) [9]

Кстати я ошибся в коде (наверно уже заметили)

Выключить светодиод (D1)

procedure TForm1.Button1Click(Sender: TObject);
var DataByte,PortAddr:integer;
begin
DataByte:=0; //была 2
PortAddr:=888;
asm
mov al,Databyte
mov dx,PortAddr
out dx,al
end;
end;


 
Dmitriy_G ©   (2004-01-29 06:55) [10]

hyper_omsk, вышли мне тоже. Еще один драйвер лишним не будет.


 
RedSerg   (2004-01-29 15:25) [11]

Хочу что б мой комп управлял електро сетью через LPT. Апаратная часть проблем не вызывает, а вот програмная!!!(для меня дремучий лес). Мне надо что б на ножках (2-9 на одной из них) LPT порта повллась 1 (5В) в то время когда я запрогпамирую. Видел проги под Win98, а вот под NT !!!?


 
XP   (2004-01-29 18:10) [12]

RedSerg, не могу подключить реле к LPT, оно не переключается. Что делать?


 
XP   (2004-01-29 18:16) [13]

И последний вопрос, какие сила тока и напряжение на выходе, а то реле не переключается. Сегодня подключил 3-х вольтовое реле и нихрена! Что делать???


 
Dmitriy_G ©   (2004-01-30 06:24) [14]

Ну нет, реле не переключится факт. Токи сколько не знаю врать не буду (20 мА, около). Но транзистор ставится в любом случае. Или даже еще лучше uln2003, кажется так.


 
RedSerg   (2004-01-30 12:16) [15]

to XP. Я ставлю два реле! певое с маленькым потребляемым током и напряжением(РГК15), а второе уже на 220(помощьнее- любое ). Первое реле замыкает цепь 220В на второе (мощьное реле срабатывает от напр 220В). Почему би не использовать только первое ! Потому, че оно не потянет той нагрузки котороя нужна для роботы ел. приборов .


 
XP   (2004-02-08 23:13) [16]

Уважаемы hyper_omsk, не могу понять почему код который ты мне дал не работатет. Делфи говорит-Operand size mismath. Чё делать?
Заранее спасибо.


 
hyper_omsk ©   (2004-02-09 11:29) [17]

ХР почему не работает у тебя я конечно не знаю.
Сразу задам тебе встречный вопрос.
Ты использовал dll из папки Demo
Если что не получится пиши.


 
XP   (2004-02-10 23:16) [18]

hyper_omsk, я использовал вот этот код:
procedure TForm1.Button1Click(Sender: TObject);
var DataByte,PortAddr:integer;
begin
DataByte:=0; //была 2
PortAddr:=888;
asm
mov al,Databyte
mov dx,PortAddr
out dx,al
end;
end;

Мне уже достатачно, чтоб прога работала только под 98.
Спасибо за ответы.


 
hyper_omsk ©   (2004-02-11 06:55) [19]

Пробуй проще (или вместо integer ставь word или еще что, пробуй)

Простой код

procedure TForm1.ButtonOnClick(Sender: TObject);
begin
asm
mov ax,2
mov dx,888
out dx,ax
end;
end;

procedure TForm1.ButtonOffClick(Sender: TObject);
begin
asm
mov ax,0
mov dx,888
out dx,ax
end;
end;



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

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.031 c
7-1076416013
aleman
2004-02-10 15:26
2004.04.18
Как из программы отключить сеть?


14-1080572043
Brahman
2004-03-29 18:54
2004.04.18
Пятница, однако...


1-1080626314
Amirka
2004-03-30 09:58
2004.04.18
Setup в приложении


6-1077018955
ORMADA
2004-02-17 14:55
2004.04.18
Ping определённый порт


11-1062528276
BelchonokH
2003-09-02 22:44
2004.04.18
Размер с DHTML и KOLWEBBROWSER