Gambar 79. Contoh Rangkaian Aplikasi Port 379H
- Memahami mengenai rangkaian interface
- Dapat membuat rangkaian aplikasi port 379H
2. Aalat dan Bahan
[Kembali]
3. Dasar Teori [Kembali]
Gambar 68 Rangkaian Interface input
Contoh programnya:
MOV DX,300h ; alamat interface input 300H
IN DX,AL ; kondisi saklar disimpan di reg. AL
Soal:
a) Rancanglah rangkaian interface output dengan address 31AH dan interface input dengan address 30CH.
b) Ulangi rancangan dengan memakai slot PCI.
Programmable I/O
Rangkaian interface yang bisa diprogram dengan memakai IC 8255. IC ini adalah suatu Programmable Peripheral Interface (PPI), yang Input atau Output-nya dapat diprogram sesuai dengan keinginan pemakai. Dengan demikian akan didapatkan suatu fleksibilitas yang cukup tinggi. Adapun blok diagram Programmable I/O seperti gambar 2.
PPI 8255 memiliki 24 buah pin I/O yang terbagi dalam 3 buah port yang bisa diprogram secara individual dalam dua group dan 3 buah mode operasi. Group A yang meliputi port A (8 bit) dan port C upper (4 bit) sedangkan group B terdiri dari port B (8 bit) dan port C lower (4 bit). Konfigurasi pin PPI 8255 dapat dilihat pada gambar 1.
Gambar 1 Konfigurasi pin PPI 8255
Adapun fungsi pin-pin PPI 8255 adalah:
a. D0 – D7 berfungsi sebagai data bus 3 state 2 arah yang dihubungkan ke data bus sistem komputer.
b. Chip Select (CS) aktif rendah yang berfungsi untuk mengaktifkan PPI 8255.
c. Read (RD) aktif rendah yang berfungsi untuk menandakan bahwa CPU akan membaca data dari PPI.
Gambar 2 Blok diagram Programmable I/O
d. Write (WR) aktif rendah yang berfungsi mengizinkan CPU untuk menulis data ke dalam PPI.
e. Port Select (A0 dan A1). Pin ini digunakan untuk memilih port yang akan digunakan.
f. Reset yang berfungsi untuk me-reset seluruh port I/O menjadi input dengan kondisi high pada seluruh pin.
Dalam pengoperasian PPI, dapat dibedakan atas 3 mode operasi dasar yang dapat dipilih melalui software, yaitu :
a) Mode 0 (Basic I/O)
Konfigurasi operasi ini menyediakan operasi-operasi sederhana untuk input dan output bagi ketiga buah port yang ada. Tidak ada sinyal handshaking yang bisa diberikan ataupun diterima, melainkan data secara sederhana dikirim dan dibaca dari port.
b) Mode 1 (Basic I/O)
Konfigurasi operasi ini menyediakan fasilitas untuk transfer data I/O dari dan ke port tertentu dengan dilengkapi oleh sinyal handshaking. Dalam hal ini port A dan port B digunakan sebagai transfer data, sedangkan port C sebagai pembangkit sinyal handshaking.
c) Mode 2 (Strobed bidirectional I/O)
Konfigurasi operasi ini menyediakan fasilitas untuk komunikasi data 8-bit dua arah dengan peralatan luar. Tersedia sinyal-sinyal untuk handshaking dan interrupt dengan fungsi enable dan disable-nya.
Ketika PPI mendapat sinyal reset, maka semua port di-set menjadi mode input (ke 24 jalur menjadi high impedance). Setelah dilakukan inisialisasi pasa IC 8255 tersebut, maka port-port tersebut dapat berfungsi sebagai input atau output sesuai nilai CW.
Inisialisasi pada IC 8255 dapat dilakukan dengan mengirimkan Control Word (CW) yang mempunyai format seperti gambar 3. Inisialisasi dilakukan untuk menentukan mode PPI sekaligus fungsi dari tiap port, apakah sebagai input atau output.
Dalam program, penulisan alamat port-port dan CW dari IC 8255 adalah sebagai berikut :
Port A equ 300h
Port B equ 301h
Port C equ 302h
Port CW equ 303h
Contoh program inisialisasi adalah:
MOV AL, 10011001b
MOV DX,303h
OUT DX,AL
Dari inisialisasi PPI 8255 diatas artinya sebagai mode 0, dengan port A dan Port C sebagai input serta Port B sebagai output. Control Word yang harus dikirim supaya IC 8255 dapat berfungsi demikian, diberikan seperti pada gambar 4.
Gambar 3 Control Word pada IC 8255
Gambar 4 Contoh Control Word untuk IC 8255
Kemudian program dapat dilanjutkan dengan melakukan pembacaan pada port A, misalnya, atau bisa juga memberikan output ke port B. Berikut ini contoh instruksi untuk melakukan pembacaan input dari port A.
MOV DX,301h
IN AL,DX
Didalam program tersebut terlihat instruksi-instruksi IN dan OUT yang memegang peranan penting dalam pengiriman data ke dalam dan ke luar sistem komputer. Instruksi OUT DX,AL berarti mengirimkan data yang berada di register AL ke alamat port yang tersimpan di DX. Dan IN AL,DX berarti membaca data dari port yang alamatnya tersimpan di DX kemudian menyimpan data tersebut di register AL.
Ada 3 contoh rangkaian yang dibedakan pada rangkaian decodernya.
Secara singkat prinsip kerjanya adalah pertama-tama mikroprosesor mengirimkan alamat interface seperti pada gambar rangkaian dapat dirancang untuk alamat 300H, 310H, 308H dan 318H dengan mengkombinasikan switch yang terhubung ke pin Slot ISA pada A3 dan A4. Jika salah satu alamat tersebut dikirim oleh mikroprosesor maka IC 7430 akan aktif ‘0’ yang diumpankan ke CS dari IC 8255 untuk mengaktifkannya dan ke E dari IC 74LS245 untuk mengaktifkan IC ini. Sebagai contoh misalnya mikroprosesor ingin mengirimkan data ke Port A dari rangkaian interface. Misal memakai alamat 300H maka untuk mengakses Port A dikirimkan alamat 300H dengan sendirinya CS dari IC 8255 dan E dari IC 74LS245 aktif lalu mikroprosesor mengirimkan data misal 80H dan bersamaan dengan itu mengirimkan sinyal kontrol WR ke IC 8255 dan dengan sendirinya sinyal kontrol RD dalam kondisi logika ‘0’ maka pin DIR dari IC 74LS245 menerima logika ‘1’ yang artinya akan melewatkan dari 8-bit A ke 8-bit B. Begitu juga sebaliknya, jika membaca data di suatu port maka sinyal kontrol RD yang berlogika ‘0’ sehingga pin DIR berlogika ‘0’ yang artinya data dilewatkan dari 8-bit B ke 8-bit A.
1. Memakai decoder Nand Gate IC 74LS30
Gambar 5 Rangkaian interface dengan decoder nand
2. Memakai decoder IC 74LS138
Gambar 6 Rangkaian interface dengan decoder 74LS138
Port Paralel
Nama lain dari port paralel adalah port printer karena memang dirancang untuk melayani pencetak paralel. Data port paralel 8-bit hanya dirancang untuk mengirim data (pencetak).
Nama-nama port parallel, seperti Tabel 6:
– LPT1 dan LPT2 untuk port printer
– LPT0 untuk video adapter
PC (Printer control):
a) Bit 0 : Strobe, sunsang
b) Bit 1 : Autofeed, sunsang
c) Bit 2 : Init, normal
d) Bit 3 : Select in, sunsang
e) Bit 4 s/d 7 : tidak dipakai
PS (Printer status):
a. Bit 0 s/d 2 : Tidak dipakai
b. Bit 3 : Error, normal
c. Bit 4 : Select, normal
d. Bit 5 : Paper end, normal
e. Bit 6 : Acknowledge (ACK), normal
f. Bit 7: Busy, sunsang
Port paralel dapat difungsikan sama seperti IC 8255 untuk interfacing, tetapi setiap port-nya hanya dapat difungsikan sebagai input atau output saja, seperti penjelasan pin-pin pada Tabel 7.
Port paralel sama halnya dengan printer, hanya memanfaatkan port data (DP/Data Port) 8-bit yaitu DP0 s/d DP7 sebagai output, Port Control (PC/Printer Control) 4-bit yaitu PC0 s/d PC3 sebagai output dan Port Status (PS/Printer Status) 5-bit (PS3 s/d PS7) sebagai input yang berturut-turut LPT1 dengan alamat 378h, 379h, dan 37Ah. Untuk menguji data yang dikeluarkan sebagai data ke printer maka harus dilakukan komunikasi PS dan PC seperti pada gambar 77.
Gambar 78 Contoh rangkaian aplikasi Port 378H
Gambar 77 Plug uji untuk uji LPT
Contoh rangkaian mengirim dan menerima data dari/ke port printer, diperlihatkan pada gambar 78, 79 dan, 80.
Gambar 78 Contoh rangkaian aplikasi Port 378H
Gambar 79 Contoh rangkaian aplikasi Port 379H
Gambar 80 Contoh rangkaian aplikasi Port 37AH
Gambar 80 Contoh rangkaian aplikasi Port 37AH
Contoh program :
Program dirancang memakai bahasa tingkat tinggi yaitu Visual Basic (VB). VB tidak bisa mengakses hardware secara langsung sehingga digunakan file io.dll yang dikopikan ke system32.
Pada VB digunakan modul sebagai berikut :
Public Declare Sub PortOut Lib "io.dll" (ByVal Port As Integer, ByVal Value As Byte)
Public Declare Function PortIn Lib "io.dll" (ByVal Port As Integer) As Byte
a) Menggunakan Port 378H
Listing program :
Dim i, data As Integer
Private Sub running_Click()
Timer1.Enabled = True
End Sub
Private Sub Form_Load()
i = 0
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
Call PortOut(&H378, data)
data = 2 ^ i
i = i + 1
If i > 7 Then i = 0
End Sub
b) Menggunakan Port 379H
Listing Program :
Dim data, data7, data3456 As Integer
Private Sub baca_Click()
data = PortIn(&H379)
data = data And &HF8
data3456 = data And &H78
data7 = data And &H80
data7 = Not data7
data7 = data7 And &H80
data = data7 Or data3456
Text1.Text = Int(data)
End Sub
Private Sub hapus_Click()
Text1.Text = ""
End Sub
Private Sub exit_Click()
Unload Me
End Sub
c) Menggunakan Port 37AH
Listing Program :
Dim data, d24567, d013 As Integer
Private Sub tulis_Click()
data = Val(Text1.Text)
data = data And &HF
d24567 = data And &H4
d013 = data And &HB
d013 = Not d013
d013 = d013 And &HB
data = d24567 Or d013
Call PortOut(&H37A, data)
End Sub
4. Prosedur Percobaan [Kembali]
Prosedur Percobaan:
Mempersiapkan Komponen:
- Pastikan Anda memiliki komponen yang diperlukan seperti mikroprosesor (misalnya 8086), port paralel (LPT), dan perangkat output (seperti LED atau tampilan 7-segmen) yang terhubung ke port paralel.
- Komponen ini dapat ditemukan di pustaka komponen Proteus.
Membuat Rangkaian:
- Buatlah rangkaian di dalam Proteus dengan menempatkan komponen sesuai dengan diagram pada Gambar 79.
- Hubungkan mikroprosesor ke port paralel (379H). Port ini akan berfungsi sebagai pengontrol untuk perangkat output.
- Sambungkan perangkat output (misalnya LED atau 7-segmen) ke port paralel untuk menampilkan hasil dari data yang dikirim melalui Port 379H.
Menulis Program Kontrol:
- Tulis kode atau program yang akan dikompilasi dan diunggah ke mikroprosesor. Program ini akan mengatur bagaimana data dikirim ke Port 379H.
- Program ini dapat ditulis dalam bahasa Assembly atau bahasa tingkat tinggi lainnya (seperti C) tergantung pada jenis mikroprosesor yang digunakan.
Mensimulasikan Rangkaian:
- Setelah semua komponen dan program telah siap, jalankan simulasi di Proteus.
- Observasi bagaimana perangkat output bereaksi terhadap sinyal yang dikirim oleh mikroprosesor melalui Port 379H.
Mengamati dan Menganalisis Hasil:
- Amati status dari perangkat output (misalnya LED menyala/mati atau angka yang muncul di tampilan 7-segmen) untuk memastikan bahwa data yang dikirim melalui Port 379H sesuai dengan ekspektasi.
- Analisis hasilnya untuk menentukan apakah program kontrol dan koneksi rangkaian berfungsi dengan benar.
Pemecahan Masalah (Debugging):
- Jika hasil simulasi tidak sesuai dengan yang diharapkan, lakukan debugging pada program kontrol atau periksa kembali koneksi rangkaian untuk memastikan semuanya terhubung dengan benar.
- Ulangi simulasi hingga mendapatkan hasil yang diinginkan.
5. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
Prinsip Kerja Rangkaian Aplikasi Port 379H
Konfigurasi Port Paralel (Port 379H):
- Port 379H adalah alamat port yang umum digunakan untuk port paralel pada komputer. Dalam konteks ini, port paralel berfungsi sebagai antarmuka untuk mengirim data digital dari komputer atau mikrokontroler ke perangkat eksternal.
- Port paralel memiliki beberapa pin yang dapat dikonfigurasi sebagai input atau output. Pin ini digunakan untuk mengirim atau menerima sinyal digital.
Koneksi Perangkat Output:
- Perangkat output, seperti LED atau tampilan 7-segmen, dihubungkan ke pin output port paralel. Misalnya, jika kita menghubungkan LED, salah satu pin LED terhubung ke pin data port paralel, dan pin lainnya terhubung ke ground melalui resistor pembatas arus.
- Setiap pin data pada port paralel dapat dikontrol secara independen untuk mengirim sinyal logika '1' (tegangan tinggi) atau '0' (tegangan rendah) ke perangkat output.
Pengendalian Melalui Program:
- Program kontrol ditulis dalam bahasa pemrograman yang sesuai (misalnya Assembly, C, atau lainnya) untuk mengatur kondisi pin pada port paralel.
- Program ini memuat data ke port 379H yang diterjemahkan menjadi sinyal digital yang dikirim ke perangkat output. Misalnya, program dapat mengirimkan data '00000001' untuk menyalakan LED yang terhubung ke bit pertama port paralel.
- Proses penulisan data ke port paralel ini diatur oleh instruksi input/output pada program kontrol yang dikompilasi dan diunggah ke mikrokontroler atau komputer yang digunakan.
Operasi Rangkaian:
- Ketika simulasi dimulai di Proteus, program kontrol mulai menulis data ke port paralel (Port 379H).
- Data yang dikirim ke Port 379H menentukan status perangkat output. Misalnya, jika data '00000001' dikirim, maka LED yang terhubung ke bit pertama akan menyala, sementara LED lain tetap mati.
- Dengan mengubah data yang dikirim ke port, kita dapat mengontrol perangkat output seperti menyalakan atau mematikan LED, atau menampilkan angka tertentu pada tampilan 7-segmen.
Observasi dan Umpan Balik:
- Pengguna dapat mengamati status perangkat output selama simulasi untuk memastikan bahwa perangkat tersebut berfungsi sesuai dengan program yang telah ditulis.
- Jika hasilnya tidak sesuai dengan yang diharapkan, pengguna dapat melakukan debugging pada program atau memeriksa koneksi rangkaian untuk memastikan semuanya terhubung dan berfungsi dengan benar.
6. Video Simulasi [Kembali]
klik download [file rangkaian]
klik download [listing]
klik download [html]
0 komentar:
Posting Komentar