antarmuka i/o dasar @2011,eko didik widianto … i/o dasar @2011,eko didik widianto antarmuka i/o...
TRANSCRIPT
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara Langsung
Antarmuka I/O DasarTKC210 - Teknik Interface dan Peripheral
Eko Didik Widianto
Teknik Sistem Komputer - Universitas Diponegoro
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara Langsung
Bahasan Kuliah
I Koneksi peripheral I/O sederhana ke mikrokontrolersecara langsung (direct I/O) dan terprogram(memory-mapped I/O)
I Direct I/O: pin-pin I/O prosesor secara langsungdihubungkan ke peripheral, misalnya saklar, LED, dll
I Memory-mapped I/O (program-controlled I/O):peripheral I/O dipetakan ke dalam alamat memori,sehingga komunikasi prosesor dengan peripheralseperti prosesor berkomunikasi dengan memori
I Teknik-teknik I/OI Analisis pewaktuan dan pembebanan
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara Langsung
Kompetensi Dasar
I Mahasiswa mampu menjelaskan perbedaan operasidirect I/O dan program-controlled I/O dengan tepat
I Mahasiswa mampu mengaplikasikan teknikantarmuka secara direct I/O dan program-controlledI/O dengan tepat
I Mahasiswa mampu menganalisis pewaktuan danpembebanan dalam interkoneksi prosesor danperipheral I/O
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara Langsung
Referensi
1. Ken Arnold, “Embedded Controller HardwareDesign”, Bab 8, 2004
2. Microcontroller Interfacing. http://cq.cx/interface.pl3. Switch Debouncing.
http://www.labbookpages.co.uk/electronics/debounce.html
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara Langsung
Bahasan
Antarmuka I/O Secara LangsungPort I/O untuk Keluarga 8051Peripheral I/O SederhanaDekoding Alamat I/O (Memory-Mapped)
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Direct I/O
I Pin I/O prosesor dihubungkan langsung denganperipheral, misalnya saklar, tombol, LED, sensor
I Kadang perlu untuk mengkonversikan level tegangandan arus prosesor agar sesuai dengan peripheral
I Perlu menerjemahkan spesifikasi dan batasankemampuan rangkaian
I Misalnya spesifikasi DC dibandingkan dengankebutuhan untuk mendrive rangkaian LED sederhana
I Misalnya bounce (koneksi open dan close beberapakali dalam milidetik) yang terjadi untuk masukantombol mekanik perlu debouncer. Debouncer bisadiimplementasikan secara software maupunhardware
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Port I/O 8051
I Port I/O 8051 dipetakan ke alamat SFR (Special FunctionRegister)
I Lokasi memori data internal di 80h - FFhI Dapat memberikan arus 10-100 uAI Bersifat bit-addressable
I Misalnya Port 1 (P1) dipetakan ke alamat 90h.P1 juga ada di lokasi bit addressable di lokasi90h - 97h (P1.0 di alamat 90h, P1.7 ada dialamat 97h)
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Reset dan Set Port I/O
I Perintah mereset port-port I/O mikrokontroler ke nilai0 dan mengeset ke nilai 1 dapat dilakukan untuksemua jalur dalam port tersebut atau setiap jalur/pin
I Contoh untuk port P1 dengan alamat 90h:I MOV 90h, #0 ; Reset semua jalur P1I MOV P1, #0 ; P1 adalah nama simbol untuk port 1I CLR 97h ; Clear jalur di alamat 97h (P1.7)I CLR P1.7 ; Menggunakan simbolI MOV 90h,
#FFh
; Set semua jalur P1 dengan 1
I MOV P1,
#0ffh
; P1 adalah nama simbol untuk port 1
I SETB 97h ; Set jalur di alamat 97h (P1.7)I SETB P1.7 ; Menggunakan simbolI JB P1.0,addr ; Jump ke <addr> jika bit P1.0 set
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Transfer Data di Port I/O
I Contoh:I MOV 90h,A ; Data dari akumulator dikirimkan ke
port 1I MOV P1,A ; Menggunakan nama simbolI MOV A,P1 ; ACC <= Port 1I MOV C,P1.1 ; C <= P1.1
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Rangkaian Port I/O
I Operasi: masukan (I),keluaran (O) ataumasukan/keluaran (I/O)
I Input: NMOSFETdimatikan denganmenulis 1
I Pull-up secarainternal
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Pin I/O Dua Arah
I Pull-up sebagai currentsource
I Sekitar 50uA kebeban eksternal
I Arus sink lebih besar,beberapa mA
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Batasan Arus Keluaran
I LED butuh 10mA agarterang
I Tegangan di kaki LED1.5 - 2 volt
I Arus source? 50uAI Arus output low: 15 mA
(max), absolute max
I Jika lebih akanmerusak chip
I Arus total sink untuk 8port: 26 mA
I Jika semua LOW,maka tiap port sekitar3 mA
I Arus yang mengalir di LEDadalah 5−2
330 ≈ 9mA
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Supply Lebih Banyak Arus
I LED butuh 10-20mA agarterang penuh
I Tegangan di kaki LED 1.5 -2 volt
I Arus source= 50uAI Arus yang mengalir di LED
adalah 50u × β
I β merupakan gaintransistor NPN
I Kebutuhan arusbesar: transistorDarlington
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Driver Luaran PNP
I Arus sink lebih besardaripada source
I Untuk arus sink low 1.6mAdan gain transistor 50,arus LED 80mA
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Saklar
I Mikrokontroler sudah mempunyairesistor pullup
I Nilai masukan 1 saat saklarterbuka
I Nilai masukan 0 saat saklartertutup
I Problem: bouncing, osilasi antara1 dan 0
I Berhenti setelah beberapamdetik
I Perlu debouncer
I Mengabaikan transisi 1dan 0 untuk beberapawaktu
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Debouncer
I Tipe:
I RangkaianI IC
I MAX6816,MC14490
I Digital swictch (PLD)I Software
I
http://www.labbookpages.co.uk/electronics/debounce.html
I Menggunakan inverter
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Operasi Debouncer
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Saklar Terisolasi dengan Opto-isolator
I Pertimbangan safetyI menggunakan
phototransistor
I MCT62: dualphototransistor
I Vin=0, maka masukanmikro HIGH
I Arus sink: 500uA
I Vin maksimum: 61.5Volt =1.5V + 60mA. 1k
I Vin minimum:1+1.5V=2.5V,sehingga arus yangmengalir 1/1k=1mAbisa membuat LEDaktif
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Keyboard Matriks
I Termultipleks: 4 row,4 column
I Menghemat pin:
I menggunakan4-ke-2 enkoder:column
I menggunakan2-ke-4decoder: row
I 64 kunci?
I 8-ke-3 enkoderdan 3-ke-8dekoder
I IC keypad:74HC922
I Dapatdipetakan dimemorieksternal
I Atau alamat I/O
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Tampilan Matriks
I Termultipleks: scanned/refreshed secara kolum danbaris
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Memory-mapped I/OPartial Address Decoding
I Pengalamatan memory-mapped I/O untuk switchdan LED
Antarmuka I/ODasar
@2011,Eko DidikWidianto
Antarmuka I/OSecara LangsungPort I/O untuk Keluarga8051
Peripheral I/O Sederhana
Dekoding Alamat I/O(Memory-Mapped)
Peta Alamat I/O