* Used for 89C51
	Org	*
Get_Keypad:
	Mov	P1,#0FFH
	Push	TH0
	Push	TL0
	Push	TMOD

Tunggu_Ditekan:
	Mov	A,P1
	Cjne	A,#0FFH,Tunggu_Ditekan
Ambil_Lagi:
	Lcall	Delay_Bouncing2
	Mov	A,P1
	Lcall	Delay_Bouncing2
	Mov	B,P1
	Clr	C
	Subb	A,B
	Jnz	Ambil_Lagi
	Mov	A,B
	Mov	DPL,A
	Mov	A,#00H
	Movc	A,@A+Dptr
	Pop	TMOD
	Pop	TL0
	Pop	TH0
	Ret

Delay_Bouncing:
	Push	B
	Push	A
	Mov	B,#020H
Delay_BLoop:
	Mov	TH0,#0EDH
	Mov	TL0,#0FFH
	Setb	TR0
Periksa_Keypad
	Mov	A,P1
	Cjne	A,#0FFH,Periksa_Keypad	

	Jnb	TF0,Periksa_Keypad
	Clr	TR0
	Clr	TF0
	Djnz	B,Delay_BLoop
	Pop	A
	Pop	B
	Ret

Delay_Bouncing2:
	Push	B
	Push	A
	Mov	B,#020H
Delay_BLoop2:
	Mov	TH0,#0EDH
	Mov	TL0,#0FFH
	Setb	TR0
Periksa_Keypad2
	Mov	A,P1
	Cjne	A,#0FFH,Periksa_Timer
	Mov	B,#08H
	Mov	TH0,#0EDH
	Mov	TL0,#0FFH
	Ajmp	Periksa_Keypad2

Periksa_Timer
	Jnb	TF0,Periksa_Keypad2
	Clr	TR0
	Clr	TF0
	Djnz	B,Delay_BLoop2
	Pop	A
	Pop	B
	Ret

