Professional Documents
Culture Documents
Posting Lama
Cari Artikel
Pendahuluan
Keypad (papan tombol) merupakan salah satu bagian HMI atau Human Machine Interface dan memainkan peranan yang sangat penting pada sebuah sistem terpadu dimana input/masukan dari manusia diperlukan di dalam sistem, misal: pintu elektronik, elevator, kalkulator, microwave, dan masih banyak lagi. Keypad Matrix memang sangat akrab digunakan dalam aplikasi-aplikasi mikrokontroler karena aritekturnya yang sederhana dan mudah untuk digabungkan dengan segala macam mikrokontroler. Di dalam bagian dari tutorial ini, kita akan coba mempelajari bagaimana caranya untuk membuat interface/antarmuka sebuah keypad matrix 4x4 dan mikrokontroler seri 8051. Serta kita juga akan pelajari disini bagaimana cara memprogramnya dalam bahasa Assembly dan C.
Info Lowongan Kerja Internet and Blogging Tips It's About My Life Komunikasi Data Lyrics and Chord Coll Microcontroller Power System Products Protection Relays SCADA Serba-Serbi dan Aneka Informasi Tips dan Trik Komputer
1/10
13/09/13
Kirim We
Berdasarkan dari sketsa diatas, maka dapat kita buat sebuah keypad dengan beberapa buah SPST Switch seperti yang ditunjukkan oleh rangkaian dibawah ini:
My Project Portfolio
I have conducted several projects, trainings, software, system, SCADA, research, develop and sharing ideas & control PLCs, & and automation, protective
Sekarang keypad kita sudah siap, yang kita butuhkan sekarang adalah menghubungkan baris dan kolom ke dalam port sebuah mikrokontroler dan memprogram mikrokontroler untuk membaca input dari keypad.
2/10
13/09/13
buat kolom sebagai input dan kita jadikan baris sebagai output, seluruh prosedur dalam pembacaan keyboard dinamakan sebagai scanning. Dalam rangka mendeteksi tombol yang mana yang tengah ditekan dari rangkaian matrix, kita buat jalur pada sisi baris menjadi low 0 satu per satu dan seketika itu juga membaca nilai kolomnya 0 atau 1. Katakanlah untuk pertama kita coba buat program dimana baris pertama menjadi 0, kemudian pembacaan kolom dilakukan oleh mikrokontroler. Jika salah satu tombol pada baris pertama yang ditekan maka kolom yang terkait akan ikut menjadi 0, semisal tombol kedua pada baris pertama ditekan, maka kolom ke dua akan menjadi low atau 0. Sehingga kita bisa tahu bahwa tombol nomor 2 telah ditekan. Ini adalah konsep dasar bagaimana keypad scanning dilakukan dalam mikrokontroler. Sehingga untuk men-scan keypad secara keseluruhan, kita perlu untuk membuat nilai baris menjadi lowatau 0 satu per satu dan membaca nilai kolom yanh terkait. Jika ada salah satu dari tombol yang ditekan, hal ini akan membuat korespondensi dengan kolom untuk berubah ke posisi low, yang mana hal inilah yang akan memberi kita informasi bahwa sebuah tombol telah ditekan pada baris itu. Jika baris 1 di buat = 0 dan tombol pada kolom 1 ditekan maka nilai pin mikro untuk kolom 1 akan = 0, apabila tombol pada kolom 2 yang ditekan maka pin mikro untuk kolom 2 akan = 0, begitu seterusnya.. Okay, jika sudah cukup mengerti, sekarang mari kita mulai berpindah ke sesi berikutnya yaitu pokok bahasan pemrograman keypad.
Already a member? Sign in
Members (9)
message
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU
3/10
13/09/13
Rangkaian diatas hanya untuk menunjukkan bagian koneksi keypad ke mikrokontroler saja dan tidak meliputi rangkaian reset dan kristal. Untuk yang masih latihan, kamu harus memiliki rangkaian mikro lengkap dengan tombol reset dan kristal.
; M a k er o w sa so / pa n dc o la si / p
; r e s e tt h en u m b e r ; m a k eR o w 1l o w ; r e a dc o l u m n s ; c h e c ki ff l a gi ss e t
4/10
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU
13/09/13
m o vk e y v a l , # 4 m o vk e y p o r t , # 0 B F H a c a l lr e a d _ c o l j bp r e s s e d ,d o n e m o vk e y v a l , # 8 m o vk e y p o r t , # 0 D F H a c a l lr e a d _ c o l j bp r e s s e d ,d o n e m o vk e y v a l , # 1 2 m o vk e y p o r t , # 0 E F H a c a l lr e a d _ c o l d o n e : r e t r e a d _ c o l : c l rp r e s s e d j bc o l 1 ,n e x t c o l j n bc o l 1 , $ s e t bp r e s s e d r e t n e x t c o l : j bc o l 2 ,n e x t c o l 1 j n bc o l 2 , $ i n ck e y v a l s e t bp r e s s e d r e t n e x t c o l 1 : j bc o l 3 ,n e x t c o l 2 j n bc o l 3 , $ i n ck e y v a l i n ck e y v a l
; i fn o tt h e nr e a dn e x tr o w ; m a k eR o w 2l o w ; r e a dc o l u m n s ; c h e c ki ff l a gi ss e t ; i fn o tt h e nr e a dn e x tr o w ; m a k er o w 3l o w ; r e a dc o l u m n s ; c h e c ki ff l a gi ss e t ; i fn o tr e a dr o w 4 ; m a k er o w 4l o w ; r e a dc o l u m n s
; r e a dc o l u m n sr o u t i n e ; r e s e tt h ef l a g ; c h e c ki ff i r s tk e yi sp r e s s e d ; i fy e st h e nw a i tf o rk e yr e l e a s e ; s e tt h ef l a g
; r e a dc o l 2 ; c h e c ki fs e c o n dk e yi sp r e s s e d ; i fy e st h e nw a i tf o rk e yr e l e a s e ; i t sk e yn u m b e r2 ; s e tt h ef l a g
; r e a dc o l 3 ; c h e c ki ft h i r dk e yi sp r e s s e d ; i fy e st h e nw a i tf o rk e yr e l e a s e ; i t sk e y3
5/10
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU
13/09/13
s e t bp r e s s e d r e t n e x t c o l 2 : j bc o l 4 ,e x i t j n bc o l 4 , $ i n ck e y v a l i n ck e y v a l i n ck e y v a l s e t bp r e s s e d r e t e x i t : c l rp r e s s e d c l rk e y v a l r e t e n d
; s e tt h ef l a g
; r e a dc o l u m n4 ; c h e c ki ff o u r t hk e yp r e s s e d ; i fy e st h e nw a i tf o rk e yr e l e a s e ; i t sk e y4
; s e tt h ef l a g
; i fn ok e yi sp r e s s e d ; c l rt h ef l a g ; r e s e tt h en u m b e r
/ * + + |P r o t o t y p e :v o i dk e y _ i n i t ( v o i d ) ; | |R e t u r nT y p e :v o i d | |A r g u m e n t s :N o n e | |D e s c r i p t i o n :I n i t i a l i z ep o r t sa n d | | K e y p a d . | + +
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU 6/10
13/09/13
* / v o i dk e y _ i n i t ( ) { k e y p o r t& = 0 x 0 F ;/ / m a k eR o w sa so / pa n dc o l sa r ei / p } / * + + |P r o t o t y p e :u n s i g n e dc h a rg e t _ k e y ( v o i d ) ; | |R e t u r nT y p e :u n s i g n e dc h a r | |A r g u m e n t s :N o n e | |D e s c r i p t i o n :T or e a dk e yf r o mt h ek e y p a d | + + * / u n s i g n e dc h a rg e t _ k e y ( ) { u n s i g n e dc h a ri , k , k e y = 0 ; k = 1 ; f o r ( i = 0 ; i < 4 ; i + + ) { / / l o o pf o r4r o w s k e y p o r t& = ~ ( 0 x 8 0 > > i ) ; / / t om a k er o w sl o w1b y1 i f ( ! c o l 1 ) { / / c h e c ki fk e y 1i sp r e s s e d k e y=k + 0 ; / / s e tk e yn u m b e r w h i l e ( ! c o l 1 ) ; / / w a i tf o rr e l e a s e r e t u r nk e y ; / / r e t u r nk e yn u m b e r } i f ( ! c o l 2 ) { / / c h e c ki fk e y 2i sp r e s s e d k e y=k + 1 ; / / s e tk e yn u m b e r w h i l e ( ! c o l 2 ) ; / / w a i tf o rr e l e a s e r e t u r nk e y ; / / r e t u r nk e yn u m b e r } i f ( ! c o l 3 ) { / / c h e c ki fk e y 3i sp r e s s e d k e y=k + 2 ; / / s e tk e yn u m b e r w h i l e ( ! c o l 3 ) ; / / w a i tf o rr e l e a s e r e t u r nk e y ; / / r e t u r nk e yn u m b e r } i f ( ! c o l 4 ) { / / c h e c ki fk e y 4i sp r e s s e d k e y=k + 3 ; / / s e tk e yn u m b e r w h i l e ( ! c o l 4 ) ; / / w a i tf o rr e l e a s e r e t u r nk e y ; / / r e t u r nk e yn u m b e r } k + = 4 ; / / n e x tr o wk e yn u m b e r k e y p o r t| =0 x 8 0 > > i ; / / m a k et h er o wh i g ha g a i n
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU 7/10
13/09/13
} r e t u r nF A L S E ; }
/ / r e t u r nf a l s ei fn ok e yp r e s s e d
Selamat mencoba dan terimakasih telah mebaca tulisan saya. Semoga bermanfaat. You may share this document under Creative Commons License Terima kasih telah membaca tulisan ini. 2011 Ari Sulistiono, Indonesian Electrical Engineer. Tags: Control System, Electronics Hobby, Microcontroller
Artikel berjudul "Antarmuka Keypad Matrix dengan Mikrokontroler", URL artikel: http://www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html diposting pada tgl. 18 November 2010 , 12.34 di
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU 8/10
13/09/13
dalam folder file Control System,Electronics Hobby,Microcontroller. Anda bisa menyimak semua tanggapan pada artikel ini melalui RSS 2.0 feed. Atau cukup kirim tanggapan. Klik disini untuk mengirim Artikel ke LintasBerita.Com. | Tulisan/postingan diatas dapat anda salin, cetak, modifikasi dan distribusikan secara bebas, asalkan tetap mencantumkan nama penulis serta URL lengkap artikel.
KOMENTAR
Bagikan
B lac k s weat 91 1
Balas
Bagikan
A ri S t y .
Mod
> Blacksweat91
ik wan
Dengan metode "Scanning" nilai bit pada port yang disambungkan dengan keypad. Lihat kode program "read_col" untuk bahasa ASM dan lihat kode program "get_key()" untuk bahasa C.
Balas Bagikan
JUGA DI ARISULISTIONO.COM
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU
Apa ini?
9/10
13/09/13
JUGA DI ARISULISTIONO.COM
Apa ini?
Taukah Anda? Hari ini adalah Hari Pi ().. :: Catatan Ari Sulistiono ::
4 komentar 4 tahun yang lalu
U m p a n Ko m e n ta r
L a n g g a n a n vi a e m a i l
Copyright 2007-2012 Ari Sulistiono's Blog. All rights reserved. || Powered by Google.Com (Blogger.Com, Google Apps & Picasa.Com).
Seluruh artikel di Ari-Sty.Cz.Cz dapat anda salin, cetak, modifikasi dan distribusikan secara bebas, asal tetap mencantumkan URL lengkap artikel.
RSS FEED S
X HTML 1.1
KE ATAS
Contact
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU
10/10