Anda di halaman 1dari 15

LEMBAR PENGESAHAN

No Praktikum

: 03/SE/3.5/TMJ/2016

Nama Praktikum

: Sistem Embedded

Judul Praktikum

: KEYPAD 4X3

Tanggal Praktikum

: 18 Oktober 2016

Tanggal Penyerahan

: 25 Oktober 2016

Nama Praktikan

: Rahmalia

NIM

: 1490343080

Kelas/ Prodi

: 2.3/ Teknik Multimedia dan Jaringan

Nilai

Keterangan

Buket Rata, 19 Oktober 2016


Dosen Pembimbing

Hanafi,S.T,M.Eng
Nip:

DAFTAR ISI

Lembar Pengesahan ..........................................................................


Daftar Isi ............................................................................................
Daftar Gambar ..................................................................................
3.1 Tujuan ........................................................................
3.2 Dasar teori .................................................................
3.3 Daftar alat dan bahan ...............................................
3.4 Gambar Kerja/Rangkaian ........................................
3.5 Langkah Kerja ...........................................................
3.6 Data hasil Percobaan .................................................
3.7 Analisis Data hasil percobaan ...................................
3.8 Kesimpulan .................................................................
Daftar Pustaka ...................................................................................

DAFTAR GAMBAR

Gambar 3.1 Rangkaian interface keypad 4x3


Gambar 2.2 Diagram blok display led Modul Mikrokontroller AT89S51

Gambar 2.3 Membuka program pada MIDE-51


Gambar 2.4 Cara membuild file led1.asm
Gambar 2.5 Setting Progisp
Gambar 2.6 Tampilan untuk menload program
Gambar 2.7 Tampilan untuk memilih fie berektasi.hex
Gambar 2.8 Proses write Flash pada Mikrokontroller AT89Ss52

PRAKTIKUM II
LCD(LIQUID CRYSTAL DISPLAY)

3.1Tujuan
1. Peserta memahami rangkaian interface keypad 4x4 dengan
mikrokontroller
2. Peserta memahami bahasa assembly untuk pengambilan
data keypad
3. Peserta memahami bahasa assembly untuk pengambilan
data keypad dan mengeluarkan ke 7 Segmen
4. Peserta memahami bahasa assembly untuk pengambilan
data keypad.

3.2DASAR TEORI

Gambar 3.1 Rangkaian interface keypad 4x3


Keypad sering digunakan sebagi suatu input pada beberapa peralatan
yang berbasis mikroprosessor atau mikrokontroller. Keypad sesungguhnya
terdiri dari sejumlah saklar, yang terhubung sebagai baris dan kolom dengan
susuan seperti yang ditunjukkan pada gambar 3.1. Agar mikrokontroller dapat
melakukan scan keypad, maka port mengeluarkan salah satu bit dari 4 bit yang
terhubung pada BARIS dengan logika low 0 dan selanjutnya membaca 3 bit
pada KOLOM untuk menguji jika ada tombol yang ditekan pada kolom
tersebut. Sebagai konsekuensi, selama tidak ada tombol yang ditekan, maka
mikrokontroller akan melihat sebagai logika high 1 pada setiap pin yang
terhubung ke baris.

3.3Daftar Alat Dan Bahan


a. Alat dan Bahan
1) 1 unit Komputer/Laptop
2) 1 unit Downloader
3) 1 unit Modul Mikrokontroller AT89S52
4) Modul LED
5) Kabel USB
b. Software
1) MIDE-51
2) ISP_PROG
3) Windows XP/WIN7

3.4Gambar Kerja/Rangkaian

3.5Langkah Kerja
a. Percobaan CEK data keypad 4x3
Langkah download program pada mikrokontroller AT89S52
1) Ketik Program dengan bantuan Notepad dan Save as dengan nama yang
diakhiri dengan ekstensi .asm (misal : keypad1.asm)
ORG 0H
SETB P2.0
MOV P3,#0H
MULAI:
MOV P1,#0FEH
JB P1.5,KEY1 ;key9
MOV P3,#10H
SJMP MULAI
KEY1:
JB P1.4,KEY2 ;key6
MOV P3,#02H
SJMP MULAI
KEY2:
JB P1.3,KEY3 ;key3

MOV P3,#30H
SJMP MULAI
KEY3:
MOV P1,#0FBH
JB P1.3,KEY4 ;key1
MOV P3,#79H
SJMP MULAI
KEY4:
JB P1.4,KEY5 ;key4
MOV P3,#19H
SJMP MULAI
KEY5:
JB P1.5,KEY6 ;key7
MOV P3,#78H
SJMP MULAI
KEY6:
MOV P1,#0FDH
JB P1.6,KEY7 ;key 0
MOV P3,#40H
LJMP MULAI
KEY7:
JB P1.3,KEY8 ;key2
MOV P3,#24H
LJMP MULAI
KEY8:
JB P1.4,KEY9 ;key5
MOV P3,#12H
LJMP MULAI
KEY9:
JB P1.5,KEY10 ;key8
MOV P3,#00H
LJMP MULAI
KEY10:
LJMP MULAI
END

2) Buka Compiler MIDE-51 yang telah diinstall pada Komputer/Laptop


dengan cara: Start Program MIDE-51 Package MIDE-51.
Kemudian Pilih File Open Program Led1.asm yang sudah diketik
menggunakan notepad, seperti yang diperlihatkan pada gambar 1.2

Gambar 3.3 Membuka Program pada MIDE-51

3) Build program Led1.asm yang sudah dibuka dengan cara memilih


menu bar Build kemudian klik Build, seperti yang diperlihatkan pada
gambar 1.3 berikut ini. Maka akan terbentuk file led1.hex, dan jika
masih terjadi error program perlu diperbaiki.

Gambar 3.4 Cara membuild file led1.asm

4) Kemudian File Hex ini siap dituliskan ke PEROM dalam


mikrokontroller menggunakan program uploader (Progisp) dengan
urutan sebagai berikut :
Buka Aplikasi PROGISP.EXE.

5) Tentukan tipe mikrokontroller yang akan anda isi program. Select


Chip, pilih TIpe mikrokontroller (AT80S52). Pilih/centang Chip
Erase, Program Flash, Data Reload, Verify Flash, seperti yang
diperlihatkan pada gambar 1.4

Gambar 3.5 Setting PROGISP

6) Buka file hexa, klik tombol Load Flash atau dari tool

Gambar 3.6 Tampilan untuk meload program


7) Pilih file yang akan anda isikan (ekstensi *.hex). yang sebelumnya
disimpan menggunakan program MIDE-51.

Gambar 3.7 Tampilan untuk memilih file berekstensi .hex


8) Klik Open Kemudian klik tombol Auto atau klik tombol Write
Flash, Proses download akan berjalan, tunggu sampai selesai, seperti
yang ditampilkan pada gambar 1.7

Gambar 3.8 Proses Write Flash pada mikrokontroller AT89S52


9) Lakukan pengamatan pada Display LED, catat hasilnya pada table
data, kemudian analisa dan buat kesimpulan.

3.6Borang Data

Input Keypad 3x4


1
2
3
4
5
6
7
8
9
0

Display 7 Segment
1
2
3
4
5
6
7
8
9
0

Soal
1. Rancang program yang dapat menampilkan data pada LCD dari input
keypad 3x4
2. Jelaskan perbedaan data yang ditampilkan pada 7 segment dan LCD
dari input keypad 3x4
Jawaban :
1. Syntax :
org 0h
setb p2.0
clr p2.3
clr p2.1
clr p2.2
mov p3,#0h
call init_lcd
mulai: mov r1,#080h
call write_inst
mov p1,#0feh
jb p1.5,key1 ;key2
; mov p3,#24h
mov r1,#'2'
call write_data
sjmp mulai
key1:
jb p1.4,key2 ;key1
mov p3,#79h
mov r1,#'1'
call write_data
sjmp mulai

key2:
jb p1.6,key3 ;key3
mov p3,#30h
mov r1,#'3'
call write_data
sjmp mulai
key3:
mov p1,#0fbh
jb p1.6,key4 ;key9
mov p3,#10h
mov r1,#'9'
call write_data
sjmp mulai
key4:
jb p1.4,key5 ;key7
mov p3,#78h
mov r1,#'7'
call write_data
sjmp mulai
key5:
jb p1.5,key6 ;key8
mov p3,#00h
mov r1,#'8'
call write_data
sjmp mulai
key6:
mov p1,#0fdh
jb p1.6,key7 ;key 6
mov p3,#02h
mov r1,#'6'
call write_data
ljmp mulai
key7:
jb p1.6,key8 ;key2
mov p3,#24h
mov r1,#'2'
call write_data
ljmp mulai
key8:
jb p1.4,key9 ;key4
mov p3,#19h
mov r1,#'4'
call write_data
ljmp mulai
key9:
jb p1.5,key10 ;key5
mov p3,#12h
mov r1,#'5'
call write_data
ljmp mulai
key10:
ljmp mulai

init_lcd:
mov r1,#00000001b
call write_inst
mov r1,#00111000b
call write_inst
mov r1,#00001100b
call write_inst
mov r1,#00000110b
call write_inst
ret
write_inst:
clr p2.7
;
mov p0,r1
setb p2.6
call delay
clr p2.6
;
ret
;
write_data:
setb p2.7
mov p0,r1
setb p2.6
call delay
call delay
clr p2.6
;
ret
;
delay: mov r0,#0
delay1: mov r7,#0fh
djnz r7,$
djnz r7,$
djnz r0,delay1
ret
;

;
;
;
;

;
;
;

;
;
;
;
;

end
2. Perbedaan data yang ditampilkan pada seven segment dan LCD dari input
keypad 3x4 adalah :
Pada seven segment, data yang ditampilkan dari input keypad 3x4
hanya per satu angka atau satu huruf ( Setiap input keypad 3x4 yang di
tekan maka hanya satu angka atau satu huruf yang muncul di 7 segment).
Pada dasarnya 7 segment hanya dapat menampilkan angka 0 s/d 9 dan
untuk tampilan huruf hanya ada beberapa yang bisa di tampilkan. Misalnya
: a,b,c,d,e,f,g, dll.
Sedangkan untuk LCD, data yang di tampilkan dari input keypad 3x4
dapat berupa satu kalimat. Bahkan kita dapat menmilkan angka 0 sampai

dengan 9 hanya dengan menekan satu tombol pada keypad, tergantung


tombol yang telah di set di program.

3.7Analisis Data Hasil Percobaan


Setelah melakukan percobaan pada praktikum keypad dapat dianalisakan
bahwa untuk menampilkan angka 1 s.d 0 dari keypad ke seven segment dapat
menggunakan port 3 dan port 1. Yang mana port 3 untuk seven egment dan port
2 untuk keypad. Step 1, mov p3,#0h yaitu nilai 0 di pindahkan ke port 3
sehingga seven segment menyala atau berbentuk angka 8. Step 2, yaitu label
mulai. Pada label ini, hal yang pertama dilakukan adalah mov p1,#0feh perintah
tersebut yaitu untuk mengaktifkan angka 9, 6, dan 3. Untuk menghidupkan
angka 9, hal yang harus di lakukan adalah p1.5 di set menjadi 1 kemudian nilai
10 di pindahkan ke p3 dengan syntax mov p3,#10h. Untuk mengaktifkan angka
6 p1.4 di set menjadi 1, kemudian nilai 02 di pindahkan ke p3 dengan perintah
mov p3,#02h. Key2, yaitu untuk mengaktifkan angka 3, yaitu p1.3 dan perintah
yang harus di inputkan ke p3 agar angka 3 muncul di seven segment adalah
mov p3,#30h.
Pada label key 3, nilai p1 menjadi Fb karena perintah yang di gunakan
adalah mov p1,#FBh. Maka angka yang akan muncul adalah 1, 4, dan 7. Untuk
menampilkan angka 1, p1.3 akan di set menjadi 1. Dan nilai yang akan di
inputkan ke p3 adalah 79h. Untuk mengaktifkan angka 4 maka yang harus di set
menjadi 1 adalah p1.5 dan nilai yang harus di inputkan ke p3 untuk
menampilkan angka 4 pada 7 segment adalah 19h. Untuk menampilkan angka
tujuh pada seven segment nilai yang harus di inputkan ke p3 adalah 78 h dan
yang harus di set 1 adalah p1.6, p1.6 di set menjadi 1 agar ketika angka 7 di
tekan di keypad akan muncul angka 7 juga di 7 segment.
Yang terakhir ada FD, ketika nilai FD di inputkan ke p1 maka akan
0,2,5,dan 8 akan aktif. Untuk mengaktikan angka 0 maka hal yang harus di
lakukan adalah memindahkan nilai 40h ke p3 agar angka 0 muncul di 7 segment
dan men set 1 pada p1.5 . untuk menampilkan aagka 2 pada 7 segment nilai
yang harus di pindahkan ke p3 adalah 24 h. Dan untuk menampilkan angka 5

pada 7 segment adalah dengan menginputkan nilai 12h ke p3. Dan terahir yaitu
untuk menampilkan angka 8 pada seven segment, nilai yang di inputkan adalah
00 h ke p3.
Ketika angka 1 pada keypad di tekan maka pada seven segment akan tampil
angka 1 juga. Begitu juga ketika angka-angka lain di tekan, angka yang di tekan
pada keypad akan muncul ke 7 segment.

3.8Kesimpulan

Setelah melakukan praktikum dapat disimpulkan bahwa :


Perintah MOV P1,#0FDH untuk menampilkan angka 0,2,5,dan 8
Perintah MOV P1,#0FBH untuk menampilkan 1,4 dan 7
Perintah MOV P1,#0FEH untuk menampilkan 3,6,dan 9

DAFTAR PUSTAKA

Modul Pelatihan Simulator

Anda mungkin juga menyukai