Laporan Praktikum Modul 1 _ ILFIYANTRI INTYAS_07175049

31
LAPORAN PRAKTIKUM MIKROKONTROLER INTERFACE PORT PARALEL OLEH : ILFIYANTRI INTYAS 07175049 KELOMPOK 3 ANGGOTA : DODI ZULHERMAN YONANDA SYAFRIADE TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS ANDALAS

description

electronic

Transcript of Laporan Praktikum Modul 1 _ ILFIYANTRI INTYAS_07175049

LAPORAN PRAKTIKUM MIKROKONTROLER

INTERFACE PORT PARALEL

OLEH :

ILFIYANTRI INTYAS

07175049

KELOMPOK 3

ANGGOTA :

DODI ZULHERMAN

YONANDA SYAFRIADE

TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS ANDALAS

PADANG

2012

MODUL I

INTERFACE PORT PARALEL

I. Tujuan

1. Mempelajari port paralel/printer dan dimanfaatkan sebagai interface aplikasi led.

2. Mempelajari port paralel/printer dan dimanfaatkan sebagai interface aplikasi SIPO

(Serial In Paralel Out) dan PIPO (Paralel In Paralel Out).

II. Alat dan Bahan

1 buah Komputer IBM PC

1 buah kabel port parallel/DB-25

1 buah modul interface port paralel

III. Dasar Teori

Port Parallel merupakan pengembangan dari teknologi komputer yang digunakan soket

pada personal komputer untuk berkomunikasi dengan peralatan luar seperti printer model

lama. Untuk itu, port parallel saat ini sangat berperan penting dalam teknologi modern.

Arti istilah parallel yaitu sistem pengiriman data digital, dimana beberapa bit data

dikirim sekaligus pada satu saat dengan menggunakan jalur terpisah. Paralel disingkat

dengan P. Susunan sejajar, kabel yang terdiri dari beberapa jalur, beberapa data yang

dikirimkan sekaligus melalui jalur yang berbeda ke tempat yang sama.

Kesederhanaan port ini dari sisi pemrograman dan antarmuka dengan hardware

membuat port ini sering digunakan untuk percobaan-percobaan sederhana dalam

perancangan peralatan elektronika. Paralatan luar yang dapat berkomunikasi dengan port

parallel, antara lain :

a. Printer model lama

b. Zip drive

c. Scanner

d. Sound cards

e. Webcams

f. Gamapads dan joystick

g. Pemrogram EPROM

h. Peralatan SCSI melalui adapter Parallel ke SCSI

i. Percobaan dengan TTL 12 driver

j. External CD-Rom/RW drives

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 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).

Sesuai dengan standard IEEE 1284 ada tiga jenis parallel port yang bisa

digunakan :

a. 1284 Tipe A adalah konektor DB-25 yang banyak dijumpai pada komputer-

komputer saat ini

b. 1284 Tipe B adalah konektor Centronics 34 Pin yang banyak dijumpai pada

printer

c. 1284 Tipe C adalah konektor 36 Pin yang mirip dengan Centronics namun

lebih kecil. Konektor ini diklaim memiliki pengunci (Latch) jenis klip (Clip),

sifat elektrik yang lebih baik dan mudah dirakit. Juga mengandung pin

tambahan yang dapat digunakan untuk mendeteksi apakah piranti yang

terpasang memiliki daya atau tidak.

Keluaran dari port parallel adalah keluaran TTL, sedangkan arus Sink/Source

bervariasi antara port parallel satu dengan yang lainnya.

Tata letak 25 pin port paralel (printer) :

Fungsi dari masing-masing pin pada port paralel :

Pin Signal Fungsi Register In/Out1 Strobe D0-D7 Control In-Out

2 D0 Data bit 0 Data Out 3 D1 Data bit 1 Data Out 4 D2 Data bit 2 Data Out 5 D3 Data bit 3 Data Out 6 D4 Data bit 4 Data Out 7 D5 Data bit 5 Data Out 8 D6 Data bit 6 Data Out 9 D7 Data bit 7 Data Out 10 ACK Acknowledge Status In11 Busy Status In

12 PE Paper End Status In13 SEL Printer selected Status In14 Auto line feed Control In-Out

15 ERR Error Status In16 INIT Initialize Control In-Out17 Select printer Control In-Out

18-25 GND Ground

IV. Analisa

1. Rangkaian Percobaan

Aplikasi port 378H

Flowchart sistem :

Pada rangkaian ini Led dihubungkan ke port parallel melalui alamat 378H dengan

perantara IC 74LS245. Led yang di pasang adalah aktif rendah. Sehingga jika logika 0

led akan hidup, begitupun sebaliknya. Port yang digunakan pada port parallel adalah port

data yaitu (P2 – P9) yang berfungsi mentransferkan (input-output).

Aplikasi port 379H

Flowchart sistem :

Aplikasi untuk switch dan led dapat dilihat pada gambar rangkaian diatas. Led

akan hidup/mati tergantung kondisi dari switch. Rangkaian ini diberi alamat 379H pada

port parallel dengan menggunakan port status pada port parallel.

Aplikasi port 37AH

Flowchart sistem :

Led dihubungkan ke sebuah IC DAC 74LS245 dengan aktif low. Kondisi led

akan diatur oleh computer. Input akan diketik di computer dan selanjutnya akan

dikeluarkan ke LED (hidup atau mati). Rangkaian di atas di hubungkan ke port parallel

dengan alamat 37AH.

Listing Program

Aplikasi pada LED port 378H

Dim i, data As Integer ‘pendeklarasian variable-variabel ke integer’

Private Sub running_Click() ‘memulai program’Timer1.Enabled = True ‘kondisi timer1’End Sub

Private Sub Form_Load() i = 0 ‘data awal = 0’Timer1.Enabled = False ‘kondisi timer 1’End Sub

Private Sub Timer1_Timer() Call PortOut(&H378, data) ‘menampilkan data ke LED melalui alamat 378H’data = 2 ^ i ‘rumus untuk membuat led berjalan dari kiri ke kanan’i = i + 1 ‘kondisi i yang ditambah 1 agar led berjalan ‘If i > 7 Then i = 0 ‘batas i sampai i=7’

End Sub ‘akhiri program’

Aplikasi pada LED port 379H

Dim data, data7, data3456 As integer ‘deklarasi semua variable yang digunakan’

Private Sub baca_Click() ‘mulai program’data = PortIn(&H379) ‘data awal dikeluarkan pada alamat 379H’data = data And &HF8 ‘(perhitungan/program agar ‘ data = data awal di And dengan alamat HF8’data3456 = data And &H78 ‘data3456 = data di AND dengan alamat H78’ data7 = data And &H80 ‘data 7 = data di AND dengan alamat H80’ sehingga data 7 akan sama nilainyadata7 = Not data7 ‘data 7 di NOT kan’ data7 = data7 And &H80 ‘data7 = data7 di AND dengan alamat H80’data = data7 Or data3456 ‘data = data 7 di OR dengan data3456’

Text1.Text = Int(data) ‘menampilkan nilai integer dari data pada text1’End Sub

Private Sub hapus_Click() ‘program untuk clear ‘Text1.Text = "" End Sub

Private Sub exit_Click() ‘program untuk keluar’Unload Me End Sub

Aplikasi pada LED port 37AH

Dim data, d24567, d013 As Integer ‘mendeklarasikan variable ‘

Private Sub tulis_Click() data = Val(Text1.Text) ‘data = input dari yang dimasukkan’data = data And &HF ‘data = data di AND dengan alamat HF’d24567 = data And &H4 ‘d24567 = data di AND dengan alamat H4’d013 = data And &HB ‘d013 = data di AND dengan alamat HB’d013 = Not d013 ‘d013 = d013 di NOT kan’d013 = d013 And &HB ‘d013 = d013 di AND dengan alamat HB’data = d24567 Or d013 ‘data = d24567 di OR dengan d013’Call PortOut(&H37A, data) ‘perintah mengeluarkan hasil data dengan alamat 37AH’End Sub

1.2 Aplikasi Port Paralel pada Display SIPO & PIPO

1. Aplikasi Pada display SIPO (Serial Input Paralel Output)

Flowchart sistem :

SEGMEN KE

Segment

1 e

2 g

3 d

4 f

5 c

6 b

7 a

DATA KE Display

7 6 5 4 3 2 1

0 0 0 0 0 1 0 0

1 0 0 1 1 1 1 1

0 0 1 1 0 0 0 2

0 0 0 1 0 0 1 3

1 0 0 0 1 0 1 4

0 1 0 0 0 0 1 5

0 1 0 0 0 0 0 6

0 0 0 1 1 1 1 7

0 0 0 0 0 0 0 8

0 0 0 0 0 0 1 9

Listing program :

Dim data, satuan, ratusan, puluhan, ribuan, puluhribuan, ratusribuan As Integer ’mendeklarasikan variabel’

Private Sub Start_Click()data = Text1.Text ‘isi teks 1 dimasukkan ke varibel data’If Text1.Text = "" Then ‘data = 0 ‘jika teks 1 kosong, maka angka 0 dimasukkan ke variable data’End If

satuan = data Mod 10 ‘isi variable satuan adalah hasil modulasi isi variable data dengan

Call hidup Call matiCall matiCall matiCall mati

Case 2 Call hidup Call hidup Call mati Call mati Call hidup Call hidup Call hidup

sepuluh’Text2.Text = satuan ‘isi variable satuan ditampilkan pada teks 2’ratusan = data \ 100 ‘isi variable ratusan adalah data dibagi 100’ratusan = ratusan Mod 10 ‘isi ratusan yang baru adalah isi ratusan sebelumnya dimodulasi dengan 10’Text4.Text = ratusan ‘isi ratusan ditampilkan pada teks 4’puluhan = data \ 10 ’ isi variabel puluhan adalah data dibagi sepuluh’puluhan = puluhan Mod 10 ’isi variabel puluhan yang baru adalah isi variabel puluhan yang lama dimodulasi dengan sepuluh’Text3.Text = puluhan ‘isi variable puluhan ditampilkan pada teks 3’ribuan = data \ 1000 ‘isi variable ribuan adalah data dibagi 1000’ribuan = ribuan Mod 10 ‘isi variable ribuan yang baru adalah isi variable ribuan yang lama dimodulasi dengan sepuluh’Text5.Text = ribuan ‘isi variable ribuan ditampilkan pada teks 5’puluhribuan = data \ 10000 ‘isi variable puluribuan adalah isi variable data dibagi 10000’puluhribuan = puluhribuan Mod 10 ‘isi variable puluhribuan yg baru adalah isi variable puluhribuan yang lama dimodulasi dengan sepuluh.’Text6.Text = puluhribuan ‘isi puluhribuan ditampilkan pada teks 6”ratusribuan = data \ 100000 ‘isi variable ratusribuan adalah isi data dibagi 100000’Text7.Text = ratusribuan ‘isi vaeiabel ratusribuan ditampilkan pada teks 7’

Call konversisatuan ‘memanggil konversisatuan’Call konversipuluhan ‘memanggil konversipuluhan’Call konversiratusan ‘memanggil konversiratusan’Call konversiribuan ‘memanggil konversiribuan’Call konversipuluhribuan ‘memanggil konversipuluhribuan’Call konversiratusribuan ‘memanggil konversiratusribuan’End Sub

Private Sub konversisatuan()

Case 3 Call hidup Call hidup Call hidup Call mati Call hidup Call hidup Call mati

Case 4 Call mati Call hidup Call hidup Call hidup Call mati Call hidup Call mati

Case 5 Call hidup Call mati Call hidup Call hidup Call hidup Call hidup Call mati

Case 6 Call hidup Call mati Call hidup Call hidup Call hidup Call hidup Call hidup ii

Select Case satuan

Case 0 Call hidup Call hidup Call hidup Call hidup Call hidup Call mati Call hidup

Case 1 Call mati Call hidup

i Case 7 Call hidup Call hidup Call hidup Call mati Call mati Call mati Call mati

Case 8 Call hidup Call hidup Call hidup Call hidup Call hidup Call hidup Call hidup Case 9 Call hidup Call hidup Call hidup Call hidup Call hidup Call hidup Call mati

End SelectEnd Sub

Private Sub konversipuluhan()Select Case puluhanCase 0 Call hidup Call hidup Call hidup

Call matiCall mati Call hidup Call hidup Call hidup

Case 3 Call hidup Call hidup Call hidup Call mati Call hidup Call hidup Call mati

Case 4 Call mati Call hidup Call hidup Call hidup Call mati Call hidup Call mati

Case 5 Call hidup Call mati Call hidup Call hidup Call hidup Call hidup Call mati

Case 6 Call hidup

Case 8 Call hidup Call hidup Call hidup Call hidup Call hidup Call hidup Call hidup

Case 9 Call hidup Call hidup Call hidup Call hidup Call hidup Call hidup Call matiEnd SelectEnd Sub

Private Sub konversiratusan()Select Case ratusan

Case 0 Call hidup Call hidup Call hidup Call hidup Call hidup Call mati Call hidup

Case 1 Call mati Call hidup

Call hidup Call hidup Call mati Call hidup

Case 1 Call mati Call hidup Call hidup Call mati Call mati Call mati Call matiCase 2 Call hidup Call hidup iii

Call mati Call hidup Call hidup Call hidup Call hidup Call hidup

Case 7 Call hidup Call hidup Call hidup Call mati Call mati Call mati Call mati iv

Call hidup Call mati Call mati Call mati Call mati

Case 2 Call hidup Call hidup Call mati Call mati Call hidup Call hidup Call hidup

vCase 3 Call hidup Call hidup Call hidup Call mati Call hidup Call hidup Call mati

Case 4 Call mati Call hidup Call hidup Call hidup Call mati Call hidup Call mati

Case 5 Call hidup Call mati Call hidup Call hidup Call hidup Call hidup Call mati

Case 6 Call hidup Call mati Call hidup Call hidup

Call hidupCall hidup

Case 9 Call hidup Call hidup Call hidup Call hidup Call hidup Call hidup Call matiEnd SelectEnd Sub

Private Sub konversiribuan()Select Case ribuan

Case 0 Call hidup Call hidup Call hidup Call hidup Call hidup Call mati Call hidup

Case 1 Call mati Call hidup Call hidup Call mati Call mati

Call mati

Case 4 Call mati Call hidup Call hidup Call hidup Call mati Call hidup Call mati

Case 5 Call hidup Call mati Call hidup Call hidup Call hidup Call hidup Call mati

Case 6 Call hidup Call mati Call hidup Call hidup Call hidup Call hidup Call hidup

Case 7 Call hidup Call hidup

Call hidup Call hidup Call hidup

Case 7 Call hidup Call hidup Call hidup Call mati Call mati Call mati Call mati

Case 8 Call hidup Call hidup Call hidup Call hidup Call hidup

vi

Call mati Call mati

Case 2 Call hidup Call hidup Call mati Call mati Call hidup Call hidup Call hidup

Case 3 Call hidup Call hidup Call hidup Call mati Call hidupCall hidup

vii

Call hidup Call mati Call mati Call mati Call mati

Case 8 Call hidup Call hidup Call hidup Call hidup Call hidup Call hidup Call hidup

viii

Case 9 Call hidup Call hidup Call hidup

Call hidup Call hidup Call hidup Call matiEnd SelectEnd Sub

Private Sub konversipuluhribuan()Select Case puluhribuan

Case 0 Call hidup Call hidup Call hidup Call hidup Call hidup Call mati Call hidup

Case 1 Call mati Call hidup Call hidup Call mati Call mati

Call hidupCall hidup Call hidup Call mati Call hidupCall mati

Case 5 Call hidup Call mati Call hidup Call hidup Call hidup Call hidup Call mati

Case 6 Call hidup Call mati Call hidup Call hidup Call hidup Call hidup Call hidup

Case 7 Call hidup Call hidup Call hidup Call mati

End Sub

Private Sub konversiratusribuan()Select Case ratusribuan

Case 0 Call hidup Call hidup Call hidup Call hidup Call hidup Call mati Call hidup

Case 1 Call mati Call hidup Call hidup Call mati Call mati Call mati Call mati

Case 2 Call hidup Call hidup Call mati Call mati Call hidup Call hidup

Call mati Call mati

Case 2 Call hidup Call hidup Call mati Call mati Call hidup Call hidup Call hidup

Case 3 Call hidup Call hidup Call hidup Call mati Call hidup Call hidup Call matiCase 4 Call mati ix

Call mati Call mati Call mati

Case 8 Call hidup Call hidup Call hidup Call hidup Call hidup Call hidup Call hidup

Case 9 Call hidup Call hidup Call hidup Call hidup Call hidup Call hidup Call matiEnd Selectx

Call hidup

Case 3 Call hidup Call hidup Call hidup Call mati Call hidup Call hidup Call mati

Case 4 Call mati Call hidup Call hidup Call hidup Call mati Call hidup Call mati

xi

Case 5 Call hidup Call mati Call hidup Call hidup Call hidup Call hidup Call mati

Case 6 Call hidup Call mati Call hidup Call hidup Call hidup Call hidup Call hidup

Case 7 Call hidup Call hidup Call hidup Call mati Call mati Call mati Call mati

Private Sub hidup()Call PortOut(&H37A, 11) ’bilangan 11 dikirim ke port 37A’ Call PortOut(&H37A, 3) ’bilangan 3 dikirim ke port 37A’End Sub

Private Sub mati()Call PortOut(&H37A, 15) ’bilangan 15 dikirim ke port 37A’ Call PortOut(&H37A, 7) ’bilangan 7dikirim ke port 37A’

End Sub

Private Sub Hidup_Click()Call PortOut(&H37A, 11) ’bilangan 11 dikirim ke port 37A’Call PortOut(&H37A, 3) ’bilangan 3 dikirim ke port 37A’End Sub

Private Sub Mati_Click()Call PortOut(&H37A, 15) ’bilangan 15 dikirim ke port 37A’Call PortOut(&H37A, 7) ’bilangan

Case 8 Call hidup Call hidup Call hidup Call hidup Call hidup Call hidup Call hidup Case 9 Call hidup Call hidup Call hidup Call hidup Call hidup Call hidup Call matiEnd SelectEnd Sub xii

7dikirim ke port 37A’End SubPrivate Sub kosong()For i = 1 To 21Call mati ‘untuk nilai i sama dengan 1 sampai 21, dipanggil sub program mati’Next iEnd Sub

Private Sub kosong1()For i = 1 To 7 ‘untuk nilai i sama dengan 1 sampai 7, dipanggil sub program mati’Call matiNext iEnd Sub

Private Sub Test_Click()For i = 1 To 42 Call hidup ‘untuk nilai i sama dengan 1 sampai 42, dipanggil sub program hidup’Next iEnd SubPrivate Sub Reset_Click()For i = 1 To 42 ‘untuk nilai i sama dengan 1 sampai 42, dipanggil sub program mati’Call matiNext iEnd Sub

Private Sub Exit_Click()Unload Me ‘menutup program’End Sub xiii

2. Aplikasi Pada display PIPO (Paralel Input Paralel Output

data segment

g f e d c b a

11101110b 1 1 0 1 1 1 0

11101101b 1 1 0 1 1 0 1

11101011b 1 1 0 1 0 1 1

11100111b 1 1 0 0 1 1 1

11001111b 1 0 0 1 1 1 1

10101111b 0 1 0 1 1 1 1

01101111b 1 1 0 1 1 1 1

data segment

g f e d c b a

11101110b 1 1 0 1 1 1 0

11101101b 1 1 0 1 1 0 1

11101011b 1 1 0 1 0 1 1

11100111b 1 1 0 0 1 1 1

11001111b 1 0 0 1 1 1 1

10101111b 0 1 0 1 1 1 1

01101111b 1 1 0 1 1 1 1

Flowchart sistem :

Listing program :

Dim angka, data1, puluhan, ratusan, satuan, ribuan, puluhribuan, ratusribuan As Integer‘mendeklarasikan variable sebagai integer’Private Sub Start_Click()angka = Val(Text1.Text) ‘nilai dalam teks 1 dimasukkan ke variable angka’satuan = angka Mod 10 ‘nilai variable satuan adlaah nilai angka dimodulasi dengan 10’Text2.Text = satuan ‘ nilai satuan ditampilkan ke teks 2’ratusan = angka \ 100 ‘nilai ratusan adalah nilai angka dibagi dengan 100’ratusan = ratusan Mod 10 ‘nilai ratusan yg baru adalah nilai ratusan yang lama

Call konversiratusribuanCall PortOut(&H378, data1)Call pulse

End SubPrivate Sub pulse()data1 = data1 Or 16Call PortOut(&H378, data1)End Sub

Private Sub konversisatuan()Select Case satuanCase 0 data1 = 64Case 1

dimodulasi dengan 10’Text4.Text = ratusan ‘nilai ratusan ditampilkan pada teks 4’puluhan = angka \ 10 ‘nilai puluhan adalah nilai angka dibagi dengan 10’puluhan = puluhan Mod 10 ‘nilai puluhan yang baru adalah nilai puluhan yang lama dimodulasi dengan 10’Text3.Text = puluhan ‘nilai puluhan ditampilkan pada teks 3’ ribuan = angka \ 1000 ‘nilai ribuan adalah nilai angka dibagi 1000’ribuan = ribuan Mod 10 ‘nilai ribuan yang baru adalah nilai ribuan yang lama dimodulasi dengan 10’Text5.Text = ribuan ‘nilai ribuan ditampilkan pada teks 5’puluhribuan = angka \ 10000 ‘nilai puluhribuan adalah nilai angka dibagi dengan 10000’puluhribuan = puluhribuan Mod 10 ‘ nilai puluhribuan yang baru adalah nilai puluhribuan yang lama dimodulasi dengan 10’Text6.Text = puluhribuan ‘nilai puluhribuan ditampilkan pada teks 6’ratusribuan = angka \ 100000 ‘nilai ratusribuan adalah nilai angka dibagi dengan 100000’Text7.Text = ratusribuan ‘nilai ratusribuan ditampilkan pada teks 7’

Text4.Text = ratusan ‘nilai ratusan ditampilkan pada teks 4’Text3.Text = puluhan ‘nilai puluhan ditampilkan pada teks 3’Text2.Text = satuan ‘nilai satuan ditampilkan pada teks 2’

Call konversisatuanCall PortOut(&H378, data1) ‘nilai pada variable data 1 dikirimkan ke port 378H’Call pulse

Call konversipuluhanCall PortOut(&H378, data1) ‘nilai pada variable data 1 dikirimkan ke port 378H’Call pulse

Call konversiratusanCall PortOut(&H378, data1) ‘nilai pada

data1 = 236Case 2 data1 = 10Case 3 data1 = 40Case 4 data1 = 164Case 5 data1 = 33Case 6 data1 = 1Case 7 data1 = 232Case 8 data1 = 0Case 9 data1 = 32End SelectEnd Sub

Private Sub konversipuluhan()Select Case puluhanCase 0 data1 = 64Case 1 data1 = 236Case 2 data1 = 10Case 3 data1 = 40Case 4 data1 = 164Case 5 data1 = 33

ii

variable data 1 dikirimkan ke port 378H’Call pulse

Call konversiribuanCall PortOut(&H378, data1) ‘nilai pada variable data 1 dikirimkan ke port 378H’Call pulse

Call konversipuluhribuanCall PortOut(&H378, data1) ‘nilai pada variable data 1 dikirimkan ke port 378H’Call pulse

iCase 6 data1 = 1Case 7 data1 = 232Case 8 data1 = 0Case 9 data1 = 32End SelectEnd Sub

Private Sub konversiratusan()Select Case ratusanCase 0 data1 = 64Case 1 data1 = 236Case 2 data1 = 10Case 3 data1 = 40Case 4 data1 = 164Case 5 data1 = 33Case 6 data1 = 1Case 7 data1 = 232Case 8 data1 = 0Case 9 data1 = 32End SelectEnd Sub

Case 6 data1 = 1Case 7 data1 = 232Case 8 data1 = 0Case 9 data1 = 32End SelectEnd Sub

Private Sub konversipuluhribuan()Select Case puluhribuanCase 0 data1 = 64Case 1 data1 = 236Case 2 data1 = 10Case 3 data1 = 40Case 4 data1 = 164Case 5 data1 = 33Case 6 data1 = 1Case 7 data1 = 232Case 8 data1 = 0Case 9 data1 = 32End SelectEnd Sub

Case 5 data1 = 33Case 6 data1 = 1Case 7 data1 = 232Case 8 data1 = 0Case 9 data1 = 32End SelectEnd Sub

Private Sub Test_Click()For i = 1 To 6Call PortOut(&H378, 0)Call PortOut(&H378, 16) ‘untuk nilai i sama dengan 1 sampai 6, bilangan 0 dikirimkan ke alamat 378H, kemudian bilangan 16 dikirimkan ke alamat 378H’Next iEnd Sub

Private Sub Reset_Click()For i = 1 To 6Call PortOut(&H378, 239)Call PortOut(&H378, 255) ‘untuk nilai i sama dengan 1 sampai 6, bilangan 239 dikirimkan ke alamat 378H, kemudian bilangan 255 dikirimkan ke alamat 378H’Next iEnd Sub

Private Sub konversiribuan()Select Case ribuanCase 0 data1 = 64Case 1 data1 = 236Case 2 data1 = 10Case 3 data1 = 40Case 4 data1 = 164Case 5 data1 = 33

iii

Private Sub konversiratusribuan()Select Case ratusribuanCase 0 data1 = 64Case 1 data1 = 236Case 2 data1 = 10Case 3 data1 = 40Case 4 data1 = 164

iv

Private Sub Exit_Click()Unload Me ‘keluar dari program’End Sub

v

V. Kesimpulan dan Saran

5.1 Kesimpulan

Port Paralel dapat difungsikan sama seperti IC 8255 untuk interfacing ,tetapi

setiap portnya hanya dapat difungsikan sebagai input atau output saja.

Port paralel disini sama halny adengan port printer, hanya memanfaatkan port data

(DP/Data Port) 8 bit yaitu DP0 s/d DP7 sebagai output .Port Control (PC/Printer

Control) 4 bit yaitu PC0 s/d PC3 sebagai output dan port control (PS/Printer Status) 5

bit (PS3 s/d PS7) sebagai input yang berturut-turut dengna lamat 378H, 379H, 37AH.

Port 378H : Port ini berfungsi sebagai masukan/input dari PC ke interface

yang dihubungkan ke LED

Port 379H : Port ini sebagai keluaran dari PC ke interface

Port 37AH : Port ini berfungsi sebagai masukan dari PC ke interface yang

dihubungkan ke LED

SIPO (Serial Input Paralel Output) : Hasil keluaran dari SIPO ini

adalah 5 digit yang ada pada LED rangkaian. Input dari rangkaian bit yang muncul

meningkat setiap pulsa clock

PIPO (Paralel Input Paralel Output) : Hasil input dan output langsung muncul

tanpa mengalami peningkatan bit.

5.2 Saran

Pada saat praktikan sedang berusaha mengerjakan tugas program tambahan dari

asisten, mohon asisten tidak menertawakan jawaban yang diberikan oleh praktikan,

walaupun mungkin jawaban tersebut salah.

DAFTAR PUSTAKA

Tim Asisten Laboratorium Elektronika Industri.2012.Modul Praktikum Mikrokontroler. Padang. Universitas Andalas.

Setiawan, Rachmad. 2006. TEKNIK INTERFACE.Yogjakarta; Penerbit Graha Ilmu

Setiawan, Rachmad. 2005. MIKROPROSESOR 8088.Yogjakarta; Penerbit Graha Ilmu

Team Asistem LEI.2011. MODUL PRAKTIKUM MIKROPROSESOR DAN MIKROKONTROLER 2012. Padang; Teknik Elektro Universitas Andalas

http://www.toko-elektronika.com/tutorial/paralel.html

http://mekatronikausd.blogspot.com/2011/04/interface-port-paralel-db-25.html