Mengenai Saya

Foto saya
Anak Bangsa yang bercita meraih bahagia berbekal sederhana

Selasa, 16 Maret 2010

port delphi

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

Tidak ada komentar:

Posting Komentar