OLEH :
ILFIYANTRI INTYAS
07175049
KELOMPOK 3
ANGGOTA :
DODI ZULHERMAN
YONANDA SYAFRIADE
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
II.
III.
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
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 komputerkomputer 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) :
Signal
STB
Fungsi
Strobe D0-D7
Register
Control
In/Out
In-Out
2
3
4
5
6
7
8
9
10
11
D0
D1
D2
D3
D4
D5
D6
D7
ACK
BSY
Data bit 0
Data bit 1
Data bit 2
Data bit 3
Data bit 4
Data bit 5
Data bit 6
Data bit 7
Acknowledge
Busy
Data
Data
Data
Data
Data
Data
Data
Data
Status
Status
Out
Out
Out
Out
Out
Out
Out
Out
In
In
12
13
14
PE
SEL
AUTOLF
Paper End
Printer selected
Auto line feed
Status
Status
Control
In
In
In-Out
15
16
17
ERR
INIT
SELIN
Error
Initialize
Select printer
Status
Control
Control
In
In-Out
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).
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.
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
memulai program
kondisi timer1
akhiri program
Flowchart sistem :
SEGMEN
KE
Segment
DATA KE
Display
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
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
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
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
Call hidup
Call hidup
Call mati
Call hidup
Case 1
Call mati
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
Call hidup
Call hidup
Case 9
Call hidup
Call hidup
Call hidup
Call hidup
Call hidup
Call hidup
Call mati
End Select
End Sub
Private Sub konversipuluhan()
Select Case puluhan
Case 0
Call hidup
Call hidup
Call hidup
Call hidup
Call hidup
Call mati
Call hidup
Case 1
i
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 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 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 Select
End 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 mati
Call mati
Call mati
Call mati
Call mati
Call hidup
Call hidup
Call mati
Call mati
Call mati
Call mati
Case 2
Call hidup
Call hidup
Case 2
Call hidup
Call hidup
Call mati
Call mati
Call hidup
Call hidup
Call hidup
Case 7
Call hidup
Call hidup
Call hidup
Call mati
Call mati
Call mati
Call mati
iii
iv
v
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
Case 7
Call hidup
Call hidup
Call hidup
Case 9
Call hidup
Call hidup
Call hidup
Call hidup
Call hidup
Call hidup
Call mati
End Select
End 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
Call mati
Case 2
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
Case 7
Call hidup
Call hidup
Call hidup
Call mati
Call mati
Call mati
Call mati
Call hidup
Call hidup
Call mati
Call mati
Call mati
Call mati
Call mati
Call mati
Call hidup
Call hidup
Call hidup
Case 8
Call hidup
Call hidup
Call hidup
Call hidup
Call hidup
Call hidup
Call hidup
Case 3
Call hidup
Call hidup
Call hidup
Call mati
Call hidup
Call hidup
Case 8
Call hidup
Call hidup
Call hidup
Call hidup
Call hidup
vi
Case 9
Call hidup
Call hidup
Call hidup
Call hidup
Call hidup
Call hidup
Call mati
End Select
End Sub
viii
vii
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 mati
Call mati
Call mati
Call mati
Case 8
Call hidup
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 hidup
Case 3
Call hidup
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 mati
Case 4
Call mati
ix
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
Case 8
Call hidup
Call hidup
Call hidup
Call hidup
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 Select
x
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
Call hidup
Call hidup
Case 9
Call hidup
Call hidup
Call hidup
Call hidup
Call hidup
Call hidup
Call mati
End Select
End Sub
mati
Next i
End Sub
Private Sub kosong1()
For i = 1 To 7 untuk nilai i sama
dengan 1 sampai 7, dipanggil sub
program mati
Call mati
Next i
End Sub
xii
data
segment
g
11101110b
11101101b
11101011b
11100111b
11001111b
10101111b
01101111b
data
segment
g
11101110b
11101101b
11101011b
11100111b
11001111b
10101111b
01101111b
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
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
Call konversiratusribuan
Call PortOut(&H378, data1)
Call pulse
End Sub
Private Sub pulse()
data1 = data1 Or 16
Call PortOut(&H378, data1)
End Sub
Private Sub konversisatuan()
Select Case satuan
Case 0
data1 = 64
Case 1
data1 = 236
Case 2
data1 = 10
Case 3
data1 = 40
Case 4
data1 = 164
Case 5
data1 = 33
Case 6
data1 = 1
Case 7
data1 = 232
Case 8
data1 = 0
Case 9
data1 = 32
End Select
End Sub
Private Sub konversipuluhan()
Select Case puluhan
Case 0
data1 = 64
Case 1
data1 = 236
Case 2
data1 = 10
Case 3
data1 = 40
Case 4
data1 = 164
Case 5
data1 = 33
ii
Call pulse
Call konversipuluhribuan
Call PortOut(&H378, data1) nilai pada
variable data 1 dikirimkan ke port 378H
Call pulse
Case 6
data1 = 1
Case 7
data1 = 232
Case 8
data1 = 0
Case 9
data1 = 32
End Select
End Sub
i
Case 6
data1 = 1
Case 7
data1 = 232
Case 8
data1 = 0
Case 9
data1 = 32
End Select
End Sub
Case 5
data1 = 33
Case 6
data1 = 1
Case 7
data1 = 232
Case 8
data1 = 0
Case 9
data1 = 32
End Select
End Sub
Private Sub Test_Click()
For i = 1 To 6
Call 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 i
End Sub
Private Sub Reset_Click()
For i = 1 To 6
Call 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 i
End Sub
Private Sub Exit_Click()
Unload Me keluar dari
program
End Sub
Case 2
data1 = 10
Case 3
data1 = 40
Case 4
data1 = 164
Case 5
data1 = 33
Case 2
data1 = 10
Case 3
data1 = 40
Case 4
data1 = 164
iii
V.
iv
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
MIKROKONTROLER 2012. Padang; Teknik Elektro Universitas Andalas
http://www.toko-elektronika.com/tutorial/paralel.html
DAN
http://mekatronikausd.blogspot.com/2011/04/interface-port-paralel-db-25.html