LAPORAN MIKROKONTROLER KEYPAD
PRAKTIKUM
MIKROKONTROLER
AKSES KEYPAD
Disusun
Oleh
Khairinnisa Siregar 16507134042
TEKNIK ELEKTRONIKA
FAKULTAS TEKNIK
UNIVERSITAS
NEGERI YOGYAKARTA
A. Tujuan
Setelah melakukan praktik mahasiswa
diharapkan dapat:
1. Memahami
prinsip kerja keypad/scanning
2. Mampu
menggunakan keypad sebagai input
B. Dasar
Teori
Keypad
dapat dibuat dari susunan push button yang terdiri dari baris dan kolom. Untuk
mengontrol sebuah keypad diperlukan proses scanning (penelusuran) melalui kolom
atau baris. Jika kolom dipakai untuk scanning maka baris berfungsi sebagai
input, begitu sebaliknya. Sehingga dengan demikian, melalui keypad jumlah I/O
akan semakin banyak disbanding akses I/O per bit. Misalnya dalam sebuah
Atmega16 port c 8 bit, maka akan mampu dipakai sebagai input maks 4x4 keypad
(16 input). Penggunaan keypad 4×4 setidaknya dapat memberikan gambaran bagi
programmer bahwa terjadi penghematan dari sisi hardware, akan tetapi berakibat
pemborosan dari sisi software.
C. Alat
dan Bahan
1. Modul
AVR Atmega8535/8/16/32
2. Jumper
3. Power
supply 5-12V
D. Skema
Rangkaian
E. Langkah
Kerja
1. Buatlah
alat dan bahan seperti rangkaian di atas;
2. Sebelum
Anda menulis program aturlah seperti gambar berikut;
//
RS - PORTD Bit 2
//
RD - PORTD Bit 1
//
EN - PORTD Bit 3
//
D4 - PORTD Bit 4
//
D5 - PORTD Bit 5
//
D6 - PORTD Bit 6
//
D7 - PORTD Bit 7
3. Tuliskan
list program berikut;
/*****************************************************
Author : Muslikhin/ UNY Electronics
Comments
: Jajala mesti iso, nek ra jajal ra bakal iso
Chip type
: ATmega16 / Clock 8 MHz
*****************************************************/
#include <mega16.h>
#include <alcd.h>
#include <delay.h>
#include <stdio.h>
#include <stdlib.h>
void
main(void)
{
lcd_init(16);
while (1)
{
// KOLOM 1
DDRC = 0b00001111;
PORTC
= 0b11111110; delay_us(1);
if (PINC==0b11101110)
{
lcd_gotoxy (0,0);
lcd_putsf
("1"); delay_ms(100); lcd_clear ();
}
else if(PINC==0b11011110)
{
lcd_gotoxy (0,0); lcd_putsf ("4"); delay_ms(100);
lcd_clear ();
}
else if
(PINC==0b10111110)
{
lcd_gotoxy (0,0);
lcd_putsf ("7"); delay_ms(100); lcd_clear ();
}
else
if (PINC==0b01111110)
{
lcd_gotoxy (0,0);
lcd_putsf
("*"); delay_ms(100); lcd_clear ();
};
//
KOLOM 2
DDRC
= 0b00001111;
PORTC = 0b11111101;
delay_us(1);
if
(PINC==0b11101101)
{
lcd_gotoxy
(0,0);
lcd_putsf
("2"); delay_ms(100);
lcd_clear ();
}
else if (PINC==0b11011101)
{
lcd_gotoxy (0,0);
lcd_putsf ("5"); delay_ms(100);
lcd_clear ();
}
else
if (PINC==0b10111101)
{
lcd_gotoxy
(0,0);
lcd_putsf
("8"); delay_ms(100);
lcd_clear
();
}
else
if (PINC==0b01111101)
{
lcd_gotoxy (0,0);
lcd_putsf ("0");
delay_ms(100);
lcd_clear ();
};
//
KOLOM 3
DDRC
= 0b00001111;
PORTC
= 0b11111011;
delay_us(1);
if
(PINC==0b11101011)
{
lcd_gotoxy (0,0);
lcd_putsf ("3");
delay_ms(100);
lcd_clear ();
}
else if (PINC==0b11011011)
{
lcd_gotoxy (0,0);
lcd_putsf ("6");
delay_ms(100);
lcd_clear
();
}
else if (PINC==0b10111011)
{
lcd_gotoxy
(0,0);
lcd_putsf ("9");
delay_ms(100);
lcd_clear ();
}
else if (PINC==0b01111011)
{
lcd_gotoxy
(0,0);
lcd_putsf
("#");
delay_ms(100);
lcd_clear
();
};
}
}
F. Hasil
dan Analisa
Analisa
: pada rangkaian ini untuk menampilkan angka pada lcd digunakan push button
sebagai tombol. Urutan angka pada tombol push button sesuai dengan gambar
keypad yang ada dibawah yaitu misalnya ketika menekan tombol yang ke 9 maka pada
lcd akan menampilkan angka 9 kemudian untuk menampilkan tampilan pada lcd
digunakan lcd_gotoxy (0,0) untuk menentukan kolom dan baris pada lcd , lcd_putsf
("6") untuk menampilan angka 6 pada lcd dan lcd_clear () untuk
membersihkan layar lcd kemudian keypad berfungsi untuk
penghematan port mikrokontroler karena jumlah key (tombol) yang dibutuhkan
banyak pada suatu sistem dengan mikrokontroler.
G.
Kesimpulan
1. Cara kerja keypad yaitu untuk
membaca penekanan tombol pada matrix keypad pada mikrokontroler dilakukan
secara bertahap yaitu kolom demi kolom
dari kolom pertama sampai kolom ke 3 dan baris pertama hingga baris ke 4.
Program untuk scaning matrix keypad dapat bermacam-macam, tapi pada intinya
sama.
2. Keypad adalah bagian penting dari
suatu perangkat elektronika yang membutuhkan interaksi manusia. Keypad
berfungsi sebagai interface antara perangkat (mesin) elektronik dengan manusia atau
dikenal dengan istilah HMI (Human Machine Interface).
Komentar
Posting Komentar