Digital - Computer
Parallel Port Computer & Pemrogramannya Dengan VB6.0 | Parallel Port Computer & Pemrogramannya Dengan VB6.0 |
|
Pendahuluan Port Parallel banyak digunakan dalam berbagai macam aplikasi Interface. Port ini membolehkan kita memiliki masukan hingga 8 bit atau keluaran hingga 12 bit pada saat yang bersamaan dengan hanya membutuhkan sedikit rangkaian eksternal sederhana untuk melakukan suatu tugas tertentu. Port Parallel ini terdiri dari : a. 4 Jalur Kontrol. b. 5 Jalur Status. c. 8 Jalur Data. Port parallel terbaru yang distandarisasi dengan IEEE.1284 yang dikeluarkan pada tahun 1984, mendifinisikan 5 macam mode operasi sebagai berikut : 1. Mode Kompatibilitas 2. Mode Nibble 3. Mode Byte 4. Mode EPP 5. Mode ECP Tujuan Standarisasi ini adalah untuk mendesain driver dan perlatan yang baru sehingga kompatibel dengan peralatan lainnya dan standard parallel port sebelumnya (SPP) yang diluncurkan pada tahun 1981. Mode Kompatibilitas, Nibble, dan Byte digunakan sebagai standard perangkat keras yang tersedia di port parallel original. Sedangkan untuk EPP dan ECP membutuhkan tambahan hardware sehingga mampu bekerja dengan kecepatan tinggi. Mode Kompatibilitas atau sering disebut “Centronics” hanya dapat mengirimkan data pada arah maju (dari Host ke device external) dengan kecepatan 50 Kbyte sampai 150 Kbyte perdetik. Untuk menerima data harus diubah modenya menjadi mode Nibble atau Byte. Mode Nibble dapat menerima data 4 bit (Nibble) sedangkan mode Byte dapat menerima data 8 bit (1 byte).
Penjelasan Umum Port Parallel Port ECP dan EPP menggunakan tambahan hardware untuk menghasilkan dan mengatur handshaking (Sinyal – Sinyal tanda acknowledge). Untuk mengeluarkan sebuah byte ke port parallel dengan menggunakan Mode Kompatibel, maka software harus mempunyai urutan kerja sebagai berikut:
Protokol EPP mempunyai empat macam siklus transfer data yang berbeda, yaitu :
Siklus data digunakan untuk mentransfer data antara host dan periperal. Siklus alamat digunakan untuk mengirimkan alamat saluran (channel) atau informasi perintah dan kontrol. Sesuai dengan standard IEEE 1284 ada tiga jenis parallel port yang bisa digunakan :
Dadftar pin DB-25 dan Centronics (PS = Printer Status, PC = Printer Control) Pin 1. = Strobe’ (Register PC0’) Pin 2. = Data 0 (Register Data) Pin 3. = Data 1 (Register Data) Pin 4. = Data 2 (Register Data) Pin 5. = Data 3 (Register Data) Pin 6. = Data 4 (Register Data) Pin 7. = Data 5 (Register Data) Pin 8. = Data 6 (Register Data) Pin 9. = Data 7 (Register Data) Pin 10. = ACK (Register PS6) Pin 11. = Busy’ (Register PS7’) Pin 12. = Paper Out / Paper End (Register PS5) Pin 13. = Select (Register PS4) Pin 14. = Autofeed’ (Register PC1’) Pin 15. = Error (Register PS3) Pin 16. = Initialize (Register PC2) Pin 17. = Select in’ (Register PC3) Pin 18-25. = Ground Keluaran dari port parallel adalah keluaran TTL, sedangkan arus Sink / Source bervariasi antara port parallel satu dengan yang lainnya. Berdasarkan data sheet kemampuan arus Sink / Source bermacam – macam
Dengan keterbatasan arus port parallel maka diperlukan rangkaian buffer (penyangga) sehingga tidak membebani arus dari port parallel untuk menyuplai rangkaian luar.
Alamat – Alamat Port Parallel
Alamat dasar 3BCh pertama kali diperkenalkan sebagai alamat port parallel pada card – card video lama.LPT1 biasanya memiliki alamat dasar 378, sedangkan alamat LPT2 adalah 278. ini adalah alamat umum yang biasa dijumpai, namun alamat dasar ini bisa berlainan antara satu komputer dengan komputer lainnya. Setelah diketahui alamat dari port parallel, maka dapat ditentukan alamat DP (Data Printer), PC (Printer Control) dan PS (Printer Status). Alamat DP adalah base address dari port parallel tersebut, alamat PS adalah (base address + 1), sedangkan alamat PC adalah (base address +2). List dibawah adalah tabel alamat untuk DP, PC dan PS dengan LPT mempunyai base address 378h
Register - register Port Parallel Register Data Port Parallel ( 378h )
Register Status Port Parallel ( 378h )
Register Kontrol Port Parallel ( 378h )
Mode – Mode Port Parallel Dalam Bios Saat ini kebanyakan port parallel merupakan port – port dengan beragam mode dan normalnya dapat dikonfigurasi melalui perangkat lunak. Mode – modenya meliputi : a. Mode Printer (Default / Normal Mode) Mode Printer merupakan mode yang paling dasar dan merupakan port parallel standard satu arah. Tidak ada fitur dwi – arah sehingga bit-5 pada port kontrol tidak digunakan b. Mode Standard & Bi-directional (SPP) Mode ini merupakan mode dwi-arah. Menggunakan mode ini berarti bit-5 difungsikan untuk membalikkan arah port sehingga dapat membaca kembali nilai yang diberikan pada jalur port data parallel c. Mode EPP1.7 and SPP Mode ini merupakan suatu kombinasi dari mode EPP1.7 (Enhanched Parallel Port) dan SPP. Pada mode ini diperbolehkan untuk mengakses register – register SPP (data, status, kontrol) serta register – register EPP. Pada mode ini juga diperbolehkan untuk membalikkan arah port menggunakan bit-5 dari register kontrol. EPP1.7 merupakan versi awal dari EPP yang belum dilengkapi dengan bit untuk time out d. Mode EPP1.9 and SPP Seperti mode sebelumnya, hanya saja EPPnya menggunakan versi 1.9 yang sudah dilengkapi dengan bit time-out e. Mode ECP Mode ini mempunyai kemampuan tambahan (Extended Capabilities Port). Mode ini dapat diset melalui register kontrol tambahan (Extended Control Register) dari ECP. Hanya saja pada mode ini tidak tersedia mode EPP. f. Mode ECP and EPP1.7 g. Mode ECP and EPP1.9 Pada kedua mode diatas, tetap menggunakan ECP yang dikombinasi dengan EPP, akan tetapi mode EPP yang digunakan bisa ditentukan lewat ECR (Extended Control Register)nya apakah menggunakan Versi 1.7 atau Versi 1.9
Pengaksesan Port Parallel Dengan VB Sebelum melangkah lebih jauh, kita harus melihat dulu beberapa keterbatasan dalam VB. Karena VB tidak bisa mengakses hardware secara langsung dalam system operasi windows, maka semua permintaan pengaksesan hardware harus melalui windows.Oleh karena itu harus menggunakan program eksternal untuk melakukan pengaksesan hardware secara langsung pada program. Program tersebut berupa file DLL (Dynamic Link Library) File DLL ini harus diletakkan (di copy-kan) ke direktori / folder “ //windows/system “ atau diikutkan dalam satu folder program yang kita buat. File DLL yang akan digunakan nanti adalah "inpout32.dll“ Sebelum kita menggunakan fungsi – fungsi yang ada dalam file DLL ini terlebih dahulu harus di deklarasikan di VB kedalam module. Cara mendeklarasikannya adalah : Public Declare Function Inp Lib "inpout32.dll" _ Alias "Inp32" (ByVal PortAddress As Integer) As Integer Public Declare Sub Out Lib "inpout32.dll" _ Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer) Jika file DLL tersebut telah dideklarasikan seperti diatas, maka fungsi Out (untuk mengeluarkan data) dan Inp (untuk membaca data) siap digunakan pada VB. Untuk mengirim data pada port parallel, digunakan fungsi Out . Sintak penulisannya adalah sebagai berikut : Out [Alamat Port], [Nilai] Perintah diatas membutuhkan dua parameter, yaitu alamat port dan nilai data yang dikirimkan pada port tersebut.Karena tiap port hanya 8 jalur data, maka hanya bisa mengirim nilai maksimum = 255 (FFh/11111111b) ke port yang diinginkan Contoh berikut mengilustrasikan cara men-set bit ke port parallel Out &H378, 1 à Men-set bit 0 pada port parallel (alamat 378h) ‘1 = 0000 0001b Out &H378, 2 à Men-set bit 1 pada port parallel (alamat 378h) ‘2 = 0000 0010b Out &H378, 4 à Men-set bit 2 pada port parallel (alamat 378h) ‘4 = 0000 0100b Out &H378, 8 à Men-set bit 4 pada port parallel (alamat 378h) ‘8 = 0000 1000b
Untuk men-set bit lebih dari satu bit Out &H378, 7 à Men-set bit 0,1,2 pada port parallel (alamat 378h) ‘7 = 0000 0111b Setiap kita menset bit dengan cara diatas maka keadaan bit yang lainnya akan terhapus, untuk mengatasi hal ini akan diselesaikan dengan bantuan perintah Inp Cara membaca data dari port parallel adalah sama mudahnya, sintak penulisannya adalah sebagai berikut : Text1.Text = Inp(&H378) [Variabel Simpan] = Inp [Alamat Port] Setelah mengetahui cara membaca data di port parallel, maka dengan bantuan cara tersebut bisa digunakan untuk menset satu bit tertentu tanpa merubah nilai bit lainnya. Private Sub Command5_Click() Dim input_sementara, nilai_Baru As Byte input_sementara = Inp(&H378) nilai_Baru = input_sementara Or 1 Out &H378, nilai_Baru End Sub |
| < Prev | Next > |
|---|
![]()
Anda Di HALAL-KAN MENGCOPY-PASTE isi dari BLOG ini.
Bagi pengunjung yang suka dan nyaman dengan isi Blog ini silahkan di nikmati dan dikunjungi lagi lain waktu, Bagi yang tidak suka Jangan pernah lagi mengunjungi Blog ini.
Kami lebih suka menerima saran dan kritikan dari anda dengan mencantumkan data sesuai identitas resmi anda.
| Today | 202 |
| Yesterday | 200 |
| All | 151677 |
| (C) Fliesenstadt | |
| Home |
| Sekapur Sirih |
| Product & Service |
| Contact Us |
| Guest Book |
| Analog |
| Digital - Computer |
| PIC Microcontroller |
| P L C |
| AVR Microcontroller |
| Fuzzy Logic |
| UIB Student |
| My Favourite Links |
DISCLAIMER :
MATERIAL PUBLISHED ON THIS BLOG IS SUBMITTED BY OWNER. MOST OF THE MATERIAL ON THIS BLOG IS NOT MADE BY ME. I ONLY COLLECT THEM AND PUT THEM IN MY GALLERIES. ALL NEWS HAVE BEEN GATHERED FROM THE INTERNET, FROM FREE SITE, FORUM, FRIENDS, USERS ETC. AND ARE BELIEVED TO BE IN THE "PUBLIC DOMAIN". IF YOU ARE THE RIGHTFULL OWNER OF ANY MATERIAL AND WANT IT REMOVED PLEASE CONTACT ME AND I WILL REMOVE IT IMMEDIATELY ON DEMAND