tugas keypad
DESCRIPTION
mikrokontroler keypad matrix 3 x 4TRANSCRIPT
-
Nama : Pradita Ajeng Wiguna
NIM : 4211412011
Tugas : Mikrokontroler
Keypad 4x3 untuk Menghandle Display 7 Segment
Script Program EDSIM 51
;PRADITA AJENG WIGUNA
;4211412011
org 0h
MOV DPTR, #LUT ; pindahkan data dari LUT ke DPTR
MOV A, #11111111B ; pindahkan data #11111111B ke Akumulator
CLR P3.4 ; | Handle Display 7 segment D0
CLR P3.3 ; | Handle Display 7 segment D0
BACK: MOV P0, #11111111B ; pindahkan data 11111111b ke P0
CLR P0.0 ; Scan baris 1 low
JB P0.4, NEXT1 ; Cek apakah kolom 1 berlogika LOW dan lompatlah ke NEXT1 jika tidak LOW
MOV A, #1 ; isi dengan data 1 jika kolom berlogika LOW (itu artinya tombol # di tekan) Tombol # tampil angka 1
ACALL DISPLAY ; acall DISPLAY subroutine
NEXT1: JB P0.5, NEXT2 ; cek apakah kolom 2 berlogika LOW dan lompatlah ke NEXT2 jika tidak LOW
MOV A, #0 ;Tombol 0 ditekan tampil angka 0
ACALL DISPLAY
NEXT2: JB P0.6, NEXT4
MOV A, #00000010B ;Tombol * ditekan tampil angka 2
ACALL DISPLAY
NEXT4: SETB P0.0
CLR P0.1 ; Scan baris 2 low
JB P0.4, NEXT5
MOV A, #00001001B ;Tombol 9 ditekan tampil angka 9
ACALL DISPLAY
NEXT5: JB P0.5, NEXT6
-
MOV A, #00001000B ;Tombol 8 ditekan tampil angka 8
ACALL DISPLAY
NEXT6: JB P0.6, NEXT8
MOV A, #00000111B ;Tombol 7 ditekan tampil angka 7
ACALL DISPLAY
NEXT8: SETB P0.1
CLR P0.2 ;Scan baris 3 low
JB P0.4, NEXT9
MOV A, #00000110B ;Tombol 6 ditekan tampil angka 6
ACALL DISPLAY
NEXT9: JB P0.5, NEXT10
MOV A, #00000101B ;Tombol 5 ditekan tampil angka 5
ACALL DISPLAY
NEXT10: JB P0.6, NEXT12
MOV A, #0000100B ;Tombol 4 ditekan tampil angka 4
ACALL DISPLAY
NEXT12:SETB P0.2
CLR P0.3 ;Scan row 4 low
JB P0.4, NEXT13
MOV A, #00000011B ;Tombol 3 ditekan tampil angka 3
ACALL DISPLAY
NEXT13: JB P0.5, NEXT14
MOV A, #00000010B ;Tombol 2 ditekan tampil angka 2
ACALL DISPLAY
NEXT14: JB P0.6, BACK
MOV A, #0000001B ;Tombol 1 ditekan tampil angka 1
ACALL DISPLAY
LJMP BACK
DISPLAY: MOVC A,@A+DPTR
MOV P1, A
RET
LUT: DB 11000000B
-
DB 11111001B
DB 10100100B
DB 10110000B
DB 10011001B
DB 10010010B
DB 10000010B
DB 11111000B
DB 10000000B
DB 10010000B
END
Contoh Tampilan Program (Keypad 5 ditekan)