ПредишенСледващото

Как да се справим 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 порт.

Работа с 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 порт, можете да го видите тук

Свързани статии

Подкрепете проекта - споделете линка, благодаря!