程序清單:
;2011 05 05 D:\DPK\倒車報(bào)警\倒車報(bào)警.ASM
ORG 00H
AJMP 30H
ORG 0BH
AJMP T0INT
ORG 30H
MAIN:
MOV SP,#60H
MOV TMOD,#01H
MOV TH0,#0FEH
MOV TL0,#70H
MOV DPTR,#TAB
MOV R0,#10
MOV 29H,R0
MOV 28H,R0
SETB EA
SETB ET0
SETB TR0
KEY:
ACALL DISP
JB P3.0,KEYDEC
ACALL DISP
JNB P3.0,$-2
INC 29H
KEYDEC:
ACALL DISP
JB P3.1,KEYOK
ACALL DISP
JNB P3.1,$-2
MOV A,29H
CJNE A,#0,KEYDEC0
AJMP KEY
KEYDEC0:
DEC 29H
KEYOK:
JB P3.2,KEY
ACALL DISP
JNB P3.2,$-2
MOV R0,29H
CJNE R0,#0,KEYOK1
AJMP KEY
KEYOK1:
MOV 28H,29H
SETB F0
AJMP KEY
DISP:
MOV A,30H
MOVC A,@A+DPTR
MOV P0,A
CLR P2.0
ACALL DELAY
SETB P2.0
MOV A,R0
MOV B,#100
DIV AB
MOV 31H,A
MOV A,B
MOV B,#10
DIV AB
MOV 32H,A
MOV 33H,B
MOV A,31H
MOVC A,@A+DPTR
MOV P0,A
CLR P2.1
ACALL DELAY
SETB P2.1
MOV A,32H
MOVC A,@A+DPTR
MOV P0,A
CLR P2.2
ACALL DELAY
SETB P2.2
MOV A,33H
MOVC A,@A+DPTR
MOV P0,A
CLR P2.3
ACALL DELAY
SETB P2.3
RET
DELAY:
MOV R7,#25
MOV R6,#10
DJNZ R6,$
DJNZ R7,$-4
RET
T0INT:
MOV TH0,#0FEH
MOV TL0,#70H
DJNZ 28H,RTI0
MOV 28H,R0
CLR C
INC 28H
MOV A,28H
SUBB A,#12
JNC RTI0
CPL P1.0
AJMP RTI
RTI0:
CJNE R0,#0,RTI
CPL P1.0
RTI:
RETI
TAB:
DB 03FH;0
DB 006H;1
DB 05BH;2
DB 04FH;3
DB 066H;4
DB 06DH;5
DB 07DH;6
DB 007H;7
DB 07FH;8
DB 06FH;9
END