Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/15/02 06:39
Read: times


 
#20869 - Interfacing PushButton
Here is part of the 4x3 telephone keyboard routine.


;4x4.A51
;4x3 Telepone keypad is used
;written by C.S.Kannan
;
; SFR definitions
;
PSW EQU 0D0H
P0 EQU 080H
P1 EQU 090H
P2 EQU 0A0H
P3 EQU 0B0H
DPL EQU 082H
DPH EQU 083H
IE EQU 0A8H
ACC EQU 0E0H
BCC EQU 0F0H
SP EQU 081H
;
PCON EQU 087H
TCON EQU 088H
TMOD EQU 089H
TL0 EQU 08AH
TL1 EQU 08BH
TH0 EQU 08CH
TH1 EQU 08DH
;
SCON EQU 098H
SBUF EQU 099H
;
;DELAY
;
T0VALU EQU 50 ;250 MICROSEC FOR TIMER0
TIME1 EQU 10 ;NUMBER OF LOOPS FOR COUNT1
TIME2 EQU 10 ;NUMBER OF LOOPS FOR COUNT2
;
T1VALU EQU 128


;
; Bit Definitions
;
T0 EQU 0B4H
T1 EQU 0B5H
;
; RAM Definitions

ORG 020H
KEYOK EQU 020H
FLAG EQU 021H
KFLAG EQU 022H
MUS EQU 023H
ORG 030H


OLDKEY DS 1
KBDBNC DS 1
TEMP DS 1
COUNT1 DS 1
COUNT2 DS 1
CNT DS 1
KBUF DS 1
STACK DS 1
;
ORG 0000H
LJMP START

START:
MOV TH0,#256-T0VALU
MOV TL0,#256-T0VALU
MOV TMOD,#022H
MOV COUNT2,#TIME2
MOV COUNT1,#TIME1
MOV SP,#STACK
CLR FLAG
CLR KFLAG


MOV P3,#0EFH
MOV P1,#0FFH




KBDISR: MOV TEMP,#10H
MOV P3,#0FFH
MOV R2,#0F7H
MOV R3,#0
MOV A,R2
MOV R0,OLDKEY
MOV R1,KBDBNC
NXTSCAN: ORL A,#0F0H
MOV P1,A
ACALL DELAY
MOV A,P1
ORL A,#0FH
CPL A
JNZ KEYPRSD
MOV A,R2
RRC A
MOV R2,A
JC NXTSCAN
RET

KEYPRSD: MOV R3,A
MOV A,R2
CPL A
ADD A,R3
RR A
RR A
ANL A,#7FH
MOV R3,A
XRL A,@R0
JNZ RETVAL
ACALL DELAY1
MOV @R0,#0
RET
RETVAL: MOV A,R3
CLR C
SUBB A,#22H
JNZ CHK
SETB KFLAG
RET

CHK MOV A,R3
CLR C
SUBB A,#30H
JNZ DIS
SETB KFLAG
RET

DIS MOV A,R3
MOV @R0,A
MOV DPTR,#CONV
MOVC A,@A+DPTR
RET


DELAY MOV CNT,#05
L1 MOV BCC,#30H
L2 DJNZ BCC,L2
DJNZ CNT,L1
RET

DELAY1 MOV CNT,#0FFH
LL1 MOV BCC,#0FFH
LL2 DJNZ BCC,LL2
DJNZ CNT,LL1
RET

CONV: DB 00,0C0H,00,00,00,00,0F9H,00,00,00,99H,00,00,00,00,00
DB 00,00,0F8H,00,0B0H,00,00,00,82H,00,00,00,00,00,00,00
DB 090H,00,88H,00,00,0A4H,00,00,00,92H,00,00,00,00,00,00
DB 83H,80H

End


Regards....kannan

List of 5 messages in thread
TopicAuthorDate
Interfacing PushButton            01/01/70 00:00      
RE: Interfacing PushButton            01/01/70 00:00      
RE: Interfacing PushButton            01/01/70 00:00      
RE: Interfacing PushButton            01/01/70 00:00      
Interfacing PushButton            01/01/70 00:00      

Back to Subject List