Малаток-меню
Авторизация

Наш опрос
Мини-чат
200
Статистика


Наш линк
Malatok.at.ua
Полезные ссылки
Это может быть интересно
[
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Дмытрохан, Викр, Stalker753  
LPT порт.Как считать данные?
Дмытрохан Дата: Воскресенье, 11.12.2011, 02:10 | Сообщение # 1
Создатель сайта
Группа: Администраторы
Сообщений: 178
Награды: 7
Репутация: 103
Статус: Офлайн
Привет!!!
Quote
Вопрос:
-Как прочесть состояние входов LTP порта?
Ответ:
-Просто!

Качаем Паскаль 7 -
Cкачать файл!


Давайте сначала немного теории...

ЛПТ порт,как я уже говорил,имеет 3 регистра.
1)"0" - это передача в стандартном SPP(Standart Paralel Port).Его адрес $378+0 или просто $378.
2)"2" - это передача данных.Адрес - $378+2 т.е $37А если не ошибаюсь.
3)"1" - это прием в любых обстоятельствах и адрес ему равен $378+1 или $379 о нем и пойдет сегодня речь cool .
Судя из моей практики,стояло б заметить, что лпт порт может читать 2 состояния на входе(Высокое/Низкое).
Сначала работа с Низким.

Простейшая принципиальная схемка.
Все резисторы 1 КОм.
Порт не будет работать без этой проги.Поэтому читаем внимательно эту тему!

Cкачать файл!

Инструкция внутри.
Для чтения данных следует набрать этот код на Паскале:
Quote
uses dos,crt; {Модули}
const adres=$379; {Присвоить адрес порта константе "адрес"}
var
b:byte;
begin
b:=8;{Мы читаем негативное и чтобы увидеть разницу присвоим переменной b значения 8 }
writeln(b);{Выводим для визуального воспринимания.}
readln;{Жмем Энтер}
b:=port[adres] and 8; {А теперь затаскаем в b значение 15 лапки(картинка в спойлере) лпт порта.Т.к }
writeln(b);{было.}
readln;{было}
end.

А теперь немного ЕХЕ и исходников на Паскале по ссылке ниже)

Cкачать файл!

Все с Низким уровнем на входах разобрались happy .
Теперь Высокий.
На Высоком все то же,только наш лпт почему-то завис у высоком состоянии(на моем компе наблюдается такое).
"И что дальше?"-спросите Вы.
А дальше мы просто принудительно снимим наш лпт с Высоты biggrin , припаяя резисторы номиналом 3-5 КОм к входу и корпусу.

Пишем следующий код:
Quote
uses dos,crt; {Модули}
const adres=$379; {было}
var
b:byte;
begin
b:=0;{Изменения тут}
writeln(b);{было.}
readln;{было}
b:=port[adres] and 8; {А теперь заносим в b значение 15 лапки(картинка в спойлере) лпт порта.Т.к }
writeln(b);{было.}
readln;{было}
end.

И исходников с ЕХЕ-шками подгоню по ссыле ниже)


Cкачать файл!

Вопросов не смущаться!! smile


Нет человека-которого нельзя научить...
Есть человек-который не хочет учиться!!!
 
  • Страница 1 из 1
  • 1
Поиск:
Новый ответ
Имя:
Текст сообщения:
Опции сообщения:
Код безопасности:
Яндекс.Метрика
24 log 24 LOG statistick
счетчик посещений
Если вы видите это,
то ваш браузер устарел
и не поддерживает технологий
CSS 3.0