VII_Port paralel


Port paralel (DB-25) adalah salah satu jenis soket pada personal komputer untuk berkomunikasi dengan peralatan luar seperti printer model lama. Karena itu parallel port sering juga disebut printer port. Perusahaan yang memperkenalkan port ini adalah Centronic, maka port ini juga disebut dengan Centronics port.
Kesederhanaan port ini dari sisi pemrograman dan antarmuka dengan hardware membuat port ini sering digunakan untuk percobaan-percobaan sederhana dalam perancangan peralatan elektronika.

·         Penggunaan:

  • Printer model lama
  • Zip drive
  • Beberapa scanner
  • Sound cards
  • Webcams
  • Gamepads dan joystick
  • Pemrogram EPROM
  • Peralatan SCSI melalui adapter Parallel ke SCSI
  • Percobaan dengan TTL 12 driver
  • External CD-Rom/RW drives

·         Fungsi dari 25 pin DB 25

Port 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 Port Paralel

Semua data, kontrol, dan status dari port paralel berhubungan dengan register-register yang ada didalam komputer. Dengan mengakses langsung register-register tersebut, masukan dan keluaran dari port paralel dapat diatur. Register-register pada port paralel adalah:
  1. Register data
  2. Register status
  3. Register kontrol
Pada umumnya di komputer personal alamat dasar LPT1 adalah 0x378 (378 hexadecimal) dan LPT2 adalah 0x278. Alamat dari ketiga register tersebut diatas dapat ditentukan dengan menjumlahkan alamat dasar dari port paralel dengan bilangan desimal tertentu. Misalnya kita ingin mengakses register data dari port 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 Port dengan C++

Untuk mengambil data dari port paralel dengan C++, dilakukan dengan perintah seperti yang tersebut dibawah ini:
#include <conio.h>
 
// Perintah-perintah untuk mengambil data dari suatu port, termasuk port 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 port, termasuk port 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 port adalah alamat dari port dan nilai kembalian adalah nilai dari register data pada port 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 diatas 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