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
Nilai
Keterangan
Hanafi,S.T,M.Eng
Nip:
DAFTAR ISI
DAFTAR GAMBAR
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
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
6) Buka file hexa, klik tombol Load Flash atau dari tool
3.6Borang Data
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
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
DAFTAR PUSTAKA