Antarmuka Keypad Matrix Dengan Mikrokontroler - AriSulistiono
-
Upload
said-mukhsin-almahdaly -
Category
Documents
-
view
86 -
download
2
Transcript of Antarmuka Keypad Matrix Dengan Mikrokontroler - AriSulistiono
13/09/13 Antarmuka Keypad Matrix dengan Mikrokontroler - AriSulistiono.Com
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU 1/10
Posting Lebih Baru »« Posting Lama
Tweet 0 0
18 November 2010, 12.34
Antarmuka Keypad Matrix dengan Mikrokontroler
Diposting Oleh: Ari Sulistiono | lokasi Tag: Control System, Electronics Hobby,
Microcontroller
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.
Merakit Keypad Matrix
Pembuatan sebuah keypad matrix umumnya sangat mudah. Seperti yang ditunjukkan oleh gambar dibawah,
kita punya empat baris serta empat kolom sebagai tahapan awalnya. Diantara setiap persimpangan baris dan
kolom disana kita tempatkan sebuah tombol.
Like 0
Cari Artikel
About My Projects
CBM
Control System
Electronics Hobby
Ilmu Listrik
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
13/09/13 Antarmuka Keypad Matrix dengan Mikrokontroler - AriSulistiono.Com
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU 2/10
Berdasarkan dari sketsa diatas, maka dapat kita buat sebuah keypad dengan beberapa buah SPST Switch
seperti yang ditunjukkan oleh rangkaian dibawah ini:
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.
Scanning atau Membaca Keypad Matrix ke dalam Mikrokontroler
Disana ada banyak sekali metode yang digunakan untuk membaca keypad matrix, tergantung kepada
bagaimana keypad itu sendiri dihubungkan dengan mikrokontroler, namun logika dasarnya tetaplah sama. Kita
« Dapatkan Artikel By Email »
Ketik Alamat Email Kirim We
take privacy seriously.
Your email address will not be shared.
« My Project Portfolio »
I have conducted several projects,
trainings, research, develop
software, and sharing ideas &
knowledge on the topics of power
system, control & automation,
SCADA, PLCs, and protective
relaying system at the following
institutions (Portfolio):
View My Complete Resume | Hire Me!
13/09/13 Antarmuka Keypad Matrix dengan Mikrokontroler - AriSulistiono.Com
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU 3/10
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.
Koneksi Keypad Matrix ke AVR Mikrokontroler
Silahkan klik gambar untuk melihat dalam ukuran sebenarnya.
« Join Our Community! »
Join this sitew ith Google Friend Connect
Members (9)
Already a member? Sign in
Kicau Di Twitter Hari Ini!
Dinding Cas Cis Cus..!
ardi: selamat pagi
ardi: tes tes
nicola tesla: nice blog...keep spirit!!..
Mansur Hidayat: salam kenal, blognya mantap ninformatif
Fauzan: ri
Fauzan: ri. blog nya keren... minta template nyadong
harland: salam bergabung [Get a Cbox] refresh
name e-mail / url
message Go
help · smilies · cbox
13/09/13 Antarmuka Keypad Matrix dengan Mikrokontroler - AriSulistiono.Com
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU 4/10
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.
►Keypad Connections with 8051 Microcontroller
Please click on the image to enlarge it
Circuit shown above is for demonstration and does not include any
reset and crystal circuit. For practical use you need to have a reset
circuit and crystal.
Bab Pemrogramman Mikrokontroler AVR
AVR Assembly Programming for ADC0804
CODE:
keyport equ P2 ;Keypad port connected here
col1 equ P2.0 ;Column 1
col2 equ P2.1 ;Column 2
col3 equ P2.2 ;Column 3
col4 equ P2.3 ;Column 4
keyval equ 30H ;To store key number
pressed bit 0H ;Flag
key_init:
mov keyport,#0FH ;Make rows as o/p and col as i/p ret
get_key:
mov keyval,#0 ;reset the number
mov keyport,#7FH ;make Row1 low
acall read_col ;read columns
jb pressed, done ;check if flag is set
13/09/13 Antarmuka Keypad Matrix dengan Mikrokontroler - AriSulistiono.Com
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU 5/10
mov keyval,#4 ;if not then read next row
mov keyport,#0BFH ;make Row2 low
acall read_col ;read columns
jb pressed, done ;check if flag is set
mov keyval,#8 ;if not then read next row
mov keyport,#0DFH ;make row3 low
acall read_col ;read columns
jb pressed, done ;check if flag is set
mov keyval,#12 ;if not read row4
mov keyport,#0EFH ;make row4 low
acall read_col ;read columns
done: ret
read_col: ;read columns routine
clr pressed ;reset the flag
jb col1, nextcol ;check if first key is pressed
jnb col1,$ ;if yes then wait for key release
setb pressed ;set the flag ret
nextcol: ;read col2
jb col2, nextcol1 ;check if second key is pressed
jnb col2,$ ;if yes then wait for key release
inc keyval ;its key number 2
setb pressed ;set the flag ret
nextcol1: ;read col3
jb col3, nextcol2 ;check if third key is pressed
jnb col3,$ ;if yes then wait for key release
inc keyval ;its key 3 inc keyval
13/09/13 Antarmuka Keypad Matrix dengan Mikrokontroler - AriSulistiono.Com
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU 6/10
setb pressed ;set the flag ret
nextcol2: ;read column 4
jb col4, exit ;check if fourth key pressed
jnb col4,$ ;if yes then wait for key release
inc keyval ;its key 4 inc keyval inc keyval
setb pressed ;set the flag ret
exit: ;if no key is pressed
clr pressed ;clr the flag
clr keyval ;reset the number ret
end
Programming AVR in C for ADC0804
CODE:
#include <AT89X51.H> //Include file for 8051 #define keyport P2 //keypad connected to P2 #define col1 P2_0 //column 1 #define col2 P2_1 //column 2 #define col3 P2_2 //column 3 #define col4 P2_3 //column 4 #define TRUE 1 //some defines #define FALSE 0
/*
+---------------------------------------+
| Prototype: void key_init(void); |
| Return Type: void |
| Arguments: None |
| Description: Initialize ports and |
| Keypad. |
+---------------------------------------+
13/09/13 Antarmuka Keypad Matrix dengan Mikrokontroler - AriSulistiono.Com
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU 7/10
*/ void key_init(){
keyport &=0x0F; //make Rows as o/p and cols are i/p }
/*
+-----------------------------------------------+
| Prototype: unsigned char get_key(void); |
| Return Type: unsigned char |
| Arguments: None |
| Description: To read key from the keypad |
+-----------------------------------------------+
*/ unsigned char get_key(){ unsigned char i,k,key=0; k=1;
for(i=0;i<4;i++){ //loop for 4 rows
keyport &=~(0x80>>i); //to make rows low 1 by 1
if(!col1){ //check if key1 is pressed
key = k+0; //set key number
while(!col1); //wait for release
return key; //return key number }
if(!col2){ //check if key2 is pressed
key = k+1; //set key number
while(!col2); //wait for release
return key; //return key number }
if(!col3){ //check if key3 is pressed
key = k+2; //set key number
while(!col3); //wait for release
return key; //return key number }
if(!col4){ //check if key4 is pressed
key = k+3; //set key number
while(!col4); //wait for release
return key; //return key number }
k+=4; //next row key number
keyport |= 0x80>>i; //make the row high again
13/09/13 Antarmuka Keypad Matrix dengan Mikrokontroler - AriSulistiono.Com
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU 8/10
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
}
return FALSE; //return false if no key pressed }
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 Serupa yang DirekomendasikanControl System
Petunjuk Pengoperasian Redundant Inverter 110VDC-220VAC
Perhitungan Pengaman Motor Listrik
Latar Belakang, Alur Data, Aplikasi & Keterbatasan Protocol Modbus
Bagaimana Sih Siklus Kerja PLTU Batubara Itu?
Antarmuka Keypad Matrix dengan Mikrokontroler
Electronics Hobby
Antarmuka Keypad Matrix dengan Mikrokontroler
Membuat Baterry Monitor Sederhana (Skematik)
Mengenal Dasar Pemrograman LCD (Liquid Crystal Display)
Microcontroller
Antarmuka Keypad Matrix dengan Mikrokontroler
Pulse Width Modulation (PWM): Contoh Program Mikon
Pulse Width Modulation (PWM): Pengenalan
Mengenal Dasar Pemrograman LCD (Liquid Crystal Display)
Tugas Akhir Saya Semasa di Politeknik Negeri Jakarta
13/09/13 Antarmuka Keypad Matrix dengan Mikrokontroler - AriSulistiono.Com
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU 9/10
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.
3 komentar
Apa ini?JUGA DI ARISULISTIONO.COM
Tulis komentar Anda disini...
Terlama Komunitas ⚙ ⤤Bagikan
Balas
Blacksweat91 • 2 tahun yang lalu
cara membaca keypad bagaimana?
1△ ▽
Balas
Ari Sty . • 2 tahun yang laluM o d > Blacksweat91
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
ikwan • setahun yang lalu
Pak, apakah terima jasa pembuatan keypad??
△ ▽
1★
Bagikan ›
Bagikan ›
Bagikan ›
KOMENTAR
13/09/13 Antarmuka Keypad Matrix dengan Mikrokontroler - AriSulistiono.Com
www.arisulistiono.com/2010/11/antarmuka-keypad-matrix-dengan.html#.UjITJtJShcU 10/10
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 FEEDS XHTML 1.1 KE ATAS
Contact
Apa ini?JUGA DI ARISULISTIONO.COM
Taukah Anda? Hari ini adalah Hari Pi(π).. :: Catatan Ari Sulistiono :: …
4 komentar • 4 tahun yang lalu
harto — Berkunjung tuk mempererat tali
silaturahim jalin persahabatan sesama
saudaraku para blogger. Ada info …
DS No. B4.2 Moving Handle-nya Lepas!Masih Ada 150kV Disana...
Satu komentar • 3 bulan yang lalu
sobatpenghibur — sabar ya mas Ari,
segala sesuatu mungkin takkan berbuah
indah didunia. Yakinlah setiap …
Um pan Kom entarr Langganan via em ai l✉