Adapun tabel signal dan fungsi dari setiap pin pada parallel printer port, terlihat pada Gambar
2. Dari situ diketahui pin 2 s/d 9 (signal D0-D7) berfungsi sebagai output, yang selanjutnya
dapat kita manfaatkan untuk mengontrol peralatan luar.
Rangkaiannya
Untuk keperluan uji-coba sesaat, kita bisa menghubungkan LED (Light Emitting Diode)
lewat resistor, langsung ke pin output dari parallel printer port. Bisa juga hanya dengan
mengukur tegangan 5 volt yang timbul, saat data port dalam keadaan high.
Untuk dapat mengakses beban yang besar serta untuk mencegah terjadinya pembebanan
berlebihan pada parallel printer port, sebaiknya kita menggunakan rangkaian penyangga
(buffer).
8. OUT DX, AL
9. end;
10.
11. procedure TForm1.btnLED5Click(Sender: TObject);
12. begin
13. (* contoh pemanggilan prosedur KirimDataKePort,
14. ini akan menyalakan LED 5 (data bit-4 / pin 6
15. dari rangkaian yang terdapat pada Gambar 3. *)
16. KirimDataKePort($378, $8); //00010000 biner
17. end;
28. public
29. { Public declarations }
30. end;
31.
32. var
33. Form1: TForm1;
34.
35. implementation
36.
37. {$R *.DFM}
38.
39. uses
40. Math;
41.
42. const
43. AlamatPort = $378;
44.
45. procedure TForm1.KirimDataKePort(DataPortBit: Byte);
46. var
47. Nilai: Byte;
48. begin
49. lblDataPortBit.Caption := IntToStr(DataPortBit);
50. lblNoLED.Caption := LED No. + IntToStr(DataPortBit + 1) +
51. Nyala;
52. Nilai := Trunc(Power(2, DataPortBit));
53. asm
54. MOV
DX, AlamatPort
55. MOV
AL, Nilai
56. OUT
DX, AL
57. end;
58. end;
59.
60. procedure TForm1.SpeedButton1Click(Sender: TObject);
61. begin
62. (* Letakan 8 buah TSpeedButton, atur propeti Tag
63. dari 8 TSpeedButton tersebut dengan nilai
64. 0 sampai dengan 7. Dari Object Inspector,
65. arahkan event Clik dari semua TSpeedButton
66. ke SpeedButon1Click. *)
67.
68. KirimDataKePort((Sender as TSpeedButton).Tag);
69. end;
70.
71. procedure TForm1.FormCreate(Sender: TObject);
72. begin
73. KirimDataKePort(0);
74. end;
75.
76. end.