Modul Praktikum Interfacing

49
MODUL I PORT PRINTER / PORT PARALEL (2 x pertemuan / pertemuan 1,2) A. TUJUAN : Praktikum ini bertujuan agar 1. mengetahui keberadaan port paralel 2. mengetahui kegunaan port paralel 3. dapat melakukan testing terhadap port paralel B. DASAR TEORI 1. Port Paralel Standar Port Paralel Standar atau lebih dikenal dengan nama Standard Parallel Port atau Port Printer adalah merupakan suatu protokol antarmuka paralel standar yang dikeluarkan oleh IBM. Protokol SPP ini merupakan protokol paralel port yang paling sederhana. Nama lain dari port printer adalah port Paralel karena memang dirancang untuk melayani pencetak paralel. Nama register, nama sinyal dan sifat sinyal disesuaikan dengan pencetak atau printer. Akibatnya ada satu hal yang janggal. Data port yang paralel 8 bit seharusnya mampu bekerja dua arah (mengirim dan menerima sinyal), dibuat permanen satu arah saja. Data port hanya untuk mengirim data ke pencetak. Tabel berikut ini menunjukkan nomor dan nama sinyal pada Port Paralel (LPT). Nomor Pin DB-25 Female Nama Sinyal 2 3 4 5 6 7 8 9 DP-0 DP-1 DP-2 DP-3 DP-4 DP-5 DP-6 DP-7 Data bit 0 Data bit 1 Data bit 2 Data bit 3 Data bit 4 Data bit 5 Data bit 6 Data bit 7 1 14 16 17 PC-0 PC-1 PC-2 PC-3 - strobe - autofeed init - select in 15 13 12 PS-3 PS-4 PS-5 error select paper end Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 1

Transcript of Modul Praktikum Interfacing

Page 1: Modul Praktikum Interfacing

MODUL IPORT PRINTER / PORT PARALEL(2 x pertemuan / pertemuan 1,2)

A. TUJUAN : Praktikum ini bertujuan agar1. mengetahui keberadaan port paralel2. mengetahui kegunaan port paralel3. dapat melakukan testing terhadap port paralel

B. DASAR TEORI1. Port Paralel Standar

Port Paralel Standar atau lebih dikenal dengan nama Standard Parallel Port atau Port Printer adalah merupakan suatu protokol antarmuka paralel standar yang dikeluarkan oleh IBM. Protokol SPP ini merupakan protokol paralel port yang paling sederhana.

Nama lain dari port printer adalah port Paralel karena memang dirancang untuk melayani pencetak paralel. Nama register, nama sinyal dan sifat sinyal disesuaikan dengan pencetak atau printer. Akibatnya ada satu hal yang janggal. Data port yang paralel 8 bit seharusnya mampu bekerja dua arah (mengirim dan menerima sinyal), dibuat permanen satu arah saja. Data port hanya untuk mengirim data ke pencetak.

Tabel berikut ini menunjukkan nomor dan nama sinyal pada Port Paralel (LPT).Nomor Pin

DB-25 FemaleNama Sinyal

23456789

DP-0DP-1DP-2DP-3DP-4DP-5DP-6DP-7

Data bit 0Data bit 1Data bit 2Data bit 3Data bit 4Data bit 5Data bit 6Data bit 7

1141617

PC-0PC-1PC-2PC-3

- strobe- autofeedinit- select in

1513121011

PS-3PS-4PS-5PS-6PS-7

errorselectpaper endacknowledge- busy

18 .. 25 GroundSuatu komputer dapat dipasang beberapa buah port printer pada saat yang

bersamaan. Untuk membedakan satu port printer dengan port printer yang lain maka diberi nama dengan istilah LPT 0, LPT 1, dan LPT 2. Pada komputer, port printer dipasang dengan suatu konfigurasi penghubung/ konektor DB 25 Betina (Female).

Tabel nomor dan nama register paralel portLPT 0 LPT 1 LPT 2 Sifat Nama register

$3BC $378 $278 R/W Data Port (DP), 8 bit

$3BE $37A $27A R/W Printer Control (PC), 5/4 bit

$3BD $379 $279 R Printer Status (PS), 5 bitKeterangan : R = read, dapat dibaca; W = write, dapat ditulis

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 1

Page 2: Modul Praktikum Interfacing

Pada mulanya sifat R/W dari Port Data hanya bagi dirinya sendiri, tidak boleh dihubungkan dengan keluaran lain. Port Data didukung oleh IC 74374 sehingga mampu mengeluarkan arus 2,6 mA pada logika 1 dan 24 mA pada logika 0.

Printer Control merupakan register yang berfungsi sebagai port keluaran digunakan untuk mengendalikan pencetak atau printer. Hanya empat dari lima bit yang mempunyai keluaran. Bit ke-5 hanya untuk dirinya sendiri, tidak keluar ke soket. Keluaran mempunyai sifat pada logika 0 dapat menanggung beban sebesar 7 mA dan pada logika 1 dapat menanggung beban 0,6 mA.

Tabel nama dan jenis keluaran register kontrol (Printer Control).PC : Printer Control, arah keluar dari komputer.

No No. Bit Nama / Fungsi Sifat

1 0 Strobe Membalik

2 1 Autofeed Membalik

3 2 Init Normal

4 3 Select In Membalik

5 4 IRQ 7 Enable Normal

6 5,6,7 Tidak dipakai -

Bit 0,1,3 bersifat membalik (invert), artinya jika register PC sedang berlogika 1, maka kaki soket (D25) yang bersangkutan berlogika 0, demikian pula sebaliknya jika register PC sedang berlogika 0, maka kaki soket (D25) yang bersangkutan berlogika 1.

Logika 1 pada bit 4 digunakan untuk mengenable IRQ 7. Sela Perangkat Keras IRQ 7 berasal dari PS bit 6 (Ack). Semua LPT memakai sela yaitu IRQ 7. Perubahan logika 1 ke 0 pada Ack membangkitkan sela perangkat keras IRQ 7.

Printer Status merupakan regsiter yang berfungsi sebagai port masukan, yang digunakan untuk membaca status pada printer yang bersangkutan.

Tabel nama dan jenis register Status (Printer Status).PS : Printer Status, arah masuk ke komputer.

No No. Bit Nama / Fungsi Sifat

1 0,1,2 Tidak dipakai -

2 3 Error Normal

3 4 Select Normal

4 5 Paper End Normal

5 6 Acknowledge Normal

6 7 Busy Membalik

Untuk mendeteksi keberadaan port paralel atau port printer dapat dilakukan pada BIOS SETUP atau dengan melakukan pengecekan pada alamat low memory yang terdapat pada komputer. Dengan menggunakan program bawaan DOS (perintah eksternal DEBUG), dapat dilakukan pengecekan keberadaan port tersebut.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 2

Page 3: Modul Praktikum Interfacing

Caranya :

Masuklah ke mode DOS (jika sedeang menjalankan windows), maka akan muncul :Microsoft(R) Windows 98 (C)Copyright Microsoft Corp 1981-1998.

C:\>DEBUG-D 0:4080000:0400 78 03 00 00 00 00 00 00 x.......0000:0410 23 D4 00 80 02 80 00 60-00 00 1E 00 1E 00 42 30 #......`......B00000:0420 55 16 47 22 0D 1C 44 20-30 0B 08 0E 20 39 30 0B U.G"..D 0... 90.0000:0430 3A 27 34 05 30 0B 30 0B-08 0E 38 09 0D 1C 00 80 :'4.0.0...8.....0000:0440 00 00 C0 00 00 00 00 00-00 03 50 00 00 10 00 00 ..........P.....0000:0450 00 0E 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................0000:0460 0E 0D 00 D4 03 29 20 03-00 00 C0 FF 03 D8 0B 00 .....) .........0000:0470 00 00 00 00 00 01 00 00-14 14 14 3C 01 01 01 01 ...........<....0000:0480 1E 00 3E 00 18 10 00 60 ..>....`-

Pada tampilan tersebut memberikan informasi, bahwa dua byte pertama yaitu pada alamat 0000:0408 dan 0000:0409 digunakan untuk alamat LPT1, dua byte berikutnya (0000:040A dan 0000:040B) untuk LPT2, dua byte berikutnya (0000:040C dan 0000:040D) untuk LPT3 dan dua byte berikutnya (0000:040E dan 0000:040F) untuk LPT4. Pembacaan dimulai dengan bagian LSB kemudian bagian MSB. Sebagai contoh LPT1 pada alamat 0000:0408 dengan data 38h dan alamat 0000:0409 dengan data 03h, maka jika digabungkan menjadi 0378h, hal ini berarti bahwa LPT1 menempati alamat 378h. Jika datanya berisi 00h maka LPT yang bersangkutan tidak diketemukan (dan dianggap tidak ada).

2. Pengembangan Port ParalelPada perkembangan lebih lanjut, dikembangkan suatu teknologi yang dapat

memungkinkan jalur Data 8-bit yang semula hanya bersifat satu arah menjadi dua arah (bidirrectional). Teknologi ini menggunakan protokol EPP (Enhanced Parallel Port). Protokol EPP yang dikembangkan oleh Intel, Xircom dan Zenith Data System ini dimaksudkan untuk meningkatkan kemampuan paralel port dalam bidang transfer data, yang tentu saja masih kompatibel dengan standar port paralel. Protokol ini mampu diimplementasikan pada chipset prosesor Intel 386 yaitu IC 82360 I/O Chip. Protokol ini ditetapkan oleh komite IEEE 1284. Protokol EPP menawarkan berbagai keuntungan dalam pembuatan peranti paralel port dan dengan cepat menjadi pilihan dalam metode transfer data.

Protokol EPP menyediakan empat tipe siklus transfer data, yaitu :1. Siklus Penulisan Data (Data Write Cycle)2. Siklus Pembacaan Data (Data Read Cycle)3. Siklus Penulisan Alamat (Address Write Cycle)4. Siklus Pembacaan Alamat (Address Read Cycle)

Siklus Data dimaksudkan untuk digunakan pada transfer data antara host dengan dengan peranti luar. Siklus Alamat dimungkinkan untuk melewatkan alamat, kanal, perintah dan kontrol informasi lainnya. Tabel 2.4. merupakan perbedaan antara sinyal pada protokol SPP dan protokol EPP.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 3

Page 4: Modul Praktikum Interfacing

Tabel perbedaan sinyal SPP dan EPP

SPP Sinyal EPP Sinyal Arah KeterangannSTROBE nWRITE Out Aktif rendah. Logika Tinggi dipakai untuk

siklus Baca

nAUTOFEED nDATASTBOut Aktif Rendah. Mengindikasikan operasi

Data_Read atau Data_Write yang dikerjakan.

nSELECTIN nADDRSTBOut Aktif Rendah. Mengindikasikan operasi

Address_Read atau Address_Write yang dikerjakan

nINIT nRESET Out Aktif Rendah. Untuk mereset Peranti.

nACK nINTRIn Interupsi Peranti. Dipakai untuk

membangkitkan sinyal interupsi dari peranti ke host.

BUSY nWAIT

In Sinyal Jabat Tangan. Jika rendah mengindikasikan awal siklus (mengktifkan strobe) dan jika rendah untuk mengindikasikan akhir siklus (non aktifkan strobe).

D[8:1] AD[8:1] 2 arah Jalur dua arah untuk alamat / data

PE User defined In Dapat dipakai untuk keperluan lain

SELECT User defined In Dapat dipakai untuk keperluan lain

nERROR User defined In Dapat dipakai untuk keperluan lain

Pada tabel tersebut, dapat dilihat bahwa untuk mode EPP, jalur data bersifat dua arah (bidirrectional). Sehingga pada suatu saat dapat digunakan sebagai Port keluaran untuk mengirimkan data atau alamat, dan pada saat yang lain dapat dipakai untuk membaca data atau alamat yang berasal dari peranti di luar komputer. Dalam hal ini aplikasi tersebut hanya dipakai untuk membaca data yang berasal dari peranti luar di luar komputer.

C. PENGAMATANKonfigurasi1. Amati keberadaan port paralel (DB 25 Female).2. Bootinglah PC.3. Amati dan catat alamat LPT1 dan LPT2

Test1. Tunggu sampai Prompt A> muncul.

2. Ketik perintah berikut:Debug <enter>

3. Tunggu sampai menu debug muncul, lalu ketikan perintah berikut.

-d 40:8 <enter>

4. Catatlah data yang tertampil pada alamat 0040:0000 tersebut.0040:008 ................................... XX XX XX XX XX XX XX XX

2-byte1 2-byte2 2-byte3 2-byte4 LPT1 LPT2 LPT3 LPT4

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 4

Page 5: Modul Praktikum Interfacing

D. PERCOBAAN

Program dibuat dengan bahasa pemrograman PASCAL.1. Buatlah program untuk mendeteksi keberadaan port printer (LPT1 sampai LPT4)

dengan mengamati low address memory 0408H.2. Buatlah program untuk mengeluarkan suatu data ke penampil LED biner yang

dihubungkan dengan jalur data port printer.3. Buatlah program untuk mengeluarkan suatu data 4 bit ke port Kontrol. Amati jalur-jalur

yang bersifat inverting (membalik).4. a. Buatlah program untuk membaca 5-bit port Status. Amati jalur-jalur yang bersifat inverting (membalik). b. Ubahlah program no.4 agar pembacaan dilakukan per-bit (PS3, PS4, PS5, PS6, atau PS7).5. a. Buatlah program untuk mengeluarkan suatu data ke penampil 7-segmen yang dihubungkan melalui jalur data port printer. b. Buatlah program untuk mengeluarkan 00 sampai dengan FF ke penampil 7-segmen yang dihubungkan melalui jalur data port printer. c. Buatlah program untuk mengeluarkan data BCD 00 sampai dengan 99 ke penampil 7-segmen yang dihubungkan melalui jalur data port printer.

Gambar rangkaian hubungan penampil 7-segmen dengan port printer.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 5

a

c

P D 2

.

a

b

P D 1

P D 3

d

P D 6

b

U 5

7 4 L S 4 7

7126453

1 31 21 11 091 51 4

1248B I / R B OR B IL T

ABCDEFG

U 4

7 4 L S 4 7

7126453

1 31 21 11 091 51 4

1248B I / R B OR B IL T

ABCDEFG

d

.co m m o n

ef

e

V C C

g

P D 7

g

P D 4

c

Ja lu r d ata p ort p rin ter

P D 5P D 0

co m m o n

f

Page 6: Modul Praktikum Interfacing

6. Buatlah program untuk membaca data dari sebuah saklar biner 8-bit yang dihubungkan melalui jalur data port printer, pembacaan dilakukan secara terus menerus dan hasilnya ditampilkan di layar monitor. Sebelum dilakukan pembacaan port Kontrol pada bit-5 (PC-5) di set menjadi ‘1’.

Gambar rangkaian hubungan saklar biner 8-bit dengan port printer

7. Buatlah program untuk membaca data dari sebuah tombol biner 8-bit yang dihubungkan melalui port printer, pembacaan dilakukan secara terus menerus dan hasilnya ditampilkan di layar monitor. Sebelum dilakukan pembacaan port Kontrol pada bit-5 (PC-5) di set menjadi ‘1’.

Gambar rangkaian hubungan saklar tombol 8-bit dengan port printer

8. a. Buatlah program dengan dengan interupsi, jika terjadi interupsi maka akan mengerjakan perintah untuk mengeluarka data 00 – 99 ke penampil 7-segmen yang dihubungkan melalui port printer.

b. Buatlah program dengan dengan interupsi, jika terjadi interupsi maka akan menambah pencacah dengan nilai 1 dan menampilkan ke penampil 7-segmen yang dihubungkan melalui port printer.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 6

21 3

21 3

R 2 5 6 0

V C C

R 6 5 6 0

P D 1

P D 3

P D 0

21 3

P D 2

21 3

R 4 5 6 0

21 3

21 3

21 3

21 3

P D 7R 8 5 6 0

R 1 5 6 0

R 7 5 6 0P D 6

P D 5

R 5 5 6 0P D 4

R 3 5 6 0

P D 2

P D 7

P D 3

P D 5

V C C

P D 0

P D 1

P D 6

P D 4

Page 7: Modul Praktikum Interfacing

LAMPIRAN PROGRAM

1. Program untuk mendeteksi keberadaan port printer (LPT1) a). Hasil tampilan dalam bentuk desimal

Program Deteksi;Uses CRT;

Var BASE : Word Absolute $0040:$0008;

BEGINIf BASE <> 0 Then Writeln(‘Alamat dasar port Printer : ’, BASE);Readln;END.

b). Hasil tampilan dalam bentuk desimal

Program Deteksi2;Uses CRT;Type Thex = array[1..4] of Char;

Var BASE : Word Absolute $0040:$0008; Hasil : Thex;

Procedure WordToHex(w : word; Var Hasil : Thex);Const HexChars : array[1..$F] of Char

= ‘0123456789ABCDEF’;Begin Hasil[1] := HexChars[Hi(w) shr 4]; Hasil[2] := HexChars[Hi(w) and $F]; Hasil[3] := HexChars[Lo(w) shr 4]; Hasil[4] := HexChars[Lo(w) and $F];End;

BEGINIf BASE <> 0 Then Begin Writeln(‘Alamat dasar port Printer : ’, BASE); WordToHex(); Writeln(‘Alamat dasar port Printer dalam Hexa : ’, BASE); End;

Readln;END.

2. Program untuk mengeluarkan data ke penampil LED biner yang dihubungkan melalui jalur data port printer

a). Hasil tampilan tetapProgram Tampil;Uses CRT;

Var data : byte;BEGIN Data := 10; Port[$378] := data;END.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 7

Page 8: Modul Praktikum Interfacing

b). Hasil tampilan berurutanProgram TampilUrut;Uses CRT;

Var data : byte;

BEGIN For data := 0 to 255 do Begin Port[$378] := data; Delay(500); End;

END.

3. Program untuk mengeluarkan data ke penampil LED biner yang dihubungkan melalui jalur kontrol port printer

a). Data yang dikeluarkan 0 semua Program Tampil; Uses CRT;

Var data : byte; BEGIN Data := 0; Port[$37A] := data; END.

b). Data yang dikeluarkan 1 semua Program Tampil; Uses CRT;

Var data : byte; BEGIN Data := $F; Port[$37A] := data; END.

c). Data yang dikeluarkan 4 agar LED menyala semua Program Tampil; Uses CRT;

Var data : byte; BEGIN Data := $4; Port[$37A] := data; END.

d). Data yang dikeluarkan $B agar LED padam semua Program Tampil; Uses CRT;

Var data : byte; BEGIN Data := $B; Port[$37A] := data; END.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 8

Page 9: Modul Praktikum Interfacing

4. Program untuk membaca Status pada port printer Port Data (D0) digunakan untuk memberikan data bit ke bit-status PS yang akan diamati

a). Data dikeluarkan dari D0 Program Uji_Status; Uses CRT;

Var i, Data_Baca : byte; BEGIN Data := 0; Data_Baca := Port[$379]; Writeln(‘Data dikirimkan :’,i); Writeln(‘Data diterima :’,Data_Baca); Readln; END.

b). Data dikeluarkan dari D0, data_baca bernilai 0 atau 1 untuk PS yg bersangkutan

Program Uji_Status; Uses CRT; Var i, Data_Baca : byte; BEGIN Data := 0; Data_Baca := Port[$379] And 8 Shr 3; Writeln(‘Data dikirimkan :’,i); Writeln(‘Data diterima :’,Data_Baca); Readln;END.

5. Program untuk menampilkan suatu data pada penampil 7-segmen yang dihubungkan melalui jalur data port printer

a). Data dikeluarkan tertentu Program Uji_Segmen; Uses CRT;

BEGIN Data := $85; Port[$378] := Data;END.

b). Data dikeluarkan 00 - $FFProgram Uji_Segmen;Uses CRT;Var data : Byte;BEGIN For Data := 0 to $FF Do Begin Port[$378] := Data; Delay(500); End;END.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 9

Page 10: Modul Praktikum Interfacing

c). Data dikeluarkan data BCD (00 – 99)Program Uji_Segmen;Uses CRT;Var i,j : Byte;BEGIN j := 0; For i := 0 to 99 Do Begin

Asm Mov al, j Add al, 0 Daa Mov j, al End; Port[$378] := j; Delay(500); Inc(j); End;END.

6. Program untuk pembacaan Saklar Biner 8-bitProgram Saklar_Biner;Uses CRT;

Var Data_Baca : Byte;

BEGIN Clrscr; Port[$37A] := Port[$37A] Or $20; Repeat Data_Baca := Port[$378]; GotoXy(1,1); Writeln(Data_Baca:3); Until Keypressed; Port[$37A] := Port[$37A] And $DF;END.

7. Program untuk pembacaan Tombol Biner 8-bitProgram Saklar_Biner;Uses CRT;

Var Data_Baca : Byte;

BEGIN Clrscr; Port[$37A] := Port[$37A] Or $20; Repeat Data_Baca := Port[$378]; GotoXy(1,1); Writeln(Data_Baca:3); Until Keypressed; Port[$37A] := Port[$37A] And $DF;END.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 10

Page 11: Modul Praktikum Interfacing

8.a. Program tampilan 7-segmen dengan Interupsi (tampilan urut)Program Interupsi_LPT;USES CRT, DOS;Var Vektor_LPT_Lama : Pointer;Const STI = $FB; IMR = $21; OCW = $20; IRQ7= $F;

{$F+,S-,W-}Procedure Tampil; Interrupt; {Program Pelayanan Interupsi}Var i,j : Byte;Begin INLINE(STI); {Boleh ada Interupsi Lain} Port[$37A] := Port[$37A] And $DF; For i := 0 to 9 Do For j := 0 to 9 Do Begin Port[$378] := i*16+j; Delay(10); End; Port[OCW] := $20; {Tanda End of Interrupt utk 8259}End;{$F-,S+}

BEGIN Clrscr; GetIntVec(IRQ7,Vektor_LPT_Lama); {Menyimpan Vektor Interupsi Lama}

SetIntVec(IRQ7,@Tampil); {Mengalihkan Interupsi ke Proc Int Tampil} Port[$37A] := Port[$37A] Or $10; {LPT Enable Interrupt} Port[IMR] := Port[IMR] And $7F; {Membuka IRQ7 pada IC 8259}

Writeln('Mode pengalihan Interupsi LPT'); Write('Tekan sembarang tombol Untul mengakhiri....!'); Repeat Until Keypressed;

Port[$37A] := Port[$37A] And $EF; {LPT Enable Interrupt} Port[IMR] := Port[IMR] Or $80; {Menutup IRQ7 pada IC 8259} SetIntVec(IRQ7,Vektor_LPT_Lama); {Mengembalikan Vektor Interupsi Lama}END.

8.b. Program tampilan 7-segmen dengan Interupsi (penambahan 1 /interupsi)

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 11

Page 12: Modul Praktikum Interfacing

Program Interupsi_LPT;USES CRT, DOS;Var Vektor_LPT_Lama, Vektor_LPT_Baru : Pointer; Nilai_Tampilan : Byte;Const STI = $FB; IMR = $21; OCW = $20; IRQ7= $F;

{$F+,S-,W-}Procedure Tambah_Tampil; Interrupt;Var i,j : Byte;Begin INLINE(STI); {Boleh ada Interupsi Lain} asm mov al, Nilai_Tampilan add al, 1 daa mov Nilai_Tampilan, al end; Port[$378] := Nilai_Tampilan; Delay(700); Port[OCW] := $20; {Tanda End of Interrupt utk 8259}End;{$F-,S+}

BEGIN Clrscr; Nilai_Tampilan := 0; Port[$378] := Nilai_Tampilan; Port[$37A] := Port[$37A] And $DF; {Arah LPT Data adalah keluar/output} GetIntVec(IRQ7,Vektor_LPT_Lama); {Menyimpan Vektor Interupsi Lama}

SetIntVec(IRQ7,@Tambah_Tampil); {Mengalihkan Interupsi ke Proc Int Tampil} Port[$37A] := Port[$37A] Or $10; {LPT Enable Interrupt} Port[IMR] := Port[IMR] And $7F; {Membuka IRQ7 pada IC 8259}

Writeln('Mode pengalihan Interupsi LPT'); Write('Tekan sembarang tombol Untul mengakhiri....!'); Repeat Until Keypressed;

Port[$37A] := Port[$37A] And $EF; {LPT Enable Interrupt} Port[IMR] := Port[IMR] Or $80; {Menutup IRQ7 pada IC 8259} SetIntVec(IRQ7,Vektor_LPT_Lama); {Mengembalikan Vektor Interupsi Lama} Writeln; Write('Nilai Akhir Tampilan : ',Nilai_Tampilan); Delay(1000);

END.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 12

Page 13: Modul Praktikum Interfacing

MODUL IIPRAKTIKUM INTERFACING PERIFERAL KOMPUTER

PENGENALAN PPI 8255(2 x pertemuan / pertemuan 3,4)

A. TUJUAN : Praktikum ini bertujuan agar1. mengetahui kegunaan PPI 82552. dapat melakukan inisialisasi PPI 82553. dapat melakukan testing terhadap PPI 8255

B. DASAR TEORI1. Programmable Peripheral Interface (PPI) 8255

Programmable Peripheral Interface (PPI) adalah suatu piranti antarmuka dengan kegunaan umum (general purpose) yang dapat diprogram yang didesain untuk digunakan bersama-sama dengan mikroprosesor Intel. IC PPI 8255 dibuat dengan kemasan DIP 40 pin atau PLCC 44 pin. Berikut ini adalah diagram blok PPI 8255.

PPI 8255 mempunyai 24 buah jalur I/O yang dapat diprogram secara mandiri dalam dua grup (satu grup terdiri atas 12 buah jalur I/O) dengan tiga mode, yaitu mode 0, mode 1, dan mode 2. Konfigurasi fungsional dari masing-masing I/O pada PPI 8255 diprogram oleh sistem perangkat lunak.

Berikut ini adalah fungsi dari masing-masing pin pada PPI 8255 :

Data Bus BufferData bus buffer 8-bit dua arah bersifat tiga-keadaan (3-state) digunakan untuk

antarmuka 8255 dengan sistem bus data mikroprosesor. Data dikeluarkan atau diterima oleh buffer selama menjalankan instruksi input/output yang dilakukan CPU. Control Word atau byte kendali dan informasi status juga dilewatkan melalui data bus buffer.

Read/Write dan Control Logic

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 13

Page 14: Modul Praktikum Interfacing

Fungsi dari blok ini adalah untuk mengatur seluruh aliran internal atau eksternal dari Data dan Control atau Status word.

Chip Select. Nalar “rendah” pada pin ini akan memperbolehkan komunikasi antara 8255 dengan CPU.

Read. Nalar “rendah” pada pin ini akan memperbolehkan 8255 mengirimkan data atau informasi status ke CPU. Hal ini berarti CPU membaca dari 8255.

Write. Nalar “rendah” pada pin ini akan memperbolehkan CPU menuliskan data atau control word ke 8255.

(A0 dan A1)Port select 0 dan port select 1. Sinyal ini bersama-sama dengan sinyal dan , mengendalikan satu dari tiga buah port 8255 atau Register Control Word.

Biasanya jalur-jalur ini disambungkan dengan bagian LSB dari bus alamat (A0 dan A1).

Operasi dasar 8255

A1 A0 Operasi Input (Read)

0 0 0 1 0 Port A Bus Data

0 1 0 1 0 Port B Bus Data

1 0 0 1 0 Port C Bus Data

Operasi Output (Write)

0 0 1 0 0 Data Bus Port A

0 1 1 0 0 Data Bus Port B

1 0 1 0 0 Data Bus Port C

1 1 1 0 0 Data Bus Control

Disable Fungsi

X X X X 1 Data Bus 3-State

1 1 0 1 0 Kondisi Ilegal

X X 1 1 0 Data Bus 3-State

RESETReset. Nalar “tinggi” pada pini ini akan menghapus register control dan semua port

(A, B, C) diset dalam mode input.

Grup A dan grup BJalur I/O PPI 8255 yang berjumlah 24-pin dibagi menjadi dua buah grup yang diberi

nama grup A dan grup B. Grup A terdiri atas port A yaitu PA0 – PA7 dan Port C bagian atas (upper) yaitu PC4 – PC7. Grup B terdiri atas port B yaitu PB0 – PB7 dan Port C bagian bawah (lower) yaitu PC0 – PC3.

Port A, Port B, Port CPPI 8255 mempunyai tiga buah port yaitu port A, port B dan port C, yang semuanya

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 14

Page 15: Modul Praktikum Interfacing

dapat diprogram sesuai dengan kegunaannya masing-masing.Port A adalah sebuah 8-bit data output latch/buffer dan 8-bit data input latch.Port B adalah sebuah 8-bit data input/output latch/buffer dan 8-bit data input buffer.Port C adalah sebuah 8-bit data output latch/buffer dan 8-bit data input buffer.

Mode OperasiTerdapat tiga mode dasar pengoperasian port-port 8255 yang dapat dipilih oleh perangkat lunak.Mode 0 : Mode Input/Output DasarMode 1 : Mode Input/Output dengan StobeMode 2 : Mode Bus Dua Arah

Berikut ini adalah Control Word (CW) atau byte kendali yang digunakan untuk inisialisasi/menentukan arah input/output atau mode operasi yang dikirimkan ke register control.

2. Pemrograman dengan PPI 8255Pada saat akan digunakan, maka PPI 8255 harus diinisialisasi terlebih dahulu sesuai

dengan keperluannya, baik untuk arah maupun mode input/outputnya. Untuk dapat menentukan arah dan mode I/O, maka harus diperhatikan bit-bit kendali (control word atau byte kendali) yang harus dikirimkan ke register kendali (control word register).

Contoh :

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 15

Page 16: Modul Praktikum Interfacing

a. Inisialisasi agar port A disambung dengan penampil 7-segmen, port B dihubungkan dengan saklar biner 8-bit, dan port C tidak digunakan, grup A dan B dibuat mode 0.

Byte kendali untuk inisialisasinya adalah :

Grup A Grup BD7 D6 D5 D4 D3 D2 D1 D01 M1 M0 PA PCU M0 PB PCL

1 0 0 0 x 0 1 x

Maka data yang dibentuk dari konfigurasi diatas adalah 1000x01x. Dengan mengabaikan nilai x, maka dapat diisi dengan data 0 atau 1, sehingga dapat dituliskan dengan 100000102 (82H) atau 100010112 (8BH).

b. Inisialisasi agar port A disambung dengan saklar biner 8-bit, port B dihubungkan dengan penampil 7-segmen, dan port C(upper) dengan kendali tombol matrik 4-bit, port C(lower) dengan status tombol matrik 4-bit tombol tidak digunakan, grup A dan B dibuat mode 0.

Byte kendali untuk inisialisasinya adalah :

Grup A Grup BD7 D6 D5 D4 D3 D2 D1 D01 M1 M0 PA PCU M0 PB PCL

1 0 0 1 0 0 0 1

Maka data yang dibentuk dari konfigurasi diatas adalah 100100012 (91H).

3. PPI 8255 tersambung dengan Port Printer yang terpasang pada PC.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 16

Page 17: Modul Praktikum Interfacing

PPI 8255 dapat dihubungkan dengan komputer melalui port Pinter. Gambar berikut adalah rangkaian PPI 8255 yang dihubungkan dengan port Printer.

Jalur data 8-bit pada port printer dapat digunakan untuk keluaran (mengirimkan data ke piranti luar) ataupun dapat digunakan untuk masukan (membaca data dari piranti luar). Namun karena jumlahnya yang terbatas maka digunakanlah PPI 8255 yang didalamnya terdapat tiga buah port 8-bit yang masing-masing dapat diprogram secara mandiri sebagai port keluaran ataupun sebagai port masukan.

Agar dapat digunakan, maka PPI 8255 harus diinisialisasi terlebih dahulu. Inisialisasi PPI sudah dibahas pada bagian sebelumnya. Dari gambar diatas terlihat hubungan antara PPI 8255 dengan port printer. Hubungan antara PPI 8255 dengan port printer seperti gambar tersebut dapat dilakukan dengan mode port printer standar (SPP=Standard Parellel Port) ataupun dengan mode perluasan (EPP=Enhanched Parallel Port).

4. Hubungan PPI 8255 dengan port printer mode SPPPPI 8255 dapat dihubungkan dengan port printer mode SPP. Jika dihubungkan dengan dengan port printer mode SPP, maka komponen yang digunakan adalah IC PPI 8255, IC Dekoder 74139, dan IC Latch 74374, sedangkan komponen yang lain tidak difungsikan. Berikut ini adalah gambar PPI 8255 jika dihubungkan dengan port printer mode SPP :

Jika dengan portprinter mode SPP, maka langkah-langkah inisialisasi, pengiriman data, pembacaan data dari atau ke PPI akan lebih panjang jika dibandingkan jika port printer dibuat pada mode EPP.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 17

U 2

7 4 L S 3 7 4

3478

1 31 41 71 8

11 1

25691 21 51 61 9

D 0D 1D 2D 3D 4D 5D 6D 7

O CC L K

Q 0Q 1Q 2Q 3Q 4Q 5Q 6Q 7

C 14 , 7 n F

P A 4

P S 7

U 4 A

7 4 1 2 3

1 4

1 5

123

1 3

4

C E XT

R E XT/ C E XT

ABC L R

Q

Q

P A 0

P B 5

V C C

D 0

P A 2

P A 5

P C 0

P A 7

P B 7

D 5

P C 3

R 41 0 k

C 24 , 7 n F

D 2

P C 1

D 7

Supriyadi

R 11 0 k

P B 3

P A 1

P C 1

U 3

7 4 1 3 9

1

23

4567

G 1 N

A 1B 1

Y 0 NY 1 NY 2 NY 3 N

P A 3

P C 4

P A 6

P C 3

P B 1

V C C

P B 4

P B 0

V C C

V C C

P B 6

P C 2

P C 6

P C 0

P C 5

1 1

PPI Lewat por t pr int e r mode E PPA

1 1Tu e s d a y , F e b ru a ry 2 5 , 2 0 0 3

Tit le

S ize D o c u m e n t N u m b e r R e v

D a t e : S h e e t o f

P B 2

R 2

1 0 k

P C 7

U 1

8 2 5 5

3 43 33 23 13 02 92 82 7

53 6

98

3 56

43214 03 93 83 7

1 81 92 02 12 22 32 42 5

1 41 51 61 71 31 21 11 0

D 0D 1D 2D 3D 4D 5D 6D 7

R DW RA 0A 1R E S E TC S

P A 0P A 1P A 2P A 3P A 4P A 5P A 6P A 7

P B 0P B 1P B 2P B 3P B 4P B 5P B 6P B 7

P C 0P C 1P C 2P C 3P C 4P C 5P C 6P C 7

V C C

U 5 B

7 4 0 9

4

56

V C C

U 5 A

7 4 0 9

1

23

D 4

D 6

U 4 B

7 4 1 2 3

6

7

91 01 1

5

1 2

C E XT

R E XT/ C E XT

ABC L R

Q

Q

R 31 0 k

D 3

D 1

P B 1

P C 1

D 3

P A 5

P A 7

D 0P A 1

P B 2P C 0

D 2

D 7

P B 4

P A 6

P B 0

P C 0

P C 2

P B 7

P C 1

P C 3

P B 5

U 3

7 4 1 3 9

1

23

4567

G 1 N

A 1B 1

Y 0 NY 1 NY 2 NY 3 N

P C 4

D 4

P C 6

P A 4

P C 5

D 5

P A 2

P B 3

P B 6

P C 7

D 6

U 1

8 2 5 5

3 43 33 23 13 02 92 82 7

53 6

98

3 56

43214 03 93 83 7

1 81 92 02 12 22 32 42 5

1 41 51 61 71 31 21 11 0

D 0D 1D 2D 3D 4D 5D 6D 7

R DW RA 0A 1R E S E TC S

P A 0P A 1P A 2P A 3P A 4P A 5P A 6P A 7

P B 0P B 1P B 2P B 3P B 4P B 5P B 6P B 7

P C 0P C 1P C 2P C 3P C 4P C 5P C 6P C 7

P A 0

P C 3

D 1

U 2

7 4 L S 3 7 4

3478

1 31 41 71 8

11 1

25691 21 51 61 9

D 0D 1D 2D 3D 4D 5D 6D 7

O CC L K

Q 0Q 1Q 2Q 3Q 4Q 5Q 6Q 7

P A 3

Page 18: Modul Praktikum Interfacing

Berikut ini adalah langkah-langkah untuk inisialisasi, pengiriman atau pembacaan data dari atau ke PPI 8255 jika dihubungkan dengan dengan port printer mode SPP.

a. inisialisasi PPI 8255- kirim data 3 ke jalur data (378h), untuk memilih alamat register kontrol (CW)- berikan pulsa ke port kontrol PC3, untuk memegang data ke IC 74374- kirim data inisialisasi PPI ke jalur data (378h)- keluarkan pulsa tulis ke PPI 8255

Berikut ini adalah contoh prosedurnya.Procedure Inisial_PPI(cw:byte);Begin Port[Base] := $3; {3 = Alamat register kendali} Port[Base+2] := Port[Base+2] Or 8; Delay(100); Port[Base+2] := Port[Base+2] And $F7;

Port[Base] := cw; Port[Base+2] := Port[Base+2] Or 3; Delay(100); Port[Base+2] := Port[Base+2] And $FD;End;

b. kirim data ke port PPI 8255- kirim data 0 untuk PA, 1 untuk PB, 2 untuk PC ke jalur data (378h)- berikan pulsa ke port kontrol PC3, untuk memegang data ke IC 74374- kirim data yang akan dikeluarkan ke port PPI lewat jalur data (378h)- berikan pulsa tulis ke PPI 8255

Berikut ini adalah contoh prosedurnya.Procedure Tulis(data_out:byte);Begin Port[Base] := $0; {0 = PA, 1 = PB, 2 = PC} Port[Base+2] := Port[Base+2] Or 8; Delay(50); Port[Base+2] := Port[Base+2] And $F7;

Port[Base] := data_out; Port[Base+2] := Port[Base+2] Or 3; Delay(50); Port[Base+2] := Port[Base+2] And $FD;End;

c. baca data pada port PPI 8255- kirim data 0 untuk PA, 1 untuk PB, 2 untuk PC ke jalur data (378h)- berikan pulsa ke port kontrol PC3, untuk memegang data ke IC 74374- kirim data untuk men-set PC5, agar jalur data menjadi port input- kirim data untuk meret PC0 dan men-set PC1 (aktifkan sinyal RD)- baca data lewat port data (378h)- kirim data untuk meret PC1 (non-aktifkan sinyal RD)

Berikut ini adalah contoh prosedurnya.Function Baca : byte;Begin Port[Base] := $0; {0 = PA, 1 = PB, 2 = PC} Port[Base+2] := Port[Base+2] Or 8; Delay(100); Port[Base+2] := Port[Base+2] And $F7;

Port[Base+2] := Port[Base+2] Or $20; {LPT Mode Input} Port[Base+2] := Port[Base+2] And $FE;

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 18

Page 19: Modul Praktikum Interfacing

Port[Base+2] := Port[Base+2] Or 2; Delay(1); Baca := Port[Base]; Port[Base+2] := Port[Base+2] And $FD; Port[Base+2] := Port[Base+2] And $DF; {LPT Mode Output}End;

5. Hubungan PPI 8255 dengan port printer mode EPPPPI 8255 dapat dihubungkan dengan port printer mode EPP. Jika dihubungkan dengan dengan port printer mode EPP, maka semua komponen akan difungsikan. Jika dengan port printer mode EPP, maka langkah-langkah inisialisasi, pengiriman data, pembacaan data dari atau ke PPI akan lebih singkat jika dibandingkan jika port printer dibuat pada mode SPP.Berikut ini adalah langkah-langkah untuk inisialisasi, pengiriman atau pembacaan data dari atau ke PPI 8255 jika dihubungkan dengan dengan port printer mode EPP.

a. inisialisasi PPI 8255- kirim data 4 ke port kontrol (379h), untuk nilai awal- kirim data 3 ke port printer base+3 (37Bh)- kirim data inisialisasi PPI ke port printer base+4 (37Ch)

Berikut ini adalah contoh perintahnya.Port[Base+3] := 3; {Alamat Register Kontrol}Port[Base+4] := $9B; {Data untuk control word (CW)}

b. kirim data ke port PPI 8255- kirim data 0 untuk PA, 1 untuk PB, 2 untuk PC ke jalur data (378h) ke port

printer base+3 (37Bh)- kirim data untuk mereset PC5, agar jalur data menjadi port output- kirim data yang akan dikeluarkan ke port PPI 8255 yang bersangkutan ke port

printer base + 4 (37Ch)

Berikut ini adalah contoh perintahnya.Port[Base+2] := 5; {aktifkan WR}Port[Base+3] := 0; {Port A}Port[Base+2] := Port[Base+2] And $DF;Port[Base+4] := $88; {Data yang akan dikeluarkan}

c. baca data dari port PPI 8255- kirim data 0 untuk PA, 1 untuk PB, 2 untuk PC ke jalur data (378h) ke port

printer base+3 (37Bh)- kirim data untuk men-set PC5, agar jalur data menjadi port input- baca data pada port PPI 8255 yang bersangkutan dan masukkan ke port printer

base+4 (37Ch)

Berikut ini adalah contoh perintahnya.Port[Base+2] := 4; {aktifkan RD}Port[Base+3] := 0; {Port A}Port[Base+2] := Port[Base+2] Or $20;Hasil_Baca := Port[Base+4];

C. PERCOBAAN 1. DENGAN PORT PRINTER MODE SPP

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 19

Page 20: Modul Praktikum Interfacing

a) Buatlah Program untuk menginisialisasi PPI 8255 yang terpasang pada port Printer dengan alamat awal $378, agar port A bekerja sebagai port output, port B bekerja sebagai port input, port C bekerja sebagai port output.

b) Buatlah program untuk menampilkan suatu data ke penampil 7-segmen yang dihubungkan ke port A.

c) Buatlah program untuk membaca saklar biner 8-bit yang dihubungkan ke port B (port B diinisialisasi sebagai port input).

2. DENGAN PORT PRINTER MODE EPPa) Buatlah Program untuk menginisialisasi PPI 8255 yang terpasang pada port Printer

dengan alamat awal $378, agar port A bekerja sebagai port output, port B bekerja sebagai port input, port C bekerja sebagai port output.

b) Buatlah program untuk menampilkan suatu data ke penampil 7-segmen yang dihubungkan ke port A.

c) Buatlah program untuk menampilkan data 00 sampai $FF ke penampil 7-segmen yang dihubungkan ke port A.

d) Buatlah program untuk menampilkan data BCD 00 sampai 99 ke penampil 7-segmen yang dihubungkan ke port A.

e) Buatlah program untuk membaca saklar biner 8-bit yang dihubungkan ke port B (port B diinisialisasi sebagai port input).

f) Buatlah program untuk membaca tombol biner 8-bit yang dihubungkan ke port B (port B diinisialisasi sebagai port input).

LAMPIRAN PROGRAM

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 20

Page 21: Modul Praktikum Interfacing

1.a. dan b. Program inisialisasi dan menampilkan suatu data ke penampil 7-segmen

Program SPP_Segmen;Uses CRT;Procedure InitPPI(cw:byte);Begin Port[Base] := $3; {3 = Alamat register kendali} Port[Base+2] := Port[Base+2] Or 8; Delay(100); Port[Base+2] := Port[Base+2] And $F7;

Port[Base] := cw; Port[Base+2] := Port[Base+2] Or 3; Delay(100); Port[Base+2] := Port[Base+2] And $FD;End;

BEGIN InitPPI($82); Port[Base] := $0; {0 = Port A } Port[Base+2] := Port[Base+2] Or 8; Delay(100); Port[Base+2] := Port[Base+2] And $F7;

Port[Base] := $57; {data yang akan ditampilkan} Port[Base+2] := Port[Base+2] Or 3; Delay(100); Port[Base+2] := Port[Base+2] And $FD;END.

1.c. Program inisialisasi dan membaca data saklar biner 8-bit lewat port BProgram SPP_Saklar;Uses CRT;Var hasil : Byte;

Procedure InitPPI(cw:byte);Begin Port[Base] := $3; {3 = Alamat register kendali} Port[Base+2] := Port[Base+2] Or 8; Delay(100); Port[Base+2] := Port[Base+2] And $F7; Port[Base] := cw; Port[Base+2] := Port[Base+2] Or 3; Delay(100); Port[Base+2] := Port[Base+2] And $FD;End;

BEGIN InitPPI($82); Port[Base] := $01; {01 = Port B } Port[Base+2] := Port[Base+2] Or 8; Delay(100); Port[Base+2] := Port[Base+2] And $F7; Port[Base+2] := Port[Base+2] Or $20; Port[Base+2] := Port[Base+2] And $FE; Port[Base+2] := Port[Base+2] Or $2; Delay(1); Hasil := Port[Base]; Port[Base+2] := Port[Base+2] And $FD; Port[Base+2] := Port[Base+2] And $DF; Writeln(‘Hasil pembacaan : ’,hasil); Readln;END.

2.a. dan b. Program inisialisasi dan menampilkan suatu data ke penampil 7-segmenProgram EPP_Segmen1;

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 21

Page 22: Modul Praktikum Interfacing

Uses CRT;Const BASE = $378;

Procedure InitPPI(cw:byte);Begin Port[BASE+3] := 3; Port[BASE+4] := cw;End;

BEGIN Port[BASE+2] := 5; InitPPI($82); Port[BASE+3] := 0; Port[BASE+4] := $57;END.

2.c. Program inisialisasi dan menampilkan data 0 s/d $FF ke penampil 7-segmenProgram EPP_Segmen2;Uses CRT;Const BASE = $378;Var i : Byte;

Procedure InitPPI(cw:byte);Begin Port[BASE+3] := 3; Port[BASE+4] := cw;End;

BEGIN Port[BASE+2] := 5; InitPPI($82); For i := 0 to $FF Do Begin Port[BASE+3] := 0; Port[BASE+4] := i; Delay(500); End;END.

2.d. Program inisialisasi dan menampilkan data BCD 0 s/d 99 ke penampil 7-segmenProgram EPP_Segmen3;Uses CRT;Const BASE = $378;Var i,j : Byte;

Procedure InitPPI(cw:byte);Begin Port[BASE+3] := 3; Port[BASE+4] := cw;End;

BEGIN Port[BASE+2] := 5; InitPPI($82); j := 0; For i := 0 to 99 Do Begin Asm Mov al, j Add al, 0 Daa Mov j, al End; Port[BASE+3] := 0; Port[BASE+4] := j; Delay(500); End;END.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 22

Page 23: Modul Praktikum Interfacing

MODUL IIIPRAKTIKUM INTERFACING PERIFERAL KOMPUTER

PENAMPIL 7-SEGMEN TERMULTIPLEK(1 x pertemuan / pertemuan 5)

A. TUJUAN : Praktikum ini bertujuan agar1. mengetahui kegunaan Penampil Termultiplek2. dapat menggunakan Penampil Termultiplek3. dapat menampilkan suatu data ke Penampil Termultiplek

B. DASAR TEORI

Penampil Termultiplek adalah suatu penampil 7-segmen dengan digit tertentu yang dikendalikan oleh sebuah dekoder biner 4-bit ke penampil 7-segmen. Pada suatu saat hanya ada satu digit saja yang aktif. Dengan mengaktifkan dan menampilkan digit tersebut secara bergantian dalam waktu yang diulang-ulang dengan jumlah tertentu, seolah-olah bilangan tersebut tampil secara bersamaan. Gambar berikut menunjukkan untai penampil 7-segmen termultiplek.

Jalur A,B,C,D adalah data biner 4-bit yang merupakan data yang akan ditampilkan ke penampil 7-segmen. Jalur digit 0, digit 1, digit 2, digit 3 merupakan jalur pemilih digit tempat data tersebut akan ditampilkan. Jalur digit 0 sampai digit 3 adalah aktif rendah.

C. PERCOBAAN Hubungan antara PPI dengan Penampil 7-segmen termultiplek.

Port A0 sampai dengan A3 dihubungkan dengan data A, B, C, D. Port B0 sampai dengan B3 dihubungkan dengan digit 0 sampai dengan digit 3.

1. Buatlah program untuk menampilkan suatu angka ke penampil 7-segmen termultiplek digit ke-0.

2. Buatlah program untuk menampilkan angka 4-digit ke penampil 7-segmen termultiplek.3. Buatlah program untuk menampilkan angka 0 sampai dengan 9999 ke penampil 7-

segmen termultiplek.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 23

D

D ig it 3Q 3P N P

Q 6P N P

L SB

e

V C C

cbB

.

A

..

Q 5P N P

D ig it 0

MSB

d

f

U 1

7 4 4 7

7126453

1 31 21 11 091 51 4

1248B I / R B OR B IL T

ABCDEFG

C

D ig it 2D ig it 1

.

a

g

Q 4P N P

Page 24: Modul Praktikum Interfacing

LAMPIRAN PROGRAM

1. Program untuk menampilkan suatu angka ke digit 0 penampil termultiplek.

Program Segmen_multiplek1;Uses CRT;

Const BASE = $378;Procedure InitPPI(cw:byte);Begin Port[Base+3] := 3; Port[Base+4] := cw;End;

BEGIN Port[Base+2] := 5; InitPPI($80); Port[Base+3] := 0; Port[Base+4] := 7; Port[Base+3] := 1; Port[Base+4] := $E;END.

2. Program untuk menampilkan suatu angka ke digit 0 penampil termultiplek.

Program Segmen_multiplek2;Uses CRT;Const Data : Array[1..4] Of byte

= (3,2,5,6);Digit : Array[1..4] Of byte

= ($E,$D,$B,$7);BASE = $378;

Var i : byte;

Procedure InitPPI(cw:byte);Begin Port[Base+3] := 3; Port[Base+4] := cw;End;

BEGIN Port[Base+2] := 5; InitPPI($80); Repeat For i := 1 to 4 do Begin Port[Base+3] := 0; Port[Base+4] := Data[i]; Port[Base+3] := 1; Port[Base+4] := Digit[i]; Delay(10); End; Until Keypressed;END.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 24

Page 25: Modul Praktikum Interfacing

3. Program untuk menampilkan angka 0 sampai 9999 ke penampil termultiplek.

Program Segmen_multiplek3;Uses CRT;Const Digit : Array[1..4] Of byte

= ($E,$D,$B,$7);BASE = $378;

Var i,j,k,l,n : byte; Data : Array[1..4] Of byte;

Procedure InitPPI(cw:byte);Begin Port[Base+3] := 3; Port[Base+4] := cw;End;

BEGIN Port[Base+2] := 5; InitPPI($80);

Repeat For i := 0 to 9 do Begin Data[4] := i; For j := 0 to 9 do Begin Data[3] := j; For k := 0 to 9 do Begin Data[2] := i; For l := 0 to 9 do Begin Data[1] := i; For n := 1 to 4 do Begin Port[Base+3] := 0; Port[Base+4] := Data[n]; Port[Base+3] := 1; Port[Base+4] := Digit[n]; Delay(5); End; End; End; End; End; Until Keypressed;END.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 25

Page 26: Modul Praktikum Interfacing

MODUL IVPRAKTIKUM INTERFACING PERIFERAL KOMPUTER

PENAMPIL LED MATRIK 8 X 8(1 x pertemuan / pertemuan 6)

A. TUJUAN : Praktikum ini bertujuan agar1. mengetahui kegunaan Penampil LED Matrik2. dapat menggunakan Penampil LED Matrik3. dapat menampilkan suatu data ke Penampil LED Matrik

B. DASAR TEORI

Gambar dibawah ini adalah untai LED matrik 8x8. D0 sampai dengan D7 adalah data yang akan ditampilkan, sedangkan SC0 sampai dengan SC2 digunakan untuk pemayar kolom (kolom 0 sampai dengan kolom 7). Jika diinginkan menampilkan huruf A, terlebih dahulu disiapkan data sebanyak 8 buah (kolom 0 sampai dengan kolom 7), kemudian data 8 buah tersebut ditampilkan secara bergantian dan setiap saat menampilkan data diikuti dengan mengirimkan data scan kolomnya.

C. PERCOBAAN Hubungan antara PPI dengan Penampil 7-segmen termultiplek.

Port A0 sampai dengan A8 dihubungkan dengan data D0 sampai dengan D7. Port B0 sampai dengan B3 dihubungkan dengan A, B, C, dan G.

1. Buatlah program untuk menampilkan suatu alfanumerik (misal ‘A’) ke penampil LED matrik 8x8.

2. Buatlah program untuk menampilkan ‘0’ sampai dengan ‘9’ ke penampil LED matrik 8x8.3. Buatlah program untuk menampilkan ‘A’ sampai dengan ‘Z’ ke penampil LED matrik 8x8.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 26

D 4

D 2

8 x NOT

Q 2

P N P

U 3 B3 4

Q 2

P N P

Q 2

P N P

U 1 C5 6

U 1 A1 2

V C C

D 5

R 1 4 1 0 0

R 1 3 1 0 0

R 1 4 k 7

R 6 4 k 7

R 1 6 1 0 0

U 1 F1 3 1 2

R 2 4 k 7

R 8 4 k 7

D 6

R 1 5 1 0 0

R 5 4 k 7

S C 1

U 1 B3 4

Q 2

P N P

Q 2

P N PD 0

R 4 4 k 7

U 1 D9 8

R 7 4 k 7

S C 2

Q 2

P N P

Q 2

P N P

R 1 0 1 0 0

D 3

Q 2

P N P

S C 0

D 1

R 1 1 1 0 0

D 7

U 1 E1 1 1 0

R 3 4 k 7

U 2 A1 2

R 1 2 1 0 0

R 9 1 0 0

E N A

7 4 1 3 8

ABC

G 1G 2 A NG 2 B N

Y 0 NY 1 NY 2 NY 3 NY 4 NY 5 NY 6 NY 7 N

Page 27: Modul Praktikum Interfacing

LAMPIRAN PROGRAM

1. Program untuk menampilkan suatu alfanumerik (misal ‘A’) ke penampil LED matrik 8x8.

Program Led_Matrik1;Uses CRT;Const DataHuruf : Array[1..8] Of Byte

= ($00,$00,$FE,$09,$09,$09,$FE,$00); {huruf ‘A’}BASE = $378;

Var i,n : Byte;Procedure InitPPI(cw:byte);Begin Port[Base+3] := 3; Port[Base+4] := cw;End;

BEGIN Port[Base+2] := 5; InitPPI($80); For n := 1 to 50 Do For i := 1 to 8 Do Begin Port[Base+3] := 0; Port[Base+4] := DataHuruf[i]; Port[Base+3] := 1; Port[Base+4] := (i-1) Or 8; Delay(1); Port[Base+3] := 1; Port[Base+4] := (i-1) And $7; End;END.

2. Program untuk menampilkan ‘0’ sampai dengan ‘9’ ke penampil LED matrik 8x8.(Catatan : Array DataHuruf diisi dengan pola karakter yang sesuai)

Program Led_Matrik2;Uses CRT;Const DataHuruf : Array[1..10,1..8] Of Byte

= (($00,$00,$7E,$81,$81,$81,$7E,$00), {angka 0} ($00,$00,$00,$00,$00,$00,$00,$00), {angka 1} ($00,$00,$00,$00,$00,$00,$00,$00), {angka 2} ($00,$00,$00,$00,$00,$00,$00,$00), {angka 3} ($00,$00,$00,$00,$00,$00,$00,$00), {angka 4} ($00,$00,$00,$00,$00,$00,$00,$00), {angka 5} ($00,$00,$00,$00,$00,$00,$00,$00), {angka 6} ($00,$00,$00,$00,$00,$00,$00,$00), {angka 7} ($00,$00,$00,$00,$00,$00,$00,$00), {angka 8} ($00,$00,$00,$00,$00,$00,$00,$00)); {angka 9}

BASE = $378;Var i,n : Byte;Procedure InitPPI(cw:byte);Begin Port[Base+3] := 3; Port[Base+4] := cw;End;

BEGIN Port[Base+2] := 4; InitPPI($82); For j := 1 to 10 Do For n := 1 to 50 Do For i := 1 to 8 Do Begin Port[Base+3] := 0; Port[Base+4] := DataHuruf[j,i]; Port[Base+3] := 1;

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 27

Page 28: Modul Praktikum Interfacing

Port[Base+4] := (i-1) Or 8; Delay(1); Port[Base+3] := 1; Port[Base+4] := (i-1) And $7; End;END.

3. Program untuk menampilkan ‘A’ sampai dengan ‘Z’ ke penampil LED matrik 8x8.(Catatan : Array DataHuruf diisi dengan pola karakter yang sesuai)

Program Led_Matrik2;Uses CRT;Const DataHuruf : Array[1..26,1..8] Of Byte

= (($00,$00,$7E,$81,$81,$81,$7E,$00), {huruf A} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf B} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf C} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf D} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf E} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf F} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf G} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf H} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf I} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf J} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf K} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf L} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf L} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf M} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf N} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf O} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf P} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf Q} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf R} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf S} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf T} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf U} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf V} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf W} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf X} ($00,$00,$00,$00,$00,$00,$00,$00), {huruf Y} ($00,$00,$00,$00,$00,$00,$00,$00)); {huruf Z}

Var i,j,n : Byte;

Procedure InitPPI(cw:byte);Begin Port[Base+3] := 3; Port[Base+4] := cw;End;

BEGIN InitPPI($82); Port[Base+2] := 4; For j := 1 to 26 Do For n := 1 to 50 Do For i := 1 to 8 Do Begin Port[Base+3] := 0; Port[Base+4] := DataHuruf[j,i]; Port[Base+3] := 1; Port[Base+4] := (i-1) Or 8; Delay(1); Port[Base+3] := 1; Port[Base+4] := (i-1) And $7; End;END.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 28

Page 29: Modul Praktikum Interfacing

MODUL VPRAKTIKUM INTERFACING PERIFERAL KOMPUTER

ANALOG TO DIGITAL CONVERTER(1 x pertemuan / pertemuan 7)

A. TUJUAN : Praktikum ini bertujuan agar1. mengetahui kegunaan Analog To Digital Converter2. dapat menggunakan Analog To Digital Converter

B. DASAR TEORIADC adalah singkatan dari Analog to Digital Converter, yang merupakan alat untuk

mengubah sinyal Analog menjadi sinyal Digital. Sinyal Analog merupakan sinyal yang berasal dari sinyal elektronik baik yang berupa tegangan ac ataupun tegangan dc. Sinyal Digital yang dihasilkan berupa data paralel yang merupakan hasil konversi dari tegangan analognya.

Ketarangan:

Vin(+) : tegangan masukan (+) yang berupa tegangan analogVin(-) : tegangan masukan (-) yang berupa tegangan analogVref/2 : tegangan referensi/2 (misalkan jika tegangan yang akan diukur = 5V, maka

tegangan Vref/2 adalah 2,5V)CS : Chip SelectWR : Write (sinyal untuk penulisan/mulai konversi)RD : Read (sinyal untuk pembacaan hasil konversi)INTR : Interrupt (sinyal akhir konversi)DB0 – DB7 : Jalur data 8-bit untuk data hasil konversiCLKR, CLKIN : Jalur masukan osilator

Langkah-langkah konversiSambungkan Jalur D0-D7 dengan Port A, Jalur CS, RD dan WR dengan PB0, PB1, PB2, Jalur INTR dengan PC0. PPI diinisialisasi sedemikian sehingga port A bekerja sebagai port Input, port B sebagai port output, dan port C sebagai port Input.

1. Aktifkan jalur CS (aktif rendah) dan jalur WR (aktif rendah)2. Non-aktifkan jalur WR3. Tunggu sampai jalur INTR aktif (aktif rendah), jika aktif maka proses konversi selesai4. Aktifkan jalur RD (aktif rendah)5. Baca data D0-D7 melalui port data6. Non-aktifkan jalur RD

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 29

W R

V in (+ )

R 2

1 KR D

U 3 A D C 0 8 0 4

67

9

1 11 21 31 41 51 61 71 8

1 94

5

123

+ I N-I N

V R E F / 2

D B 7D B 6D B 5D B 4D B 3D B 2D B 1D B 0

C L K RC L K I N

I N TR

C SR DW R

D 3R 3 1 0 K

D 2

C S

D 1

I N TR

R 6

2 K

13

2

V in (-)

D 5

D 0

C 11 5 0 p F

V C C

R 1

1 K

D 7D 6

D 4

Page 30: Modul Praktikum Interfacing

C. PERCOBAAN

LAMPIRAN PROGRAM

Program Membaca_ADC;Uses CRT;Const Base=$378;Var Selesai : Boolean; Data_ADC : byte;

Procedure InitPPI(cw:byte);Begin Port[Base+3] := 3; Port[Base+4] := cw;End;

Procedure Proses_Konversi;Begin Port[Base+2] := 5; Port[Base+2] := Port[Base+2] And $DF; Port[Base+3] := 1; Port[Base+4] := 2; delay(10); Port[Base+3] := 1; Port[Base+4] := 6;End;

Function Baca_INTR : Boolean;Var hsl_INTR : byte;Begin Port[Base+2] := 4; Port[Base+3] := 2; Port[Base+2] := Port[Base+2] Or $20; Hsl_INTR := Port[Base+4]; Hsl_INTR := Hsl_INTR And 1; If Hsl_INTR = 1 then Baca_INTR := false else Baca_INTR := true;End;

Function Proses_Baca_ADC : Byte;Var Hsl_Baca_ADC : Byte;Begin

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 30

Page 31: Modul Praktikum Interfacing

Port[Base+2] := 5; Port[Base+2] := Port[Base+2] And $DF; Port[Base+3] := 1; Port[Base+4] := 4;

Port[Base+2] := 4; Port[Base+3] := 0; Port[Base+2] := Port[Base+2] Or $20; Hsl_Baca_ADC := Port[Base+4]; Proses_Baca_ADC := Hsl_Baca_ADC;

Port[Base+2] := 5; Port[Base+2] := Port[Base+2] And $DF; Port[Base+3] := 1; Port[Base+4] := 6;End;

BEGIN Clrscr; Port[Base+2] := 5; InitPPI($99); Repeat Proses_Konversi; Selesai := false; Repeat If Baca_INTR = true Then selesai := true; Until Selesai; Data_ADC := Proses_Baca_ADC; Gotoxy(10,10); Write('Hasil konversi : ',Data_ADC:3); Delay(100); Until Keypressed;END.

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 31

Page 32: Modul Praktikum Interfacing

MODUL VIPRAKTIKUM INTERFACING PERIFERAL KOMPUTER

DIGITAL TO ANALOG CONVERTER(1 x pertemuan / pertemuan 8)

A. TUJUAN : Praktikum ini bertujuan agar1. mengetahui kegunaan Digital To Analog Converter2. dapat menggunakan Digital To Analog Converter

B. DASAR TEORI

DAC adalah singkatan dari Digital to Analog Converter, yang merupakan alat untuk mengubah sinyal Digital ke sinyal Analog.

C. PERCOBAAN

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 32

Page 33: Modul Praktikum Interfacing

LAMPIRAN PROGRAM

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 33

Page 34: Modul Praktikum Interfacing

MODUL VIIPRAKTIKUM INTERFACING PERIFERAL KOMPUTER

MOTOR STEPPER(1 x pertemuan / pertemuan 9)

A. TUJUAN : Praktikum ini bertujuan agar1. mengetahui kegunaan Motor Sptepper2. dapat menggunakan Motor Sptepper

B. DASAR TEORI

Motor Stepper adalah suatu jenis motor yang perputarannya dilakukan setiap step untuk setiap waktunya. Pada praktikum ini motor stepper yang digunakan adalah jenis dengan putaran per step-nya adalah 1,8o, sehingga untuk memutar motor sebanyak 1 putaran penuh (360o) maka dibutuhkan sebanyak 200 step.

Masukan data untuk mengendalikan putaran motor berjumlah 4-buah yaitu (A,B,C,D).

Gambar skema rangkaian pengendali motor stepper

C. PERCOBAAN

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 34

9 8

+1 2 V

R560

4 x LED4 x 7407

D1N5408

7407

Tr2N3055

V C C

C

4 x Tr C1173

TrMJ2955

V C C

5 6

4 x D1N4002

A1 2

LED1 1 1 0

M O TO R S TE P P E R123

4 5 6

B

V C C

4 x R560

R560

E

D

3 4

Page 35: Modul Praktikum Interfacing

LAMPIRAN PROGRAM

Petunjuk Praktikum Interfacing dan Peripheral Komputer halaman 35

Page 36: Modul Praktikum Interfacing

PETUNJUK PRAKTIKUM

INTERFACING / PERIFERAL KOMPUTER

UPT LABORATORIUMSEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN

KOMPUTERAKAKOM

YOGYAKARTA

Page 37: Modul Praktikum Interfacing