Как да се справим LPT порт от Delphi 7
За да работите с LPT порт на Delphi 7 среда, ние се нуждаем динамична библиотека inpout32.dll. ще трябва да копирате папката с проекта.
За да може проектът да бъде в състояние да работи с тази библиотека, трябва между употреби и тип 2 декларирам функции:
употреби
Windows, съобщения, SysUtils, варианти, Курсове, графики, Контроли, формуляри,
Диалози, StdCtrls;
функционира Inp32 (PortAdr: дума): байт; stdcall; външни "inpout32.dll";
функционира Out32 (PortAdr: дума; Data: байт): байт; stdcall; външни "inpout32.dll";
тип
TForm1 = клас (TForm)
Забележка: Тази библиотека работи само в 32-битови версии на Windows.
Това е всичко, вече можете да работите с ЗПМ, с помощта на динамична библиотека.
Фигура 1 показва Pinout LPT порт.
Фигура 2
Малко теория.
Софтуер във веригите (в pinah) LPT порт може да се настрои логическа нула (тоест soottvetstvuet отсъствие на напрежението във веригата) и логическо устройство (което съответства на + 5 волта) в нас желания верига т. Е. до нас Pina (pinah)
Най-лесният (къса) начина, по който да се напише процедура, която ще служи за пример на втория щифт (порт 888) до логическо устройство изглежда така:
където 888 - номера на порта, и 1 - размерът на данните от 1 бит.
Процедурата за бутона ще изглежда така:
процедура TForm1.Button1Click (Sender: TObject);
започвам
Out32 (888, 1);
приключи;
Задайте дневника. единични вериги (многократно няколко pinah) от един порт, като 888 могат да бъдат, както следва: 1 вместо 3 запис, в този случай дневник. единици ще бъдат във верига (3 = 1 + 2) D0 и D1 (2 и 3 игли). За да зададете дневника. единици за всички 8 pinah и вместо трябва заменен 255 m. к. 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255.
Най-лесният начин е, по мое мнение, за изпълнение на обработката на данни от таймера, както го направих в моя проект, кодът, който виждате по-долу.
8 променлива (d0-d7), обявен в световен мащаб, осигуряват контрол върху всяко пристанище верига. След това в проекта само промените стойността на променливите и сумата на тези променливи на всеки 10ms се изпращат на пристанището.
И тук е формуляра за кандидатстване
Фигура 3
889 порт за управление на всички същата, с изключение на това, че е необходимо да се замени вместо 888 889, и като се има предвид факта, че 3 от 4 обърнати вериги, т. Е. При установяване на логическа нула на изхода ще бъде по друг начин т. Е. единица. И внимателно да разгледаме фигура 2, а именно в колоната за освобождаване от отговорност.
За да прочетете състояние (стойност) се използва функция Inp32. Кодът изглежда така: Inp32 (888);
Нуждаете се от Inpout32 библиотека - това ТУК (11Kb)
Изходният код и проекта на програмата за Delphi? Той веднага (219Kb)
Ако имате нужда от схема на устройството за контрол на външни устройства чрез LPT порт, можете да го видите тук
Свързани статии