Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.
1
Pendahuluan Keypad Tampilan seven-segment LCD Sensor Actuator Rangkuman
2
Antarmuka adalah embedded system yang paling penting. Pengguna perlu mendapatkan informasi dari embedded system. Pengguna juga perlu kendali operasi sistem ini. Contoh : ◦ Domestic fridge ◦ Photocopier ◦ Car dashboard
3
4
5
Masukan: ◦ Switch ◦ Push button ◦ Keypad
Keluaran: ◦ light-emitting diode (LED) ◦ Seven-segment LED ◦ Liquid crystal display (LCD)
6
7
8
9
Diagram alir
Membaca keypad dengan port mikrokontroler 10
Port Bit 7 6 5 4 3 2 1 0
Fungsi baris 1 baris 2 baris 3 baris 4 kolom 1 kolom 2 kolom 3 Tidak digunakan 11
12
;Inisialisasi bsf status,rp0 movlw B'11110000' movwf bcf ... clrf bcf bsf bsf loop goto
trisb status,rp0
;pilih memory bank 1 ;Port B menginisialisasi baris bit ;merupakan input, kolom output ;pilih bank 0
portb intcon,rbif intcon,rbie intcon,gie
;inisialisasi nilai keypad ;enable interupsi
loop
;menunggu masukan keypad
13
kpad_to_lcd call kpad_rd call kp_code_conv bsf portc,lcd_RS movwf lcd_op call lcd_write rel_test call kpad_rd movf kpad_pat,0 andlw 0fe sublw 0fe btfss status,z goto rel_test bcf intcon,rbif retfie
;set untuk karakter op
;uji untuk keypad
;suppress lsb, tidak digunakan ;uji jika tidak aktif
;clear interrupt flag
14
kpad_rd movf andlw movwf bsf movlw movwf bcf movlw movwf movf andlw iorwf
portb,w ;baca nilai portb, pola baris B'11110000' ;menahan bit yang tidak diinginkan kpad_pat status,rp0 ;set baris ke op, kolom ke ip B'00001110' trisb status,rp0 00 portb ;pastikan nilai keluaran masih 0 portb,w ;read portb value, col. pattern B'00001110' ;menahan bit yang tidak diinginkan kpad_pat,1 ;hasil OR menjadi pola
15
;reset antarmuka keypad interface bsf status,rp0 ;set baris ke ip, kolom ke op movlw B'11110000' movwf trisb bcf status,rp0 clrf portb ;pastikan nilai keluaran masih 0 return
16
Common Anode
Common Cathode
17
Butuh resistor 1,2 kΩ
18
19
20
;Inisialisasi bcf status,rp1 bsf status,rp0;bank 1 movlw B’00000000’ ;out movwf trisa movwf trisb movwf trisc bcf status,rp0;bank 0 ;
loop ;set digit 1 movlw B'00011101' ;H movwf porta bcf portc,6 ;seg a bsf portc,7 ;seg b bsf portc,1 ;dig 1 call delay5 bcf portc,1 ;set digit 2 … goto loop
21
Liquid crystal merespon medan listrik dengan merubah molekul, dan melakukan perubahan arah polarisasi. Liquid crystal dapat diperangkap antara dua bidang gelas paralel, dengan pola yang sama dari elektroda transparan pada setipa bidang. Ketika tegangan diaplikasikan pada elektroda, karakter optik kristal berubah dan pola elektroda tertampil di kristal. 22
Hitachi mengembangkan mikrokontroler khusus (HD44780) untuk antarmuka LCD. Mikrokontroler ini biasanya terintegrasi dengan LCD. Fitur: ◦ Transfer data 8- atau 4-bit ◦ Pengaturan instruksi sederhana ke inisialisasi, clear, display, dan posisi kursor ◦ Mempunyai register instruksi dan register data
23
24
Setiap digit adalah liquid crystal dot matrix 25
lcd_write call busy_check bcf portc,lcd_rw bcf status,c rrf lcd_op,1 bcf portc,6 btfsc status,c bsf portc,6
bcf status,c rrf lcd_op,1 bcf portc,7 btfsc status,c bsf portc,7 movf lcd_op,0 movwf porta bsf portc,lcd_E bcf portc,lcd_E return
26
busy_check bsf status,rp0 ;bank 1 movlw B'00111111' ;set port A semua ip movwf trisa bcf status,rp0 bcf flags,0 btfsc portc,lcd_RS ;simpan RS di flag, 0 bsf flags,0 bcf portc,lcd_RS ;akses register instruksi bsf portc,lcd_RW ;set untuk baca
27
busy_loop bcf portc,lcd_E bsf portc,lcd_E btfsc porta,lcd_busy ;uji busy flag goto busy_loop bcf portc,lcd_E bsf status,rp0 ;pilih memory bank 1 movlw B'00000000‘ ;set port A semua op movwf trisa bcf status,rp0 bcf portc,lcd_RS btfsc flags,0 ;reinstate RS bit bsf portc,lcd_RS return
28
Konversi variabel fisik ke listrik. Contoh : ◦ Microswitch ◦ Light-dependent resistor ◦ Ultrasonic object sensor
29
30
Light-dependent resistor (LDR) dibuat dari potongan semikonduktor. Ketika cahaya jatuh padanya, akan membentuk pasangan lubang elektron pada bahan yang berdampak pada konduktivitas. 20M Ω sampai beberapa ratus ohm
31
32
33
34
Masukan Digital
Jika mikrokontroler menerima sinyal logik, maka sinyal perlu berada pada tingkat tegangan yang dikenal sebagai logik 0 atau logik 1. 35
(a) Spike pada sinyal, berpotensial membahayakan piranti. (b) Spike pada sinyal. (c) Slow edge. (d) DC offset pada sinyal. 36
Untuk Rprot = 1KΩ dan maksimal arus dioda =20 mA Berapa spike tegangan maksimum?
Vmax = [(20mA × 1 k Ω) +5.3] = 25V
37
Dapat menggunakan Schmitt trigger untuk penambahan kecepatan logik rendah. Schmitt trigger dengan RC filter dapat digunakan untuk memfilter spike tegangan. Digital filtering: contoh tiga kali masukan dan menggunakan majority vote.
38
39
40
41
Typically 10 ms
42
Sering membutuhkan gerakan fisik Untuk gerakan linier menggunakan solenoid Untuk gerakan angular, menggunakan ‘servo’ Untuk angular atau rotary, menggunakan motor DC atau stepper 43
Jangkah dari daya ekstrem sampai sangat kecil Jangkah kecepatan lebar Kecepatan dapat dikendalikan Efisiensi yang bagus Dapat menyediakan posisi angular yang akurat dengan batang angular Hanya lilitan dinamo perlu dikendalikan
Motor DC
Antarmuka sederhana dengan sistem digital Dapat mengendalikan kecepatan dan posisi Karakteristik Awkward start-up Torsi hilang pada saat kecepatan tinggi Kecepatan atas terbatas Kurang efisien Lebih kompleks untuk dikendalikan
Motor Stepper 44
45
46
Pensaklaran DC sederhana ◦ Transistor bipolar ◦ Transistor MOSFET
Pensaklaran dapat balik ◦ H-bridge
47
48
49
50
51
I = (5 − 3.4)/91 I = 17.6 mA
52
53
54
55
Mikrokontroler embedded harus dapat mengantarmukai dan diaplikasikan dalam kehidupan sehari-hari. Antarmuka dapat dilakukan saklar, keypad dan penampil. Untuk antarmuka dengan piranti lain, mikrokontroler harus dapat mengantarmukai transduser. Perancang perlu memahami sensor utama dan aktuator. Antarmuka dengan sensor membutuhkan pengetahuan yang dapat dipertanggungjawabkan teknik pengkondisian sinyal. Antarmuka dengan aktuator membutuhkan pengetahuan yang dapat dipertanggungjawabkan teknik pensaklaran daya. 56