Lucrul cu portul lpt din mediul delphi

Cum să gestionați un port LPT de la Delphi 7


Pentru a lucra cu portul LPT din mediul Delphi 7, avem nevoie de biblioteca dinamică inpout32.dll. pe care va trebui să le copiați în folderul proiectului.
Pentru ca proiectul să funcționeze cu această bibliotecă, trebuie să declare 2 funcții între Utilizări și Tip:

utilizări
Ferestre, Mesaje, SysUtils, Variante, Clase, Grafica, Controale, Formulare,
Dialoguri, StdCtrls;

funcția Inp32 (PortAdr: word): octet; stdcall; extern "inpout32.dll";
funcția Out32 (PortAdr: cuvânt; Date: byte): octet; stdcall; extern "inpout32.dll";

tip
TForm1 = clasa (TForm)

Notă: această bibliotecă funcționează numai în versiunile pe 32 de biți ale Windows.
Asta e tot, acum poți lucra cu LPT, folosind o bibliotecă dinamică.

Figura 1 prezintă pinul portului LPT.

Lucrul cu portul lpt din mediul delphi

Figura 2
Un pic de teorie.
Software în lanțurile (în pinah), portul LPT poate fi setat un zero logic (ca absenta soottvetstvuet a tensiunii în circuitul) și o unitate logică (care corespunde la + 5 volți) la lanțul t ne dorit. E. Down pentru noi Pina (pinah)

Cea mai simplă (scurtă) cale de a scrie o procedură care va seta, de exemplu, al doilea pin (portul 888) în starea unității logice arată astfel:

unde 888 este numărul portului și 1 este datele de pe un bit.

Procedura pentru buton va arăta astfel:

procedura TForm1.Button1Click (expeditor: TObject);
începe
Out32 (888, 1);
se încheie;

Setați jurnalul. Circuitele unitare multiple (mai multe pinah) de un port, cum ar fi 888 poate fi după cum urmează: 1 în loc de 3 scrie, în acest caz, log. unități vor fi într-un lanț (3 = 1 + 2) D0 și D1 (a 2-pini 3rd). Pentru a seta jurnalul. unități pentru toate 8 pinah și în schimb trebuie să înlocuiască 255 m. k. + 2 + 1 4 + 8 + 16 + 32 + 64 + 128 = 255.

Cel mai simplu mod este, în opinia mea, să pună în aplicare prelucrarea datelor în timer-ul, așa cum am făcut în proiectul meu, codul pe care îl vedeți mai jos.

8 variabile (d0-d7), declarate la nivel global, asigură controlul asupra fiecărui lanț portuar. Mai departe, în proiect, valoarea variabilelor se schimbă pur și simplu, iar suma acestor variabile este trimisă la port la fiecare 10ms.

Iată formularul cererii

Figura 3

889 port pentru gestiune toate aceeași, cu excepția faptului că este necesar să se substituie în locul 888 889, și având în vedere faptul că 3 din cele 4 lanțuri de răsturnate t. E. Când să stabilească un zero logic la ieșire va fi invers t. E. O unitate. Și uită-te cu atenție la Figura 2, și anume în coloana DISCHARGE.

Pentru a citi starea (valori), utilizați funcția Inp32. Codul arată astfel: Inp32 (888);

Aveți nevoie de Biblioteca Inpout32 - este AICI (11Kb)

Codul sursă și proiectul programului pe Delphi? El este aici (219Kb)


Dacă aveți nevoie de o schemă de dispozitiv pentru controlul aparatelor electrice externe prin portul LPT, îl puteți vedea aici

Articole similare