MOV P1,#0FH
LP:
MOV P1,#0FH
KPD:
MOV A,P1
CJNE A,#0FH,DIS
ACALL DELAY
JMP KRL
DIS:ACALL DELAY
SJMP KPD
KRL:MOV A,P1
CJNE A,#0FH,NEXT
ACALL DELAY
SJMP KRL
NEXT:ACALL SCANKEY
ACALL DELAY
SJMP LP
SCANKEY:
ACALL DELAY
MOV P1,#0EFH
MOV A,P1
ANL A,#0FH
CJNE A,#0FH,C1
MOV P1,#0DFH
MOV A,P1
ANL A,#0FH
CJNE A,#0FH,C2
MOV P1,#0BFH
MOV A,P1
ANL A,#0FH
CJNE A,#0FH,C3
MOV P1,#7FH
MOV A,P1
ANL A,#0FH
CJNE A,#0FH,C4
POP 7BH
MOV P1,#0FH
LJMP LP
C1:MOV DPTR,#TABLE1
SJMP FINDROW
C2:MOV DPTR,#TABLE2
SJMP FINDROW
C3:MOV DPTR,#TABLE3
SJMP FINDROW
C4:MOV DPTR,#TABLE4
FINDROW:CJNE A,#0EH,N1
MOV A,#0
SJMP FIND
N1:CJNE A,#0DH,N2
MOV A,#1
SJMP FIND
N2:CJNE A,#0BH,N3
MOV A,#2
SJMP FIND
N3:CJNE A,#07H,HERE
MOV A,#3
FIND:MOVC A,@A+DPTR
RET
TABLE1
B 0F9H,99H,0F8H,8EH
TABLE2
B 0A4H,92H,80H,0C0H
TABLE3
B 0B0H,82H,90H,86H
TABLE4
B 088H,83H,0C6H,0A1H
کافیه که یک برنامه برای تاخیر بنویسی
ضمنا کیبورد به پورت یک وصل میشه بدون واسطه این برنامه آزمایش شده و مطمئن باش که جواب میده
اگه مشکلی بود حتما بگو
باید بگم که سایت های فارسی خیلی غنی تر اند
:|[/url]