Вопрос № 39554: Как подать единицу логическую с 2 и по 5 выхода LPT порта
mov dx,378h
mov al,?(что сюда вставить чтобы была 1 на 2 выводе LPT потра)
out dx,al...
Вопрос № 39.554
Как подать единицу логическую с 2 и по 5 выхода LPT порта
mov dx,378h
mov al,?(что сюда вставить чтобы была 1 на 2 выводе LPT потра)
out dx,al
Если хочешь на 2-й штырек в разъеме lpt порта - то это будет:
mov dx,378h
mov al,1
out dx,al
А если на вывод data2 (4-й штырек в разъеме lpt порта), то это будет:
...
mov al,100b
out dx,al
--------- Открыть глаза навстречу солнцу
Ответ отправил: EPDSota (статус: Специалист)
Ответ отправлен: 06.04.2006, 16:59
Отвечает: Пан Павел Константинович
Здравствуйте, Котелевец А.В.!
Я смутно понел ваш вопрос НО! помогу чем смогу.
Работа с параллельным портом (LPT).
Обычно этот порт имеет базовый адрес 378h (LPT1), 278h (LPT2), 3BCh (LPT3). Окончание "h" свидетельствует о шестнадцатиричной системе счисления, так уж принято записывать адреса. Порт занимает три адреса, первый из них называется базовым. Так, для LPT1 диапазон занимаемых им адресов: 378h-37Ah. Базовый адрес служит для посылки/чтения байта на/из линии d0-d7 (пины 2-9 разъёма DB-25). Посылка не инвертируется. Приведу фрагмент программы, посылающей в порт число 170.
{начало программы}
...
begin
Port[$378]:=170
end.
{конец программы}
При запуске её на линиях d0-d7 появится число 170 в двоичном виде, что соответсвует 10101010. Т.е. единичный сигнал будет присутствовать на выводах d1, d3, d5, d7 (обозначени выводов начинается с d0!). Число 170 останется на выводах разъёма до тех пор, пока Вы не перешлёте туда же другое число (это может сделать и другая программа) или не выключите компьютер.
Хммм... Давайте преступим, если я понел првильно вас, то ответ будет таков:
> что сюда вставить чтобы была 1 на 2 выводе LPT потра?
>> под вырежением "2 выводе LPT порта", я понел что вы имеете ввиду линию d2 например, разъёма DB-25, относительно этого вот код:
mov dx,378h
mov al,4h
out dx,al
4h = bin(0000 0100), единичный сигнал будет на d2 отсчёт вести с d0.
Или вы имеете ввиду не линию d2, а пин 2 например, разъёма DB-25 то вот код:
mov dx,378h
mov al,1h
out dx,al
1h = bin(0000 0001), единичный сигнал будет на d0 т.е. на пин'e 2-ом. Почему так? Помните выше было написано вот это -> d0-d7 (пины 2-9 разъёма DB-25).
С, Уважением MnEm0n!C.
--------- Hello Worlds
Ответ отправил: Пан Павел Константинович (статус: 5-ый класс)
Ответ отправлен: 07.04.2006, 00:03