http://www.sixca.com/eng/articles/pardel/
Parallel Port Programming with Delphi
This article demonstration how to access parallel port with delphi 6. to access parallel port for all Windows platform i use driver file inpout32.dll becuase it easily to use with delphi.You can dowload from http://www.logix4u.net and it included in the example which you can download at the buttom of this page.
PC Parallel Port Basic
As we know the standard parallel port have 3 port for controll
1. Status port
2. Control Port
3. Data Port
each port have own address like this
Register LPT1 LPT2
data registar(baseaddress + 0) 0x378 0x278
status register (baseaddress + 1) 0x379 0x279
control register (baseaddress + 2) 0x37a 0x27a
Pin No (DB25) Signal name Direction Register - bit Inverted
1 nStrobe Out Control-0 Yes
2 Data0 In/Out Data-0 No
3 Data1 In/Out Data-1 No
4 Data2 In/Out Data-2 No
5 Data3 In/Out Data-3 No
6 Data4 In/Out Data-4 No
7 Data5 In/Out Data-5 No
8 Data6 In/Out Data-6 No
9 Data7 In/Out Data-7 No
10 nAck In Status-6 No
11 Busy In Status-7 Yes
12 Paper-Out In Status-5 No
13 Select In Status-4 No
14 Linefeed Out Control-1 Yes
15 nError In Status-3 No
16 nInitialize Out Control-2 No
17 nSelect-Printer Out Control-3 Yes
18-25 Ground - - -
* leading n = Active low or invert logic
How to use inpout32.dll with Delphi
After download inpout32.dll copy it to Windows\system32\
1. Open Delphi program
2. place component on from like this
3. write program following
1: unit main;
2: interface
3: uses
4: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
5: Dialogs, StdCtrls;
6: type
7: TForm1 = class(TForm)
8: Button1: TButton;
9: Button2: TButton;
10: Edit1: TEdit;
11: Label1: TLabel;
12: Label2: TLabel;
13: procedure Button1Click(Sender: TObject);
14: procedure Button2Click(Sender: TObject);
15: private
16: { Private declarations }
17: public
18: { Public declarations }
19: end;
20:
21: var
22: Form1: TForm1;
23:
24: procedure Out32(wAddr:word;bOut:byte); stdcall; external 'inpout32.dll'
25: function Inp32(wAddr:word):integer; stdcall; external 'inpout32.dll'
26:
27: implementation
28:
29: {$R *.dfm}
30:
31: procedure TForm1.Button1Click(Sender: TObject);
32: begin
33: Out32($378,$53); // Out32
34: end;
35:
36: procedure TForm1.Button2Click(Sender: TObject);
37: begin
38: edit1.Text:=IntToHex(Inp32($378),2); // Edit1
39: end;
40: end.
This program load inpout32.dll in static type in line 24,25.In event Button1Click program send data(53h) to data port (378h) in line 33. In line 38 we can read data(8 bit ) from data port(Set to bidirection Port only)
This picture used to test for output
Selasa, 16 Maret 2010
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar