INTERFACE
PENGGUNAAN
PORT PARALLEL UNTUK MENAMPILKAN
NO
BP DENGAN PEMROGRAMAN DELPHI
Oleh:
JODI CANDRA
(11101152620144)
RIO GUSRIANTO
(11101152620173)
Dosen
Pembimbing:
ZULHARBI
ST,MT
KELAS
SK-3
FAKULTAS
ILMU KOMPUTER
UNIVERSITAS
PUTRA INDONESIA “YPTK” PADANG
2013/2014
SEKILAS
TENTANG DELPHI
Borland Delphi
sering disebut juga dengan Delphi. Delphi adalah sebuah perangkat lunak
(software) yang digunakan untuk membuat aplikasi berbasis antarmuka grafis di lingkungan
sistem operasi Microsoft Windows. Delphi dibuat oleh perusahaan Borland Software
Corporation. Delphi telah ada sejak 1993 dan versi yang saya gunakan dalam pembuatan
aplikasi di tulisan ini adalah Delphi versi 7.0 . Bahasa pemograman yang digunakan
Delphi adalah bahasa Pascal.
PENGERTIAN PORT
PARALLEL
Penggunaan
utama Port paralel / LPT adalah untuk menghubungkan printer ke komputer dan
dirancang khusus untuk tujuan ini. Sehingga sering juga disebut port printer . Konektor
port paralel pada PC adalah DB25. Port Paralel / Port LPT meskipun sudah banyak
ditinggalkan penggunaanya, masih dipergunakan oleh sebagian kalangan yang ingin
mempelajari transmisi data secara parallel. Kalangan akademis (pelajar dan
mahasiswa) masih mempelajari komunikasi data parallel sebagai saranaemanambah
ilmu pengetahuan. Standar IEEE 1284 (1994) mendefinisikan lima mode transfer
data untuk paralel port, yakni:
1)
Compatibility Mode
2)
Nibble Mode
3)
Byte Mode
4)
EPP
5)
ECP
Standar
pin-pin dari perangkat keras untuk konektor DB25 adalah sebagai berikut.
Gambar.
Port Paralel / DB 25
Berikut
ini adalah tabel penjelasan mengenaipin-pin pada konektor
parallel
portDB 25.
Tabel1.
Nama pin dari konektor parallel port DB 25.
Untuk lebih
jelasnya setiap sinyal pada parallel Port dapat dijabarkan sebagai berikut :
·
Strobe/Stb:
Sinyal Strobe merupakan fungsi sinyal
input pada printer. Saluran ini diaktifkan komputer jika ia akan meneruskan
data ke printer.
·
Data
0 sampai data 7 :
Sinyal
data merupakan sinyal input pada printer. Sinyal
data disinkronkan
(diserempakkan)
oleh pulsa strobe.\
·
Acknowledge/Ack
:
Sinyal
ack merupakan sinyal output dari printer, Jika printer telah mengolah data yang
diterimanya, maka dalam waktu max 30 mikrodetik ia memberikan sinyal jabat
tangan (handshake) ini. Dalam bahasa Indonesia kata Acknowledge berarti
“menyatakan telah
diterima”.
·
Busy
:
Sinyal
busy merupakan sinyal output dari printer. Ketika
printer menerima data atau mencetak sinyal ini diaktifkan. Demikian pula jika
ada gangguan atau dalam status off line.
·
Paper
End/PE :
Sinyal
paper end merupakan sinyal output dari printer. Sinyal ini akan terus aktif sampai
kertas baru dipasang lagi.
·
Select/Slt
:
Sinyal select
merupakan sinyal output dari printer. Dengan sinyal ini printer
memberitahu
bahwa ia sudah terpilih dan dalam keadaan aktif.
·
Auto
Feed :
Jika sinyal ini
diaktifkan, printer pada akhir setiap baris akan pindah ke baris
selanjutnya
secara otomatis.
·
Error
Keluaran ini
aktif jika ada gangguan atau printer tidak tersambung atau tidak
menyala
·
Reset
Dengan saluran
ini printer kembali ke keadaan awal
·
Input
Select
Pemilihan
printer sebagai piranti DTE (Data Terminal Equipment) berlangsung pada saluran
sinyal ini.
Alamat-alamat
register pada Port Paralel
Alamat untuk
masing-masing register dalam Port Paralel LPT 1 adalah sbb.
Tabel . Alamat register port
paralel.
REGISTER
|
LPTI
|
Data register
(base address +0)
|
$378
|
Status
register (base address +1)
|
$379
|
Control
register (base address +2)
|
$37A
|
SOURCES
CODE PROGRAM DENGAN DELPHI
TAMPILAN PADA KOMPUTER
SOURCE PROGRAM
implementation
{$R *.dfm}
function
PortIn(port:word):byte;stdcall;external'IO.dll';
procedure
PortOut(port:word;data:byte);stdcall;external'IO.dll';
procedure delay(lama:dword);
var
temp:dword;
begin
temp:=gettickcount;
repeat
application.processmessages;
until(gettickcount-temp)>=lama;
end;
procedure
TForm1.Timer1Timer(Sender: TObject);
VAR
i:integer;
begin
i:=PortIn($379);
if i=104 then
for i:=0 to 3 do
begin
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$3F);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$6D);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$5B);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$7D); delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$5B);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$3F);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$53); delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=CLWHITE;
shape5.Brush.Color:=CLWHITE;
shape6.Brush.Color:=CLWHITE;
shape7.Brush.Color:=CLWHITE;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$4F); delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
end else if i=88 then
for i:=0 to 3 do
begin
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$3F);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$6D);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$5B);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$7D); delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$5B);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$3F);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$66); delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=CLWHITE;
shape5.Brush.Color:=CLWHITE;
shape6.Brush.Color:=CLWHITE;
shape7.Brush.Color:=CLWHITE;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$66); delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
END;
END;
0 comments:
Post a Comment