Форум: "Система";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
ВнизРабота с 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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.039 c