📄 dl050301.asm
字号:
MOV R2, #30H
MOV R3, #08H
LCALL WR24WC02
ORL 5AH, #10H
RET
OUTRESET:
RET
;***********KEYRESETDOWN PROCESS END***************
;***********TIMER0 INITIAL VALUE ,TIMMING AND PULL BAG START************
CTLOUT:
JB 7AH,CHECKSPEED
SETB 7AH
SJMP LOAD
CHECKSPEED:
JB 7BH,LOAD
INC SPEEDERRTIMER
MOV A,SPEEDERRTIMER
CJNE A,#02H,CTL4
MOV SPEEDERRTIMER,#00H
SETB SPEEDERR
SJMP CTL4
LOAD:
CLR 7BH
SETB RD
MOV TH0,#0FEH
MOV TL0,#0BH
JB 58H,CTL1
SJMP CTL2
CTL1:
MOV 3AH,54H
MOV 3BH,55H
MOV A,#00H
MOV 38H,A
MOV 39H,A
MOV 3CH,A
MOV 3DH,A
MOV 0BH,#3AH
MOV 09H,#00H
SJMP CTL3
CTL2:
MOV 38H,56H
MOV 39H,57H
MOV 3AH,54H
MOV 3BH,55H
MOV 3CH,60H
MOV 3DH,61H
MOV 09H,#01H
MOV 0BH,#38H
MOV 0AH,#06h
CTL3:
SETB TR0
SETB P2.0
SETB 59H
ANL 5AH,#0FEH
CTL4:
RET
L0587H:
JNB 77H,L05A8H
JB 7BH,L05A8H ;EXCHANGE 77,7B?
LCALL L05DFH
CLR 69H
L05A8H:
RET
L05D8H:
CLR 79H
SETB 77H
SETB 69H
RET
L05DFH:
SETB 7BH
CLR TR0
ORL 5AH,#01H
CLR P2.0
CLR 59H
CLR 7AH
JB 79H,L05D8H
BAGINC:
CLR EX1
INC 4FH
MOV A, 4FH
CJNE A, #0AH, L0662H
MOV 4FH, #00H
MOV SPEEDERRTIMER,#00H
INC 4EH
MOV A, 4EH
CJNE A, #0AH, L0662H
MOV 4EH, #00H
CLR 6EH
INC 4DH
MOV A, 4DH
CJNE A, #0AH, L0662H
MOV 4DH, #00H
INC 4CH
MOV A, 4CH
CJNE A, #0AH, L0662H
MOV 4CH, #00H
INC 4BH
MOV A, 4BH
CJNE A, #0AH, L0662H
MOV 4BH, #00H
INC 4AH
MOV A, 4AH
CJNE A, #0AH, L0662H
MOV 4AH, #00H
INC 49H
MOV A, 49H
CJNE A, #0AH, L0662H
MOV 49H, #00H
L0662H:
JNB INT1,NOINT
CLR 6EH
NOINT:
SETB EX1
SETB P2.1
MOV TH1,#0D8H
MOV TL1,#0EFH
SETB TR1
MOV 52H,#00H
MOV 53H,#00H
L06A0H:
RET
;***********************TIMER0 END**************
;************************RUN LAMP OFF AND APPROACH SWITCH(P2.1)*******
TIMER0:
CPL P2.0
CPL 59H
PUSH ACC
PUSH PSW
PUSH B
PUSH DPL
PUSH DPH
SETB RS0
JNB 59H,JAJ10
CLR ET0
MOV R0,#52H
INC @R0
CJNE @R0,#00H,JAJ2
INC R0
INC @R0
CJNE @R0,#00H,JAJ2
CLR TR0
CLR RD
LCALL ERROR
JAJ2:
SETB ET0
CJNE R3,#38H,JAJ5
MOV R0,#38H
DEC @R0
CJNE @R0,#0FFH,JAJ3
INC R0
DEC @R0
JAJ3:
DJNZ R2,JAJ4
INC R1
;MOV A,R1
;MOV B,#01H
;MUL AB
MOV R2, #06h
JAJ4:
MOV A,38H
ORL A,39H
JNZ JAJ10
CLR TR0
; sjmp $
MOV R3,#3AH
SJMP JAJ10
JAJ5:
CJNE R3,#3AH,JAJ7
MOV R0,#3AH
DEC @R0
CJNE @R0,#0FFH,JAJ6
INC R0
DEC @R0
JAJ6:
MOV A,3AH
ORL A,3BH
JNZ JAJ10
;sjmp $
JB 58H,SIGNAL
MOV R3,#3CH
DEC R1
;MOV A,R1
;MOV B,#01H
;MUL AB
MOV R2,#06h
SJMP JAJ10
JAJ7:
CJNE R3,#3CH,JAJ11
MOV R0,#3CH
DEC @R0
CJNE @R0,#0FFH,JAJ8
INC R0
DEC @R0
JAJ8:
DJNZ R2,JAJ9
DEC R1
;MOV A,R1
;MOV B,#01H
;MUL AB
MOV R2,#06h
JAJ9:
MOV A,3CH
ORL A,3DH
JNZ JAJ10
MOV R3,#00H
MOV 18H,R0
MOV 19H,R1
MOV 1AH,R2
SIGNAL:
LCALL L0587H
SJMP JAJ11
JAJ10:
JB 58H,JAJ101
MOV DPTR,#ABC
MOV A,R1
RL A
MOV B,A
MOVC A,@A+DPTR
CLR C
ADD A,#02H
JAJ100:
JNC JAJ1000
MOV TH0,#01H
JAJ1000:
CLR C
CLR TR0
ADD A,TL0
CLR TR0
JNC JAJ10000
MOV TH0,#01H
JAJ10000:
MOV TL0,A
;MOV 60H,A
MOV A,B
INC A
MOV DPTR,#ABC
MOVC A,@A+DPTR
ADD A, TH0
MOV TH0,A
;MOV 61H,A
SETB TR0
SJMP JAJ11
JAJ101:
MOV TH0,#0FEH
MOV TL0,#0BH
SETB TR0
;JAJ1001:
;ADD TL0,60H
;SETB TR0
JAJ11:
POP DPH
POP DPL
POP B
POP PSW
POP ACC
RETI
ABC:
DB 0BH, 0FEH, 0BH, 0FEH, 0BH, 0FEH, 014H, 0FEH, 01EH, 0FEH ; 10
DB 01EH, 0FEH, 033H, 0FEH, 04DH, 0FEH, 064H, 0FEH ; 15
DB 079H, 0FEH, 08CH, 0FEH, 09DH, 0FEH, 0ADH, 0FEH, 0BBH, 0FEH ; 20
DB 0C8H, 0FEH, 0D5H, 0FEH, 0E0H, 0FEH, 0EAH, 0FEH, 0F4H, 0FEH ; 25
DB 0FDH, 0FEH, 006H, 0FFH, 00EH, 0FFH, 016H, 0FFH, 01DH, 0FFH ; 30
DB 023H, 0FFH, 02AH, 0FFH, 030H, 0FFH, 035H, 0FFH, 03BH, 0FFH ; 35
DB 040H, 0FFH, 045H, 0FFH, 049H, 0FFH, 04EH, 0FFH, 052H, 0FFH ; 40
DB 056H, 0FFH, 05AH, 0FFH, 05EH, 0FFH, 061H, 0FFH, 064H, 0FFH ; 45
DB 068H, 0FFH, 06BH, 0FFH, 06EH, 0FFH, 071H, 0FFH, 074H, 0FFH ; 50
DB 076H, 0FFH, 079H, 0FFH, 07BH, 0FFH, 07EH, 0FFH, 080H, 0FFH ; 55
DB 082H, 0FFH, 084H, 0FFH, 087H, 0FFH, 089H, 0FFH, 08BH, 0FFH ; 60
DB 08DH, 0FFH, 08EH, 0FFH, 090H, 0FFH, 092H, 0FFH, 094H, 0FFH ; 65
DB 095H, 0FFH, 097H, 0FFH, 098H, 0FFH, 09AH, 0FFH, 09BH, 0FFH ; 70
DB 09BH, 0FFH, 09CH, 0FFH, 09DH, 0FFH, 09EH, 0FFH, 09EH, 0FFH ; 75
DB 09FH, 0FFH, 0A0H, 0FFH, 0A0H, 0FFH, 0A1H, 0FFH, 0A1H, 0FFH ;80
DB 0A2H, 0FFH, 0A2H,0FFH, 0A3H, 0FFH,0A3H, 0FFH, 0A3H, 0FFH
TIMER1:
PUSH ACC
PUSH PSW
MOV TH0,#0D8H
MOV TL0,#0EFH
CLR P2.1
SETB 71H
pop psw
pop acc
RETI
;***********************DATA PROCESS**********************************
DATAPROCESS:
CLR C
MOV A, 44H
SWAP A
ORL A, 45H
MOV R2, A
MOV A,46H
SWAP A
ORL A,47H
MOV R3,A
LCALL L0A8CH
MOV A,R3
MOV 58H,A
MOV A,R2
MOV 59H,A
JNZ DATAPROCESS1
CLR C
MOV A,58H
SUBB A,#10H
JNC DATAPROCESS1
MOV 58H,#10H
DATAPROCESS1:
CLR C
MOV A,58H
RLC A
MOV 54H,A
MOV A,59H
RLC A
MOV 55H,A
MOV A,54H
CLR C
RLC A
MOV 54H,A
MOV A,55H
RLC A
MOV 55H,A
READSPEED:
MOV A, 40H
MOV DPTR,#SPEED_TAB
MOVC A,@A+DPTR
MOV 63H,A
SJMP STEP
SPEED_TAB:
DB 8H
DB 16H
DB 20H
DB 26H
DB 30H
DB 38H
DB 3CH
DB 42H
DB 48H
DB 55H
STEP:
MOV A,63H
CLR C
SUBB A,#12
JNC UPDOWN
SETB 58H
SJMP PROTECT
UPDOWN:
INC A
MOV 63H,A
SUBB A,#0AH
MOV 64H,A
MOV R2,#00H
MOV R3,63H
MOV R6,#00H
MOV R7,#06h
LCALL L0AC6H
MOV 56H,R5
MOV 57H,R4
CLR C
;MOV A,56H
;RLC A
;MOV 3EH,A
;MOV A,57H
;RLC A
;MOV 3FH,A
MOV R2,#00H
MOV R3,64H
MOV R6,#00H
MOV R7,#06h
LCALL L0AC6H
MOV 60H,R5
MOV 61H,R4
CLR C
MOV A,56H
ADD A,60H
MOV 3EH,A
MOV A,57H
ADDC A,61H
MOV 3FH,A
CLR C
MOV A,54H
SUBB A,3EH
MOV 54H,A
MOV A,55H
SUBB A,3FH
MOV 55H,A
JC ERROR
MOV A,55H
JNZ PROTECT
MOV A,54H
JZ ERROR
CLR 70H
PROTECT:
MOV DPTR, #0034H
INC 0A2H
MOV DPTR, #0078H
INC 0A2H
MOV A, 82H
CJNE A, #78H, DATAEND
LJMP DATAEND
DATAEND:
RET
ERROR:
SETB 70H
CLR TR0
RET
;*********************DATA PROCESS OVER ****************
;**********************4LED DEMONSTRATE*****************
DEMO:
MOV DPTR, #TABLE
JB 7EH, L0834H
MOV A, 31H
CJNE A, #01H, L0834H
MOV 80H, #0FFH
SJMP LED1
L0834H:
MOV A, @R0
MOVC A, @A+DPTR
MOV 80H, A
LED1:
CLR P2.4
LCALL L08F8H
SETB P2.4
DISPLAY2:
INC R0
MOV DPTR, #TABLE
JB 7EH, L0852H
MOV A, 31H
CJNE A, #02H, L0852H
MOV 80H, #0FFH
SJMP LED2
L0852H:
MOV A, @R0
MOVC A, @A+DPTR
MOV 80H, A
MOV A,30H
CJNE A,#02H,LED2
CLR P0.3
LED2:
CLR P2.5
LCALL L08F8H
SETB P2.5
DISPLAY3:
INC R0
MOV DPTR, #TABLE
JB 7EH, L086BH
MOV A, 31H
CJNE A, #03H, L086BH
MOV 80H, #0FFH
SJMP LED3
L086BH:
MOV A, @R0
MOVC A, @A+DPTR
MOV 80H, A
LED3:
CLR P2.6
LCALL L08F8H
SETB P2.6
DISPLAY4:
INC R0
MOV DPTR, #TABLE
JB 7EH, L088EH
MOV A, 31H
CJNE A, #04H, L088EH
MOV 80H, #0FFH
SJMP LED4
L088EH:
MOV A, @R0
MOVC A, @A+DPTR
MOV 80H, A
LED4:
CLR P2.7
LCALL L08F8H
SETB P2.7
DISPLAYLAMP:
MOV 80H, 5AH
MOV A,30H
JNB 70H, SPEEDCHECK
MOV C,7EH
MOV P0.1,C
JB 7EH,SPEEDCHECK
CLR RD
SPEEDCHECK:
JNB SPEEDERR,INTLED
MOV C,7EH
MOV P0.4,C
JB 7EH,INTLED
CLR RD
INTLED:
JNB 64H,LAMP
CLR P0.2
LAMP:
CLR P2.3
LCALL L08F8H
SETB P2.3
INC 37H
MOV A, 37H
CJNE A, #1EH, L08C2H
MOV 37H, #00H
CPL 7EH
L08C2H:
RET
;*****************4LED DEMONSTRATE OVER**********************
;*****************SEARCH FOR START AND CURSOR SIGNAL****************
L08F8H:
MOV 35H, #04H
L08FBH:
MOV 36H, #32H
L08FEH:
JB 60H, L096CH
JNB P1.0, L0971H
MOV 65H, #0FAH
L0907H:
JNB P1.0, L0971H
DJNZ 65H, L0907H
SETB 60H
JB 79H,L0971H
JNB 77H,L0971H
;JNB 71H,L0971H
;CLR 71H
CLR TR1
CLR P2.1
CLR 69H
JB 70H,L0971H
JB SPEEDERR,L0971H
LCALL CTLOUT
SJMP L0971H
L096CH:
JB P1.0, L0971H
CLR 60H
L0971H:
DJNZ 36H, L099BH;judge for 50*4=200 TIMES ,RET.
DJNZ 35H, L099EH
STARTOK:
RET
L099BH:
LJMP L08FEH
L099EH:
LJMP L08FBH
;*****************SEARCH START AND CURSOR OVER*********
MOV 32H, #0FAH
L09A4H:
NOP ;WHAT USE?
NOP
DJNZ 32H, L09A4H
RET
;*****************DELAY 100MS BEGIN**************
L09AAH:
MOV 32H, #0CH
L09ADH:
MOV 33H, #0FAH
L09B0H:
DJNZ 33H, L09B0H
DJNZ 32H, L09ADH
RET
DELAY100MS:
MOV 32H, #0C8H
SJMP L09ADH
MOV 34H, #0FAH
L09BFH:
LCALL L09AAH
DJNZ 34H, L09BFH
RET
DROPOWER:
CLR EX1
JB 7FH, L09EFH
JB 6EH, L09EFH
SETB 6EH
SAVEDATA:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -