Anda di halaman 1dari 22

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung

Antarmuka I/O Dasar


TKC210 - Teknik Interface dan Peripheral

Eko Didik Widianto


Teknik Sistem Komputer - Universitas Diponegoro

Bahasan Kuliah

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung

Koneksi peripheral I/O sederhana ke mikrokontroler secara langsung (direct I/O) dan terprogram (memory-mapped I/O)
Direct I/O: pin-pin I/O prosesor secara langsung dihubungkan ke peripheral, misalnya saklar, LED, dll Memory-mapped I/O (program-controlled I/O): peripheral I/O dipetakan ke dalam alamat memori, sehingga komunikasi prosesor dengan peripheral seperti prosesor berkomunikasi dengan memori

Teknik-teknik I/O
Analisis pewaktuan dan pembebanan

Kompetensi Dasar

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung

Mahasiswa mampu menjelaskan perbedaan operasi direct I/O dan program-controlled I/O dengan tepat Mahasiswa mampu mengaplikasikan teknik antarmuka secara direct I/O dan program-controlled I/O dengan tepat Mahasiswa mampu menganalisis pewaktuan dan pembebanan dalam interkoneksi prosesor dan peripheral I/O

Referensi

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung

1. Ken Arnold, Embedded Controller Hardware Design, Bab 8, 2004 2. Microcontroller Interfacing. http://cq.cx/interface.pl 3. Switch Debouncing. http://www.labbookpages.co.uk/electronics/debounce.html

Bahasan

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung

Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

Direct I/O

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

Pin I/O prosesor dihubungkan langsung dengan peripheral, misalnya saklar, tombol, LED, sensor Kadang perlu untuk mengkonversikan level tegangan dan arus prosesor agar sesuai dengan peripheral
Perlu menerjemahkan spesikasi dan batasan kemampuan rangkaian
Misalnya spesikasi DC dibandingkan dengan kebutuhan untuk mendrive rangkaian LED sederhana Misalnya bounce (koneksi open dan close beberapa kali dalam milidetik) yang terjadi untuk masukan tombol mekanik perlu debouncer. Debouncer bisa diimplementasikan secara software maupun hardware

Port I/O 8051


Port I/O 8051 dipetakan ke alamat SFR (Special Function Register) Lokasi memori data internal di 80h - FFh Dapat memberikan arus 10-100 uA Bersifat bit-addressable Misalnya Port 1 (P1) dipetakan ke alamat 90h. P1 juga ada di lokasi bit addressable di lokasi 90h - 97h (P1.0 di alamat 90h, P1.7 ada di alamat 97h)

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

Reset dan Set Port I/O


Perintah mereset port-port I/O mikrokontroler ke nilai 0 dan mengeset ke nilai 1 dapat dilakukan untuk semua jalur dalam port tersebut atau setiap jalur/pin Contoh untuk port P1 dengan alamat 90h:
MOV 90h, #0 MOV P1, #0 CLR 97h CLR P1.7 MOV 90h, #FFh MOV P1, #0ffh SETB 97h SETB P1.7 JB P1.0,addr
; Reset semua jalur P1 ; P1 adalah nama simbol untuk port 1 ; Clear jalur di alamat 97h (P1.7) ; Menggunakan simbol ; Set semua jalur P1 dengan 1 ; P1 adalah nama simbol untuk port 1 ; Set jalur di alamat 97h (P1.7) ; Menggunakan simbol ; Jump ke <addr> jika bit P1.0 set

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

Transfer Data di Port I/O

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

Contoh:
MOV 90h,A port 1 MOV P1,A MOV A,P1 MOV C,P1.1
; Data dari akumulator dikirimkan ke ; Menggunakan nama simbol ; ACC <= Port 1 ; C <= P1.1

Rangkaian Port I/O

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

Operasi: masukan (I), keluaran (O) atau masukan/keluaran (I/O) Input: NMOSFET dimatikan dengan menulis 1 Pull-up secara internal

Pin I/O Dua Arah

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana

Pull-up sebagai current source Sekitar 50uA ke beban eksternal Arus sink lebih besar, beberapa mA

Dekoding Alamat I/O (Memory-Mapped)

Batasan Arus Keluaran

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung

Arus source? 50uA Arus output low: 15 mA (max), absolute max Jika lebih akan merusak chip Arus total sink untuk 8 port: 26 mA

Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

LED butuh 10mA agar terang Tegangan di kaki LED 1.5 - 2 volt

Jika semua LOW, maka tiap port sekitar 3 mA Arus yang mengalir di LED 2 adalah 5 330 9mA

Supply Lebih Banyak Arus


Arus source= 50uA Arus yang mengalir di LED adalah 50u merupakan gain transistor NPN Kebutuhan arus besar: transistor Darlington

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

LED butuh 10-20mA agar terang penuh Tegangan di kaki LED 1.5 2 volt

Driver Luaran PNP

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051

Arus sink lebih besar daripada source Untuk arus sink low 1.6mA dan gain transistor 50, arus LED 80mA

Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

Saklar

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

Mikrokontroler sudah mempunyai resistor pullup Nilai masukan 1 saat saklar terbuka Nilai masukan 0 saat saklar tertutup Problem: bouncing, osilasi antara 1 dan 0 Berhenti setelah beberapa mdetik Perlu debouncer Mengabaikan transisi 1 dan 0 untuk beberapa waktu

Debouncer

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051

Tipe: Rangkaian IC MAX6816, MC14490 Digital swictch (PLD) Software

Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

Menggunakan inverter

http://www.labbookpages.co.uk/electronics/debounce.html

Operasi Debouncer

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

Saklar Terisolasi dengan Opto-isolator


Pertimbangan safety menggunakan phototransistor MCT62: dual phototransistor Vin=0, maka masukan mikro HIGH Arus sink: 500uA Vin maksimum: 61.5Volt = 1.5V + 60mA. 1k Vin minimum: 1+1.5V=2.5V, sehingga arus yang mengalir 1/1k=1mA bisa membuat LED aktif

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

Keyboard Matriks
Termultipleks: 4 row, 4 column Menghemat pin: menggunakan 4-ke-2 enkoder: column menggunakan 2-ke-4 decoder: row 64 kunci? 8-ke-3 enkoder dan 3-ke-8 dekoder IC keypad: 74HC922 Dapat dipetakan di

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

Tampilan Matriks

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

Termultipleks: scanned/refreshed secara kolum dan baris

Memory-mapped I/O
Partial Address Decoding

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

Pengalamatan memory-mapped I/O untuk switch dan LED

Peta Alamat I/O

Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)

Anda mungkin juga menyukai