A
DB-25 porta paralel pencetak di belakang komputer jinjing.
Porta paralel (
bahasa Inggris:
Parallel port) adalah salah satu jenis soket pada komputer pribadi untuk berkomunikasi dengan peralatan luar seperti
pencetak
model lama. Karena itu porta paralel sering juga disebut porta
pencetak. Perusahaan yang memperkenalkan porta ini adalah Centronic,
maka porta ini juga disebut dengan porta Centronics.
Kesederhanaan porta ini dari sisi pemrograman dan antarmuka dengan
hardware membuat porta ini sering digunakan untuk percobaan-percobaan
sederhana dalam perancangan peralatan elektronika.
Penggunaan:
- Pencetak model lama
- Penggerak Zip
- Beberapa pemindai
- Kartu suara
- Kamera web
- Gamepad dan tongkat ria
- Pemrogram EPROM
- Peralatan SCSI melalui adapter Paralel ke SCSI
- Percobaan dengan penggerak TTL 12
- External CD-Rom/RW drives
Fungsi dari 25 pin DB 25
Porta paralel mempunyai 25 pin yang masing-masing mempunyai kegunaan dan arti sebagai berikut:
Pin Nomer (DB25) |
Nama Sinyal |
Arah |
Register Bit |
Inverted |
1 |
nStrobe |
Out |
Kontrol-02 |
Ya |
2 |
Data0 |
In/Out |
Data-0 |
Tidak |
3 |
Data1 |
In/Out |
Data-1 |
Tidak |
4 |
Data2 |
In/Out |
Data-2 |
Tidak |
5 |
Data3 |
In/Out |
Data-3 |
Tidak |
6 |
Data4 |
In/Out |
Data-4 |
Tidak |
7 |
Data5 |
In/Out |
Data-5 |
Tidak |
8 |
Data6 |
In/Out |
Data-6 |
Tidak |
9 |
Data7 |
In/Out |
Data-7 |
Tidak |
10 |
nAck |
In |
Status-6 |
Tidak |
11 |
Busy |
In |
Status-7 |
Ya |
12 |
Paper-Out |
In |
Status-5 |
Tidak |
13 |
Select |
In |
Status-4 |
Tidak |
14 |
Linefeed |
Out |
Control-1 |
Ya |
15 |
nError |
In |
Status-3 |
Tidak |
16 |
nInitialize |
Out |
Control-2 |
Tidak |
17 |
nSelect-Printer |
Out |
Control-3 |
Ya |
18-25 |
Ground |
- |
- |
- |
Simbol
n di depan suatu nama sinyal seperti pada nAck berarti active low.
Register-register dari Porta Paralel
Semua data, kontrol, dan status dari porta paralel berhubungan dengan
register-register yang ada di dalam komputer. Dengan mengakses langsung
register-register tersebut, masukan dan keluaran dari porta paralel
dapat diatur. Register-register pada porta paralel adalah:
- Register data
- Register status
- Register kontrol
Pada umumnya di komputer personal alamat dasar LPT1 adalah 0x378 (378
hexadecimal)
dan LPT2 adalah 0x278. Alamat dari ketiga register tersebut di atas
dapat ditentukan dengan menjumlahkan alamat dasar dari porta paralel
dengan bilangan desimal tertentu. Misalnya kita ingin mengakses register
data dari porta paralel LPT1, alamat register datanya sama dengan
alamat dasar dari LPT1 yaitu 0x378. Sedangkan alamat register status
sama dengan alamat register dasar + 1 atau 0x379 dan alamat register
kontrolnya sama dengan alamat register dasar + 2 atau 0x37A. Hal
tersebut berlaku juga pada LPT2. Untuk lebih jelasnya, dapat dilihat
ditabel dibawah ini:
Register |
LPT1 |
LPT2 |
Register data (alamat dasar + 0) |
0x378 |
0x278 |
Register status (alamat dasar + 1) |
0x379 |
0x279 |
Register kontrol (alamat dasar + 2) |
0x37A |
0x27A |
Pemrograman Paralel Porta dengan C++
Untuk mengambil data dari porta paralel dengan C++, dilakukan dengan perintah seperti yang tersebut dibawah ini:
#include <conio.h>
// Perintah-perintah untuk mengambil data dari suatu porta, termasuk porta paralel
int _inp(
unsigned short port
);
unsigned short _inpw(
unsigned short port
);
unsigned long _inpd(
unsigned short port
);
// Perintah-perintah untuk mengeluarkan data ke suatu porta, termasuk porta paralel
int _outp(
unsigned short port,
int databyte
);
unsigned short _outpw(
unsigned short port,
unsigned short dataword
);
unsigned long _outpd(
unsigned short port,
unsigned long dataword
);
Dimana porta adalah alamat dari porta dan nilai kembalian adalah
nilai dari register data pada porta paralel. Perintah _inp, _inpw, dan
_inpd mempuyai fungsi yang sama, perbedaannya hanyalah type dari nilai
kembalian. Begitu juga dengan _outp, _outpw, dan _outpd. Untuk _inp
bernilai int, _inpw bernilai unsigned short, dan untuk _inpd bernilai
unsigned long. Perintah-perintah di atas tidak berlaku untuk Windows
NT/2000 atau XP karena di kedua sistem operasi tersebut tidak
diperbolehkan akses langsung hardware. Hal ini dikarenakan untuk
perlindungan terhadap pemakaian suatu hardware oleh beberapa software
secara bersamaan. Untuk mengatasinya dibutuhkan file Inpout32.dll yang
baru, yang telah dimodifikasi supaya dapat mengakses hardware. Pustaka
Inpout32.dll menggunakan driver standar yang diatur oleh Windows untuk
mengakses hardware, jadi keamanan pemakaian hardware oleh software
menjadi lebih terjamin.
0 komentar:
Posting Komentar