Anda di halaman 1dari 5

DESAIN SISTEM

3.1 Program Pilihan


Kami menggunakan Matrix Keypad sebagai input Hex Number Display dan LED
Display sebagai output untuk menampilkan tombol/switch yang ditekan user pada input.
Input yang dapat diberikan terbatas dari 1 - F dalam bilangan heksadesimal.
Simulasi Hardware

LED Display : Output


untukmenunjukkan key mana
yang sedangditekanpada
input.
Matrix Keypad: Input tombol
untuk user menekan angka
heksadesimal mana yg ingin
ditampilkan

Program akan membaca input yang diberikan user dengan


menghubungkan switch pada Matrix Keypad. Input yang dapat diberikan
disesuaikan dengan angka heksadesimal pada matrixkeypad yaitu 1
hingga F. Output program berupa LED display 7-segment yang akan
menampilkan angka/huruf heksadesimal yang dimasukkan pada input.

CARA KERJA

Pada proses inisialisasi program, kami memakai look-up table


sebagaireferensipola bit untuk LED display
danmenyalinalamatawal look-up table (dengan
label LED) ke DPTR. Selainitu, register A di set #0FFH agar
sebagai default input, serta register P0 diset #0H agar
bisadipakaisebagai output.

Setelah program di inisialisasi, program langsung masuk ke subrutin BACK, yang


didalam subrutin ini, P1 diset #0FFH agar bisa dipakai sebagai input. Perintah
CLR P1.0 menset port 1 bit 0 menjadi low agar baris pertama Matrix Display
(1,2,3,A) menjadi low juga. Lalu perintah JB P1.4,NEXT1 ini bertindak sebagai
kontrol dimana jika kolom pertama atau port 1 bit 4 itu low, maka key 1 telah
ditekan dan akan pindah ke instruksi berikutnya yaitu MOV A,#0D. Jika tidak 0,
maka program akan loncat ke NEXT2. Jika di NEXT2 port input yg dituju tidak low
juga, maka akan loncat ke NEXT3 dan seterusnya hingga NEXT5 (karena
heksadesimal ada 16 digit maka butuh 16 subrutin
untuk menampilkan outputnya). Jika di NEXT5 port input
yg dituju tidak low, maka akan loncat kembali ke BACK. Dan
begitu terus.

Disetiap subrutin NEXT,


akan ada perintah ACALL DELAY,
yaitu instruksi yang memanggil
subrutin khusus untuk
menampilkan angka yang sedangditekan di input. Ketika
subrutin ini dijalankan, program akan mencari pola digit
tampilan LED untuk angka yang sedang ditekan di look-
up table dan setelah itu memindahkan pola digit tersebut ke
register A, dan lalu dipindahkan lagi ke P0 sebagai
output LED Display.

Gambar yang ada disamping merupakan look-up table


untuk tampilan LED. Jika kita ingin menampilkan angka 1,
maka kita harus menset bit ke-5 dan ke-6 LED sehingga
menjadi 0110000B, dan seterusnya.

CONTOH HASIL PROGRAM


Perhatikan bahwa di Matrix Keypad, tidak ada tombol E dan F. Sehingga, untuk
menampilkan E di LED, user harus menekan tanda * dan jika ingin F, user harus
menekan #

Anda mungkin juga menyukai