I. DASAR TEORI
Pada mikrokomputer MTK-85 disediakan unit Key-pad (Tombol) yang berfungsi untuk
memasukkan Instruksi dan data pada memori Trainer MTK-85. Key-pad terdiri dari 24 key
seperti ditunjukkan pada gambar 1. Selain tombol untuk memasukkan instruksi dan data tombol
ini juga digunakan sebagai tombol masukan untuk fungsi kendali seperti tombol MOD dan
USER.
1
tombol yang ditekan nilai logika pada baris digabungkan dengan nilai yang diberikan pada
masukan kolom. Tabel 1 merupakan logika nilai baris dan kolom dari setiap tombol.
Tabel 1. Data Trace dan Nilai Tombol
KOLOM BARIS NILAI TOMBOL
PC3 PC2 PC1 PC0 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0
0 0 0 0 1 1 1 1 1 1 1 0 01 RUN
0 0 0 0 1 1 1 1 1 1 0 1 02 INC
0 0 0 0 1 1 1 1 1 0 1 1 03 0
0 0 0 0 1 1 1 1 0 1 1 1 04 4
0 0 0 0 1 1 1 0 1 1 1 1 05 8
0 0 0 0 1 1 0 1 1 1 1 1 06 C
0 0 0 1 1 1 1 1 1 1 1 0 09 ALT
0 0 0 1 1 1 1 1 1 1 0 1 0A DEC
0 0 0 1 1 1 1 1 1 0 1 1 0B 1
0 0 0 1 1 1 1 1 0 1 1 1 0C 5
0 0 0 1 1 1 1 0 1 1 1 1 0D 9
0 0 0 1 1 1 0 1 1 1 1 1 0E D
0 0 1 0 1 1 1 1 1 1 1 0 11 ADDR
0 0 1 0 1 1 1 1 1 1 0 1 12 STEP
0 0 1 0 1 1 1 1 1 0 1 1 13 2
0 0 1 0 1 1 1 1 0 1 1 1 14 6
0 0 1 0 1 1 1 0 1 1 1 1 15 A
0 0 1 0 1 1 0 1 1 1 1 1 16 E
0 0 1 1 1 1 1 1 1 1 1 0 19 DATA
0 0 1 1 1 1 1 1 1 1 0 1 1A HOME
0 0 1 1 1 1 1 1 1 0 1 1 1B 3
0 0 1 1 1 1 1 1 0 1 1 1 1C 7
0 0 1 1 1 1 1 0 1 1 1 1 1D B
0 0 1 1 1 1 0 1 1 1 1 1 1E F
x X x x X 0 X X X X x X MOD
x X x x 0 X X X X X x X USER
Catatan.Tombol MOD dan USER1 tdk bentuk matriks PA6 =MOD, PA7= User1
Sesuai dengan gambar rangkaian gambar 1 Tombol disusun terdiri atas kolom dan baris.
Pendeteksian Tombol dilakukan dengan memberikan logika 0 pada kolom dan memeriksa baris
yang mendapat logika 0. Jika Tombol yang kolomnya diberi logika 0 ditekan maka kolomnya
akan tersambung ke baris tersebut juga mendapat logika 0. Dengan demikian nilai tombol
adalah gabungan nilai Kolom dengan nilai Baris.
2
7. -Jika tidak ada logika 0 naikkan nilai kolom
8. -Periksa kolom apakah kolom terakhir, kalau belum ulangi langkah 3
9. -Jika terakhir ulangi langkah awal (2)
10. Tukar nilai baris dan kolom ke nilai Tombol
11. Selesai
Program Periksa Tombol:
Address Machine Label Mnemonic Komentar
8100 3E-98 MVI A,98H Inisialisasi
8102 D3-13 OUT 13H
8104 CD-30-88 CALL TUNDA2 Mengatasi Bounch saat RUN ditekan
8107 0E-00 ULANG: MVI C,00 Set nilai kolom =00
8109 79 DETEK1: MOV A,C Ambil nilai kolom
810A D3-12 OUT 12H Berikan ke kolom tombol
810C CD-20-88 CALL TUNDA Tunggu
810F DB-10 IN 10H Baca Baris
8111 47 MOV B,A Simpan nilai baris
8112 E6-3F ANI 3FH Periksa Baris
8114 FE-3F CPI 3FH
8116 C2-23-81 JNZ TUKAR Lompat jika ada ditekan
8119 0C INR C Naikkan nilai kolom
811A 79 MOV A,C Periksa nilai kolom
811B FE-04 CPI 04 Apakah telah maksimum
811D C2-09-81 JNZ DETEK1 Ulangi jika belum maksimum
8120 C3-07-81 JMP ULANG Jika maksimum kembali ke awal
8123 51 MOV D,C Simpan nilai kolom
8124 58 MOV E,B Simpan nilai baris
8125 78 TUKAR: MOV A,B Ambil nilai Baris
8126 06-00 MVI B,00 Clear nilai Tombol
8128 04 UL_GSR: INR B Naikkan counter baris
8129 0F RRC Periksa bit baris yg logika 0
812A DA-28-81 JC UL_GSR Jika logika 1 ulang periksa
812D 3E-00 MVI A,00 Clear hasil kali
812F 0C INR C Naikkan kolom shg pengali tdk 0
8130 0D KALI: DCR C
8131 CA-3A-81 JZ SELESAI
8134 C6-08 ADI 08 Kalikan nilai kolom dengan 8
8136 C3-30-81 JMP KALI Kurangi pengali
8139 80 SELESAI: ADD B Hasil kali kolom + counter baris
813A FF RST 7 Nilai Tombol pada Acc
3
8830 26-50 TUNDA2: MVI H,50H
8832 CD -20-88 TUN2: CALL TUNDA
8835 25 DCR H
8836 C2-32-88 JNZ TUN2
8839 C9 RET
Langkah Kerja
1.- Masukkan program Periksa tombol di atas berikut delay
2.- Jalan Program
3.- Tekan tombol angka 0 (program akan langsung keluar ke monitor program)
4.- Periksa isi register D sebagai nilai Kolom dan register E sebagai nilai Baris
5.-Periksa isi register A sebagai nilai Tombol
5. Ulangi eksekusi program dengan menekan tombol yang lainnya seperti pada tabel 1.
6. Ulangi untuk tombol yang lain dan isikan nilai register A, , Register B, Register D dan E pada
Tabel 2.
Tabel 2. Pengujian Nilai Tombol
No Tombol Isi Isi Isi Isi Komentar
Ditekan Register E Register D Register Register A
B (Nilai tombol)
1 0 FB 00 03 00
2 1 FB 01 03 08
3 2 FB 02 03 10
4 3 FB 03 03 18
5 4 F7
6 5
7 6
8 7
9 8
10 9
11 A
12 ADDR
13 DATA
14 +
dst dst
Percobaan 2. Buatlah Program dimana jika tombol 5 ditekan huruf “y” tampil pada peraga 7-
segment digit 0 dan jika tombol 6 ditekan menampilkan “n”
Pertanyaan:
1. Jelaskan cara mendeteksi tombol tersebut
2. Analisa data yang didapat (reg. A,B,D,E) dengan tombol yang ditekan
3. Berikan kesimpulan sementara
4
II. ALGORITMA DAN FLOWCHART
5
FLOWCHART
Start
Apakah ada
logika 0 ? tidak
ya
Selesai
6
III. PERCOBAAN DAN PROGRAM
7
8836 C2-32-88 JNZ TUN2
8839 C9 RET
IV. HASIL