12
1 ATRAKSI LAMPU LED DENGAN PORT PARALEL DAN INPUTAN DARI USER MENGGUNAKAN VISUAL STUDIO 2008 INTERFACE DAN PHERIPERAL Fatchurrachman Purna Yudha 093112706450026 JAYADI 0931127064500 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI KOMUNIKASI DAN INFORMATIKA UNIVERSITAS NASIONAL JAKARTA 2012

Atraksi lampu led dengan port paralel

Embed Size (px)

Citation preview

Page 1: Atraksi lampu led dengan port paralel

1

ATRAKSI LAMPU LED DENGAN PORT PARALEL

DAN INPUTAN DARI USER MENGGUNAKAN VISUAL STUDIO 2008

INTERFACE DAN PHERIPERAL

Fatchurrachman Purna Yudha

093112706450026

JAYADI

0931127064500

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI KOMUNIKASI DAN INFORMATIKA

UNIVERSITAS NASIONAL

JAKARTA

2012

Page 2: Atraksi lampu led dengan port paralel

2

Daftar isi

PEDAHULUAN ............................................................................................................. 3

Port Paralel.................................................................................................................. 3

PROJECT 1 .................................................................................................................... 6

Gambaran umum project ............................................................................................ 6

Persiapan dan Persyaratan .......................................................................................... 6

Pengoperasian ............................................................................................................. 7

Page 3: Atraksi lampu led dengan port paralel

3

PEDAHULUAN

Port Paralel

Port paralel ialah port data di komputer untuk mentransmisi 8 bit data dalam sekali

detak. Standar port paralel yang baru ialah IEEE 1284 dimana dikeluarkan tahun 1994.

Standar ini mendefinisikan 5 mode operasi sebagai berikut :

1. Mode kompatibilitas

Kompateliti mode adalah sebuah mode "channel yang mengirim secara terus

menerus". atau sebuah mode yang memindahkan data dari pc ke periperal. mode ini

memindahkan Bytes (8 potongan bit data "00000000") satu kali dalam satu waktu ke

periperal. dan ini adalah mode default dari perasi port paralel. atau istilahnya "IEEE 1284

kompetibel" port ini harus menjadi setidaknya mampu dari tipe operasi ini

2. mode nibble

nibble mode adalah mode "pemesanan channel". atau salah satunya memindahkan

data dari pheriperal ke PC. mode ini memindahkan data satu "nibble" (4 bit) dalam satu

waktu ke PC. Satu waktu "nibbles" sampai mereka harus dirakit ulang menjadi bytes,

sebuah operasi itu lambat beberapa rate pada masing masing data dapat di transmisikan.

"IEEE Compliant" parallel port harus termasuk setidaknya kompetibelitas dan nibble

mode dan menyetujui mekanisme untuk negosiasi trasnfer

3. mode byte

Byte mode adalah mode pemesanan channel yang lain. mode ini menginprove pada

nibble mode dengan memperbolehkan data untuk pindah ke PC satu byte penuh dalam

satu waktu

4. mode EPP (enhanced parallel port)

EPP mode bekerja dalam masing masing forward dan reverse direction, memindahkan

byte penuh pada masing masing jalur. keuntungan utama dari epp mode daripada

kompetibelitas, nibble dan byte mode dalah kecepatannya. EPP dapat membaca atau

menulis data dalam satu ISA bus Cycle, termasuk waktu membutuhkan hanshaking

protokol. mode sebelumnya membutuhkan empat siklus untuk transfer satu byte. mode

EPP dapat juga sangat cepat mengganti arah dari perpindahan data. membuat ini sebuah

pilihan bagus dari mode untuk paralel port peralatan penyimpan data. EPP mode

termasuk didalamnya compatibility, nibble, dan mode tersebut dapat digunkanan jika

dibutuhkan

5. mode ECP (Extended capability port)

ECP mode menambahkan layer lain pengalaman ke tarnsfer data secara paralel. seperti

mode EPP, ECP memindahkan byte secara penuh pada dua arah dan memesan channel.

dan juga masing masing byte dipindahkan dalam satu ISA clock cycle. tambahan, ECP

port memiliki data buffering, DMA support ( kemampuan untuk menulis data secara

langsung ke sistem memori tanpa menempatkan permintaan dalam sistem CPU. dan

kompresi data untuk lebih efisien data transer. mode ECP termasuk semua mode data lain

diantara itu.

Tujuan dari standar yang baru tersebut ialah untuk mendesain driver dan peralatan

yang baru yang kompatibel dengan peralatan lainnya serta standar paralel port sebelumnya

Page 4: Atraksi lampu led dengan port paralel

4

(SPP) yangn diluncurkan tahun 1981. Mode Compatibilitas, nibble dan byte digunakan

sebagai standar perangkat keras yang tersedia di port paralel orisinal dimana EPP dan ECP

membutuhkan tambahan hardware dimana dapat berjalan dengan kecepatan yang lebih tinggi.

Mode kompatibilitas atau (“Mode Centronics” ) hanya dapat mengirimkan data pada arah

maju pada kecepatan 50 kbytes per detik hingga 150 kbytes per detik. Untuk menerima data,

anda harus mengubah mode menjadi mode nibble atau byte. Mode nibble dapat menerima 4

bit (nibble) pada arah yang mundur, misalnya dari alat ke computer. Mode byte

menggunakan fitur bi-directional parallel untuk menerima 1 byte (8 bit) data pada arah

mundur. IRQ (Interrupt Request ) pada port paralel biasanya pada IRQ5 atau IRQ7.

Port paralel Extend dan Enhanced menggunakan hardware tambahan untuk

membangkitkan dan mengatur handshaking. Untuk mengeluarkan 1 byte ke printer

menggunakan mode kompatibilitas, software harus :

1. menulis byte ke data port

2. cek untuk melihat apakah printer sibuk, jika sibuk, ia tidak akan menerima data,

sehingga data yang telah ditulis akan hilang.

3. buat strobe (pin 1) rendah. Ini memberitahukan printer bahwa data yang benar telah

berada di line data

4. buat strobe tinggi lagi setelah menunggu sekitar 5 mikrodetik setelah membuat

strobe low.

Hal ini membatasi kecepatan data. Sedangkan EPP dan ECP mengizinkan hardware

mengecek jika printer sibuk dan mengeluarkan sinyal strobe atau handshaking lainnya. Ini

berate hanya 1 instruksi I/O yang harus dilakukan yang akan meningkatkan kecepatan Port

ECP juga mempunyai kelebihan menggunakan saluran DMA dan buffer FIFO, jadi data dapat

digeser tanpa menggunakan instruksi I/O.

Protokol EPP mempunyai 4 macam siklus transfer dta yang berbeda yaitu :

1. Siklus baca data (Data read)

2. Siklus baca alamat (Address Read)

3. Siklus tulis data (data write)

4. siklus tulis alamat (address write)

Siklus data digunakan untuk mentrasfer data antara host dan peripheral. Siklus alamat

digunakan untuk mengirimkan alamat, saluran (channel) atau informasi perintah dan control.

Berikut ialah tabel nama pin dari konekter DB25 dan Centronics dengan jumlah

konektor 34. DB25 ialah konektor yang umum digunakan di computer sebagai port paralel ,

sedangkan konektor Centronics umum ditemukan di printer. IEEE 1284 ialah standar yang

menentukan 3 konektor berbeda yang dapat digunakan dengan port paralel, yaitu1284 tipe A

ialah konektor DB25 yang dapat ditemukan di hampir semua komputer, 1284 tipe B ialah

konektor Centronics 36 pin yang umum ditemukan di printer, IEEE 1284 type C ialah

konektor 36 pin seperti Centronics, tetapi ukurannya lebih kecil.

Page 5: Atraksi lampu led dengan port paralel

5

Berikut adalah gambar connetor paralel DB25 berikut keterangan

Pada gambar diatas adalah bentuk pin DB25 Female dimana terdapat 3 jenis Register

pada port paralel yaitu

Register Data, sebagai tempat data dikirimkan dari bus komputer ke luar melalui port

paralel ini. Terdiri dari 8 bit dimana dalam satu kali detak dapat mengirim 8 bit sekaligus.

Alamat untuk register ini adalah (0x278, 0x378, 0x3BC) biasanya alamat yang sering

digunakan adalah 0x378 atau sering disebut base.

Register Status, terdapat pada alamat Base + 1 atau (0x278, 0x378, 0x3BD)

memungkin kan kita memberikan inputan ke bus komputer. Bit yang dapat diakses hanya bit

S7 sampai bit S3 sedangkan S2 – S0 adalah defalut / hanya dapat diakses dari sistem. Pada bit

S7 terdapat inverse yaitu jika kita mengirimkan data 1 maka akan terbaca 0. Begitu

sebaliknya.

Control Status, terdapat pada alamat Base + 2 atau (0x27A,0x37A,0x3BE).

Page 6: Atraksi lampu led dengan port paralel

6

Untuk lebih jelas tentang pin yang ada silahkan lihat pada tabel dibawah ini

PROJECT 1

Gambaran umum project

Project yang akan dibuat adalah project dengan menggunakan parallel port untuk

memberi inputan dan membaca inputan. Pada project ini output ditunjukkan dengan lampu

LED. Jika menyala maka inputan yang diberikan adalah 1 sedangkan jika mati maka input

yang diberikan adalah 0. Karena 8 bit maka akan direpresentasikan sebagai berikut :

Jika kita mengirim data 50 maka 0 0 1 1 0 0 1 0 atau dalam lampu akan

direpresentasikan dari bit 7 hingga 0

0 0 1 1 0 0 1 0

Mati Mati Hidup Hidup Mati Mati Hidup Mati

Program yang akan dibuat dengan menggunakan visual studio 2008 dan mode ECP

karena secara default mode inilah yang terpasang di computer.

Persiapan dan Persyaratan

Persiapan yang diperlukan adalah adanya file Inpout32.dll yang dicopykan ke

C:\Windows atau C:\Windows\System32 sehingga nanti saat program dijalankan file tersebut

dapat langsung diakses.

Page 7: Atraksi lampu led dengan port paralel

7

Selain itu diperlukan frame work 3.5 karena program yang digunakan menggunakan

framework 3.5. dan system operasi yang digunakan adalah windows XP karena windows ini

masih kompetibel dengan file Inpout32.dll.

Pengoperasian

Gambar Alat Atraksi LED

Gambar diatas adalah gambar alat yang kami buat untuk project ini dimana pada

bagian atas terdapat register data dengan D0 – D7 dari kiri ke kanan. Register Status dengan

lampu berwarna Hijau dan Status pada saklar bagian bawah.

Untuk skema dapat dilihat pada gambar berikut

Skema Alat Atraksi LED

Untuk mengoperasikan alat ini buka aplikasi atraksi lampu LED

Register data

Register Control

Register Data Input

Register Status

Page 8: Atraksi lampu led dengan port paralel

8

Code Definisi Program

Private Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As

Integer) As Integer

Private Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As

Integer, ByVal Value As Integer)

Code diatas digunakan untuk menginport file inpout32.dll untuk inputan dan output

Mode 1

Hidup 1 pin dari kiri ke kanan kemudian berulang kembali

If Inp(&H379S) = 119 Then

Label6.Text = "mode 1. (Status 3 - ON)"

Out(&H378S, mode1(j))

j -= 1

If j = -1 Then j = 7

Mode 2

Hidup 1 pin dari kanan ke kiri kemudian berulang kembali

ElseIf Inp(&H379S) = 111 Then

Label6.Text = "mode 2. (Status 4 - ON)"

Out(&H378S, mode1(k))

k += 1

If k = 8 Then k = 0

Mode 3

Mati 1 pin dari kiri ke kanan kemudian berulang kembali

'mode 3

Judul

Identifikasi Jenis masukan

Membaca inputan secara decimal

Tombol Memulai dan berhienti

Page 9: Atraksi lampu led dengan port paralel

9

ElseIf Inp(&H379S) = 95 Then

Label6.Text = "mode 3. (Status 5 - ON)"

Out(&H378S, 255 - mode1(j))

j -= 1

If j = -1 Then j = 7

Page 10: Atraksi lampu led dengan port paralel

10

Mode 4

Mati 1 pin dari kanan ke kiri kemudian berulang kembali

'mode 4

ElseIf Inp(&H379S) = 63 Then

Label6.Text = "mode 4. (Status 6 - ON)"

Out(&H378S, 255 - mode1(k))

k += 1

If k = 8 Then

k = 0

End If

Mode 5

Hidup 1 pin dari kanan ke kiri kemudian kembali lagi ke kanan

'mode 5

ElseIf Inp(&H379S) = 255 Then

Label6.Text = "mode 5. (Status 7 - ON)"

If cek_l = 0 Then

Out(Port1, mode1(l))

l += 1

If l = 8 Then

cek_l = 1

l -= 1

End If

Else

l -= 1

Out(Port1, mode1(l))

If l = 0 Then

cek_l = 0

l += 1

End If

End If

Page 11: Atraksi lampu led dengan port paralel

11

Mode 6

Mati 1 pin dari kanan ke kiri kemudian kembali lagi ke kanan

'mode6

ElseIf Inp(&H379S) = 247 Then

Label6.Text = "mode 6. (Status 7 dan Status 3 - ON)"

If cek_l = 0 Then

Out(Port1, 255 - mode1(l))

l += 1

If l = 8 Then

cek_l = 1

l -= 1

End If

Else

l -= 1

Out(Port1, 255 - mode1(l))

If l = 0 Then

cek_l = 0

l += 1

End If

End If

Mode 7

Hidup 1 pin dari kanan dan kiri kemudian ke tengah kemudian kembali lagi ke sisi

'mode 7

ElseIf Inp(&H379S) = 239 Then

Label6.Text = "mode 7. (Status 7 dan Status 4 - ON)"

If cek_l = 0 Then

Out(Port1, mode1(l) + mode1(7 - l))

l += 1

If l = 4 Then

cek_l = 1

l -= 1

End If

Else

Page 12: Atraksi lampu led dengan port paralel

12

l -= 1

Out(Port1, mode1(l) + mode1(7 - l))

If l = 0 Then

cek_l = 0

l += 1

End If

End If

Mode 8

Menghitung dari 0 hingga 255

'mode 8

ElseIf Inp(&H379S) = 223 Then

Label6.Text = "mode 8. (Status 7 dan status 8 - ON)"

Out(Port1, n)

n += 1

If n = 256 Then n = 0

Mode 9

Mati 1 pin dari kanan dan kiri ketengah lalu kembali lagi.

ElseIf Inp(&H379S) = 191 Then

Label6.Text = "mode 9. (Status 7 dan status 6 - ON)"

If cek_l = 0 Then

Out(Port1, 255 - (mode1(l) + mode1(7 - l)))

l += 1

If l = 4 Then

cek_l = 1

l -= 1

End If

Else

l -= 1

Out(Port1, 255 - (mode1(l) + mode1(7 - l)))

If l = 0 Then

cek_l = 0

l += 1

End If

End If