Anda di halaman 1dari 19

BAB IV

ANALISA

Pada pratikum ini pratikan akan melakukan pratikum tentang “keypad dan
seven segment display, ada dua program yang telah pratikan lakukan, yang pertama
membuat instruksi dengan keypad 4 x 3 dan program kedua keypad 4 x 4 dengan
seven segment display. Common Anode

Rangkaian penggerak tampilan 7 segment dengan menggunakan port 0 dengan


konfigurasi. Dilihat dari struktur port 0 serta sifat-sifat dari port 0, akan lebih mudah
mengkonfigurasi dalam 7-segment dengan Common Anode. Dengan demikian untuk
menampilkan angka – angka tersebut diperlukan logika “0” pada port 0. Agar
tampilan 7-segment menampilkan angka maka untuk itu dikirimkan logika “0” pada
bit-bit yang terkait.

Rangkaian penggerak 7-segment disusun secara matriks 4 baris x 4 kolom.


Masing-masing baris dihubungkan ke port yang akan digunakan. Sebagaimana telah
dijelaskan sebelumnya, pertama kita buat p0.0 berlogika “0” atau dengan kata lain,
kita kirim data 11111110B atau FEH kemudian dicek lebih dahulu p0.7 apakah
berlogika “0” atau “1” , jika berlogika “0” artinya p0.7 ditekan, sehingga perlu
dilakukan proses yang terkait dengannya, yaitu instruksi di baris 14 dan 15 atau
mengirim data ke port 0 dan memulai lagi dari awal . Jika p0.7 tidak ditekan, maka
akan diteruskan dengan memeriksa p0.6 ditekan demikian seterusnya sehingga
pemeriksaan p0.3 di baris 32. Kemudian dilanjutkan hanya dengan membuat p0.1
berlogika “0” , untuk kolom berikutnya, dan dilakukan pemeriksa p0.7 hingga p0.3
secara bergantian seperti proses sebelumnya dan melakukan tindakan berdasarkan
tombol yang ditekan atau bahkan tidak ada satupun yang ditekan. Demikian proses
diulang hingga p0.3 selanjutnya
Program A

Mengetik instruksi program pada MIDE 51

Jika instruksi program telah benar, maka pratikan menampilkan program


dengan menggunakan top view, dengan cara memilih menu file | load program, cari
file progA.hex | klik open. Kemudian pratikan melakukan pengaturan pada “external
moduler setting”.
Adapun tampilan 4 x 3 keypad dengan menggunakan seven segment display

Adalah sebagai berikut :

Pada saat tombol 1 di klik, maka akan muncul sebagai berikut :

Pada saat tombol 2 di klik, maka akan muncul sebagai berikut :


Pada saat tombol 3 di klik, maka akan muncul gambar sebagai berikut

Pada saat tombol 4 di klik, maka akan muncul gambar sebagai berikut
Pada saat tombol 5 di klik, maka akan muncul gambar sebagai berikut

Pada saat tombol 6 di klik, maka akan muncul gambar sebagai berikut :
Pada saat tombol 8 di klik, maka akan muncul gambar sebagai berikut :

Pada saat tombol 8 di klik, maka akan muncul gambar sebagai berikut :
Pada saat tombol 9 di klik, maka akan muncul gambar sebagai berikut :

Pada saat tombol 9 di klik, maka akan muncul gambar sebagai berikut :
Program B

Pratikan membuat sendiri instruksinya dan menampilkannya dengan


menggunakan Top View Simulator

Berikut adalah instruksi “KEYPAD 4 x 4 dengan Seven Segment Display

col4 bit p2.0


col3 bit p2.1
col2 bit p2.2
col1 bit p2.3
row1 bit p2.4
row2 bit p2.5
row3 bit p2.6
row4 bit p2.7
keydata equ 70h
keybounc equ 71h
keyport equ P2
org 0h
start:
mov keybounc,#50 ;keybounc = 50
; kolom 1, 1 4 7 *
mov P2,#11111111b
clr P2.3
Acall kolom1
mov A,keydata
Cjne A,#0FFh,send ;

; kolom 2, 2 5 8 0
mov P2,#11111111b
clr P2.2
setb P2.3
Acall kolom2
mov A,keydata
Cjne A,#0FFh,send ;
; kolom 3, 3 6 9 #
mov P2,#11111111b
clr P2.1
Acall kolom3
mov A,keydata
Cjne A,#0FFh,send ;

; kolom 4, COR MEN UP DOWN


mov P2,#11111111b
clr P2.0
Acall kolom4
mov A,keydata
Cjne A,#0FFh,send ;
Sjmp start ; LOOPING FOREVER

send: CPL A ; A = NOT A


Mov P0,A ; P0 = A (keluarkan data ke LED)
Sjmp start ; LOOPING FOREVER PART 2
kolom1:
key1:
jb row1,key4 ; Key 1
djnz keybounc,key1
mov keydata,#01h ; Data output = 01h (angka 1)
ret
;
key4:
jb row2,key7 ; Key 4
djnz keybounc,key4
mov keydata,#04h ; data output = 04h (angka 4)
ret
;
key7:
jb row3,keyCAN ; Key 7
djnz keybounc,key7
mov keydata,#07h ; data output = 07h (angka 7)
ret
;
keyCAN:
jb row4,Nokey ;
djnz keybounc,keyCAN
mov keydata,#0Eh ; data output = 0Eh
ret

kolom2:
key2:
jb row1,key5 ; key 2
djnz keybounc,key2
mov keydata,#02h ; data output = 02h (angka 2)
ret
;
key5:
jb row2,key8 ; key 5
djnz keybounc,key5
mov keydata,#05h ; data output = 05h (angka 5)
ret
;
key8:
jb row3,key0 ; key 8
djnz keybounc,key8
mov keydata,#08h ; data output = 08h (angka 8)
ret
;
key0:
jb row4,Nokey ; key 0
djnz keybounc,key0
mov keydata,#0F0h ; data output = 00h (angka 0)
ret

kolom3:
key3:
jb row1,key6 ; key 3
djnz keybounc,key3
mov keydata,#03h ; data output = 03h (angka 3)
ret
;
key6:
jb row2,key9 ; key 6
djnz keybounc,key6
mov keydata,#06h ; data output = 06 (angka 6)
ret
;
key9:
jb row3,keyENT ; key 9
djnz keybounc,key9
mov keydata,#09h ; data output = 09h (angka 9)
ret
;
keyENT:
jb row4,Nokey ; key ENT
djnz keybounc,keyENT
mov keydata,#0Fh ; data output = 0Fh
ret

kolom4:
keyCOR:
jb row1,keyMEN ; key COR
djnz keybounc,keyCOR
mov keydata,#0Ah ; data output = 0Ah
ret
;
keyMEN:
jb row2,keyUpA ; key MEN
djnz keybounc,keyMEN
mov keydata,#0bh ; data output = 0bh
ret
;
keyUpA:
jb row3,keyDown ; key UpA
djnz keybounc,keyUpA
mov keydata,#0ch ; data output = 0ch
ret
;
keyDown:
jb row4,Nokey ; key Down
djnz keybounc,keyDown
mov keydata,#0dh ; data output = 0dh
ret
Nokey:
Mov keydata,#0FFh
Ret
;===============================
; The end of keypad 4x4 subroutine
;===============================

delay: mov R0,#0


delay1:mov R2,#50
djnz R2,$
djnz R0,delay1
ret
;
end
Kemudian instruksi tersebut di build di MIDE 51 agar dapat mengetahui
bahwa instruksi telah benar :

Setelah melakukan build dan tidak terjadi kesalahan, maka pratikan


melakukan langkah selanjutnya yaitu melakukan pengaturan “External Modules
Setting” kemudian pada menu View menampilkan Led atau Display dan
menampilkan keyboard atau keypad. Setelah dilakukan pengaturan maka pratikan
akan melakukan load program. File | load program | cari file 11.hex dan open.
Adapun hasil program dari instruksi tersebut adalah sebagai berikut :

Hasil Percobaan

1.Saat di tekan 1 pada keypad

3.Saat di tekan tombol 3 pada keypad

2.Saat di tekan tombol 2 pada keypad


4. Saat di tekan tombol 4 pada keypad
5. Saat di tekan tombol 5 pada keypad 7. Saat di tekan tombol 7 pada keypad

6. Saat di tekan tombol 6 pada keypad 8. Saat di tekan tombol 8 pada keypad
9. Saat di tekan tombol 9 pada keypad
BAB V

Kesimpulan

Pada percobaan yang telah dilakukan dengan menggunakan


mikrokontroller AT89S51 dapat diambil kesimpulan yaitu:

1. Kita dapat menampilkan variasi seven segment berdasarkan yang kita


inginkan dengan membuat programnya dengan input Keypad
2. Kita dapat memberikan delay/waktu tampilan hidup/matinya seven segment
dengan membuat program pada mikrokontroler AT89S51.
3. Penentuan digit pada seven segment berada pada nibble atas.

Anda mungkin juga menyukai