Modul Praktikum Interfacing Baru

download Modul Praktikum Interfacing Baru

of 33

Transcript of Modul Praktikum Interfacing Baru

MODUL I PORT PRINTER / PORT PARALEL

(2 x pertemuan / pertemuan 1,2) A. TUJUAN : Praktikum ini bertujuan agar1. 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 Nama Sinyal DB-25 Female 2 DP-0 Data bit 0 3 DP-1 Data bit 1 4 DP-2 Data bit 2 5 DP-3 Data bit 3 6 DP-4 Data bit 4 7 DP-5 Data bit 5 8 DP-6 Data bit 6 9 DP-7 Data bit 7 1 PC-0 - strobe 14 PC-1 - autofeed 16 PC-2 init 17 PC-3 - select in 15 PS-3 error 13 PS-4 select 12 PS-5 paper end 10 PS-6 acknowledge 11 PS-7 - busy 18 .. 25 Ground Suatu 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 port LPT 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 bit Keterangan : R = read, dapat dibaca; W = write, dapat ditulis

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 1

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 1 2 3 4 5 6 No. Bit 0 1 2 3 4 5,6,7 Nama / Fungsi Strobe Autofeed Init Select In IRQ 7 Enable Tidak dipakai Sifat Membalik Membalik Normal Membalik Normal -

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 1 2 3 4 5 6 No. Bit 0,1,2 3 4 5 6 7 Nama / Fungsi Tidak dipakai Error Select Paper End Acknowledge Busy Sifat Normal Normal Normal Normal 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

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:408 0000:0400 0000:0410 0000:0420 0000:0430 0000:0440 0000:0450 0000:0460 0000:0470 0000:0480 -

23 55 3A 00 00 0E 00 1E

D4 16 27 00 0E 0D 00 00

00 47 34 C0 00 00 00 3E

80 22 05 00 00 D4 00 00

02 0D 30 00 00 03 00 18

80 1C 0B 00 00 29 01 10

00 44 30 00 00 20 00 00

78 60-00 20-30 0B-08 00-00 00-00 03-00 00-14 60

03 00 0B 0E 03 00 00 14

00 1E 08 38 50 00 C0 14

00 00 0E 09 00 00 FF 3C

00 1E 20 0D 00 00 03 01

00 00 39 1C 10 00 D8 01

00 42 30 00 00 00 0B 01

00 30 0B 80 00 00 00 01

x....... #......`......B0 U.G"..D 0... 90. :'4.0.0...8..... ..........P..... ................ .....) ......... ...............`

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 Paralel Pada 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

Tabel perbedaan sinyal SPP dan EPP SPP Sinyal nSTROBE EPP Sinyal nWRITE Arah Out Out nAUTOFEED nSELECTIN nINIT nACK nDATASTB Out nADDRSTB nRESET nINTR In BUSY D[8:1] PE SELECT nERROR nWAIT AD[8:1] User defined User defined User defined 2 arah In In In Out In Keterangan Aktif rendah. Logika Tinggi dipakai untuk siklus Baca Aktif Rendah. Mengindikasikan operasi Data_Read atau Data_Write yang dikerjakan. Aktif Rendah. Mengindikasikan operasi Address_Read atau Address_Write yang dikerjakan Aktif Rendah. Untuk mereset Peranti. Interupsi Peranti. Dipakai untuk membangkitkan sinyal interupsi dari peranti ke host. Sinyal Jabat Tangan. Jika rendah mengindikasikan awal siklus (mengktifkan strobe) dan jika rendah untuk mengindikasikan akhir siklus (non aktifkan strobe). Jalur dua arah untuk alamat / data Dapat dipakai untuk keperluan lain Dapat dipakai untuk keperluan lain 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. PENGAMATAN Konfigurasi1. 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 3. Tunggu sampai menu debug muncul, lalu ketikan perintah berikut. -d 40:8 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-byte4LPT1 LPT2 LPT3 LPT4

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 4

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

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

LAMPIRAN PROGRAM 1. Program untuk mendeteksi keberadaan port printer (LPT1) a). Hasil tampilan dalam bentuk desimalProgram Deteksi; Uses CRT; Var BASE : Word Absolute $0040:$0008; BEGIN If BASE 0 Then Writeln(Alamat dasar port Printer : , BASE); Readln; END.

b). Hasil tampilan dalam bentuk desimalProgram 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; BEGIN If 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

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 semuaProgram Tampil; Uses CRT;

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

b). Data yang dikeluarkan 1 semuaProgram Tampil; Uses CRT;

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

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

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

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

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

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 8

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 D0Program 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 bersangkutanProgram 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 tertentuProgram Uji_Segmen; Uses CRT;

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

b). Data dikeluarkan 00 - $FF

Program 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

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

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.

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 11

8.b. Program tampilan 7-segmen dengan Interupsi (penambahan 1 /interupsi)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

MODUL II PRAKTIKUM INTERFACING PERIFERAL KOMPUTER PENGENALAN PPI 8255

(2 x pertemuan / pertemuan 3,4) A. TUJUAN : Praktikum ini bertujuan agar1. mengetahui kegunaan PPI 8255 2. dapat melakukan inisialisasi PPI 8255 3. dapat melakukan testing terhadap PPI 8255 B. DASAR TEORI 1. 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 Buffer Data 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

Fungsi dari blok ini adalah untuk mengatur seluruh aliran internal atau eksternal dari Data dan Control atau Status word.CS Chip Select. Nalar rendah pada pin ini akan memperbolehkan komunikasi antara 8255 dengan CPU.

RD Read. Nalar rendah pada pin ini akan memperbolehkan 8255 mengirimkan data atau informasi status ke CPU. Hal ini berarti CPU membaca dari 8255.WR 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 RD dan WR , 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 RD 0 0 1 0 0 1 1 X 1 X 0 1 0 0 1 0 1 X 1 X 0 0 0 1 1 1 1 X 0 1

WR1 1 1 0 0 0 0 X 1 1

CS0 0 0 0 0 0 0 1 0 0

Operasi Input (Read) Port A Bus Data Port B Bus Data Port C Bus Data Operasi Output (Write) Data Bus Port A Data Bus Port B Data Bus Port C Data Bus Control Disable Fungsi Data Bus 3-State Kondisi Ilegal Data Bus 3-State

RESET Reset. Nalar tinggi pada pini ini akan menghapus register control dan semua port (A, B, C) diset dalam mode input.

Grup A dan grup B Jalur 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.

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 14

Port A, Port B, Port C PPI 8255 mempunyai tiga buah port yaitu port A, port B dan port C, yang semuanya 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 Operasi Terdapat tiga mode dasar pengoperasian port-port 8255 yang dapat dipilih oleh perangkat lunak. Mode 0 : Mode Input/Output Dasar Mode 1 : Mode Input/Output dengan Stobe Mode 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 8255 Pada 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).

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 15

Contoh : 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 D5 D4 M0 PA 0 0 Grup B D1 PB 1

D7 1 1

D6 M1 0

D3 PCU x

D2 M0 0

D0 PCL 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 D5 D4 M0 PA 0 1 Grup B D1 PB 0

D7 1 1

D6 M1 0

D3 PCU 0

D2 M0 0

D0 PCL 1

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

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 16

3. PPI 8255 tersambung dengan Port Printer yang terpasang pada PC. 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 SPP PPI 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 :

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 17

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

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 18

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

5. Hubungan PPI 8255 dengan port printer mode EPP PPI 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 5 ke port kontrol (37Ah), untuk nilai awal (Write) - 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] Port[Base+3] Port[Base+2] Port[Base+4] := := := := 5; {aktifkan WR} 0; {Port A} Port[Base+2] And $DF; $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];

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 19

C. PERCOBAAN 1. DENGAN PORT PRINTER MODE SPP 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).

a)

b) c) d) e) f)

2. DENGAN PORT PRINTER MODE EPP 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. Buatlah program untuk menampilkan suatu data ke penampil 7-segmen yang dihubungkan ke port A. Buatlah program untuk menampilkan data 00 sampai $FF ke penampil 7-segmen yang dihubungkan ke port A. Buatlah program untuk menampilkan data BCD 00 sampai 99 ke penampil 7-segmen yang dihubungkan ke port A. Buatlah program untuk membaca saklar biner 8-bit yang dihubungkan ke port B (port B diinisialisasi sebagai port input). Buatlah program untuk membaca tombol biner 8-bit yang dihubungkan ke port B (port B diinisialisasi sebagai port input).

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 20

LAMPIRAN PROGRAM 1.a. dan b. Program inisialisasi dan menampilkan suatu data ke penampil 7-segmenProgram SPP_Segmen; Uses CRT; Var Base : Word Absolute $0040:$0008; 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);

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 21

Readln; END.

2.a. dan b. Program inisialisasi dan menampilkan suatu data ke penampil 7-segmenProgram EPP_Segmen1; 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

MODUL III PRAKTIKUM INTERFACING PERIFERAL KOMPUTER PENAMPIL 7-SEGMEN TERMULTIPLEK

(1 x pertemuan / pertemuan 5)A. TUJUAN : Praktikum ini bertujuan agar 1. mengetahui kegunaan Penampil Termultiplek 2. dapat menggunakan Penampil Termultiplek 3. 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 7segmen termultiplek.

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 23

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] := InitPPI($80); Port[Base+3] := Port[Base+4] := Port[Base+3] := Port[Base+4] := END. 5; 0; 7; 1; $E;

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

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

RepeatFor 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

MODUL IV PRAKTIKUM INTERFACING PERIFERAL KOMPUTER PENAMPIL LED MATRIK 8 X 8

(1 x pertemuan / pertemuan 6)A. TUJUAN : Praktikum ini bertujuan agar 1. mengetahui kegunaan Penampil LED Matrik 2. dapat menggunakan Penampil LED Matrik 3. 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

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), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00)); 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;

{angka {angka {angka {angka {angka {angka {angka {angka {angka {angka

0} 1} 2} 3} 4} 5} 6} 7} 8} 9}

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 27

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), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00), ($00,$00,$00,$00,$00,$00,$00,$00)); 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.

{huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf {huruf

A} B} C} D} E} F} G} H} I} J} K} L} L} M} N} O} P} Q} R} S} T} U} V} W} X} Y} Z}

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 28

MODUL V PRAKTIKUM INTERFACING PERIFERAL KOMPUTER ANALOG TO DIGITAL CONVERTER

(1 x pertemuan / pertemuan 7)A. TUJUAN : Praktikum ini bertujuan agar 1. mengetahui kegunaan Analog To Digital Converter 2. dapat menggunakan Analog To Digital Converter B. DASAR TEORI ADC 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(+) Vin(-) Vref/2 : tegangan masukan (+) yang berupa tegangan analog : tegangan masukan (-) yang berupa tegangan analog : tegangan referensi/2 (misalkan jika tegangan yang akan diukur = 5V, maka tegangan Vref/2 adalah 2,5V) CS : Chip Select WR : 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 konversi CLKR, CLKIN : Jalur masukan osilator

Langkah-langkah konversi Sambungkan 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. 2. 3. 4. 5. 6. Aktifkan jalur CS (aktif rendah) dan jalur WR (aktif rendah) Non-aktifkan jalur WR Tunggu sampai jalur INTR aktif (aktif rendah), jika aktif maka proses konversi selesai Aktifkan jalur RD (aktif rendah) Baca data D0-D7 melalui port data Non-aktifkan jalur RD

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 29

C. PERCOBAAN

LAMPIRAN PROGRAMProgram 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 Port[Base+2] := 5; Port[Base+2] := Port[Base+2] And $DF; Port[Base+3] := 1; Port[Base+4] := 4; Port[Base+2] := Port[Base+3] := Port[Base+2] := Hsl_Baca_ADC := Proses_Baca_ADC Port[Base+2] Port[Base+2] Port[Base+3] Port[Base+4] End; BEGIN Clrscr; := := := := 4; 0; Port[Base+2] Or $20; Port[Base+4]; := Hsl_Baca_ADC; 5; Port[Base+2] And $DF; 1; 6;

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 30

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

PETUNJUK PRAKTIKUM

INTERFACING / PERIFERAL KOMPUTER

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

UPT LABORATORIUM

AKAKOMYOGYAKARTA

Petunjuk Praktikum Interfacing dan Peripheral Komputer

halaman 32