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