📄 ky205cc.asm
字号:
OVR_F EQU 20H
S_FLG EQU 21H
R_FLG EQU 22H
R_FLG0 EQU 23H
OVR_F1 EQU 24H
DAT_5 EQU 25H
B_NUM EQU 27H
BJ_NUM EQU 28H
LED_T EQU 29H
SS_FLG EQU 2AH
SR_SJF EQU 2BH
R_ADR EQU 2CH
S_ADR EQU 2DH
SS_FLG1 EQU 2EH
DAT_0 EQU 30H
S_DAT EQU 40H
R_DAT EQU 48H
SS_ADR1 EQU 50H
SS_ADR2 EQU 51H
S_DATA EQU 52H
DSP_0 EQU 58H
DSP_1 EQU 5CH
TEST_F EQU 60H
TEST_T EQU 61H
TEST_T1 EQU 62H
ERR_F EQU 63H
BL1 EQU 64H
BL2 EQU 65H
;xiao fang xin hao zhi neng jie ko
;xin hao cai ji
;2002.1.11-2002.10.9
ORG 0000H
AJMP BEG
;
ORG 000BH
LJMP TIME
;
ORG 0023H
JMP S_INT
;
ORG 0030H
BEG: CALL INIT
CLR P3.2
CLR P3.3
CLR P3.4
CALL WAIT1
MOV TMOD,#22H
MOV TH0,#56
MOV TL0,#56
SETB TR0
SETB ET0
;
MOV SCON,#0D0H
MOV TH1,#0FAH
MOV TL1,#0FAH
SETB TR1
SETB ES ;4800BP
SETB EA
;
MAIN: MOV A,SR_SJF
JZ MAI0
CALL SR_SJ
CALL SJ_CL
MOV SR_SJF,#00H
;
MAI0: MOV A,R_FLG0
JZ MAIN
MOV R_FLG0,#00H
CALL RSJ_CL
JMP MAIN
;
TIME: PUSH ACC
PUSH PSW
DJNZ R7,TIMR
MOV R7,#200
MOV SR_SJF,#0FFH
TIM1: DEC LED_T
MOV A,LED_T
JNZ TIM3
MOV LED_T,#10
CALL LED_SS
TIM3: MOV A,R6
JZ TIM4
DJNZ R6,TIM4
MOV R_FLG,#00H
MOV OVR_F,#0FFH
TIM4: MOV A,R5
JZ TIMR
DJNZ R5,TIMR
MOV OVR_F1,#0FFH
TIMR: POP PSW
POP ACC
RETI
;
SJ_CL: PUSH 00H ;R0
PUSH 01H ;R1
MOV SS_ADR1,#30H
MOV SS_ADR2,#34H
MOV A,B_NUM
MOV BJ_NUM,A
MOV R3,#08H
;
SJ_CL0: MOV R1,SS_ADR1
MOV A,@R1
JNB ACC.7,SJ_CL1
MOV R1,SS_ADR2
MOV A,@R1
SETB ACC.7
MOV @R1,A
CALL SJ_ZH
MOV A,SS_ADR2
ADD A,#04H
MOV R1,A
MOV A,@R1
JB ACC.7,S_C0C
MOV A,BJ_NUM
MOV 44H,A
CALL FS_KZ
MOV R_FLG0,#00H
MOV R5,#60
MOV OVR_F1,#00H
S_C0B: MOV A,R_FLG0
JZ S_C0D
MOV R_FLG0,#00H
MOV R5,#60
CALL RS_CL0
JC S_C0B
MOV R5,#00H
MOV OVR_F1,#00H
MOV A,SS_ADR2
ADD A,#04H
MOV R1,A
MOV A,@R1
SETB ACC.7
MOV @R1,A
MOV R1,#DSP_1
CALL SJ_ZHA
S_C0C: JMP SJ_CL1
S_C0D: MOV A,OVR_F1
JZ S_C0B
;
SJ_CL1: MOV R1,SS_ADR1
MOV A,@R1
RL A
MOV @R1,A
MOV R1,SS_ADR2
MOV A,@R1
RL A
MOV @R1,A
MOV A,SS_ADR2
ADD A,#04H
MOV R1,A
MOV A,@R1
RL A
MOV @R1,A
INC BJ_NUM
DJNZ R3,SJ_CL0
INC SS_ADR1
INC SS_ADR2
MOV R3,#08H
MOV A,SS_ADR1
CJNE A,#33H,SJ_CL0
POP 01H
POP 00H
RET
;
SJ_ZH: PUSH 03H
PUSH 01H
MOV A,BJ_NUM
CLR C
SUBB A,B_NUM
MOV B,#10
DIV AB
PUSH ACC
MOV A,B
RL A
CLR ACC.0
POP B
ADD A,B
PUSH ACC
RR A
RR A
RR A
ANL A,#07H
MOV BL1,A
; ADD A,R1
; MOV R1,A
POP ACC
ANL A,#07H
INC A
MOV R3,A
MOV A,#0FEH
SJ_ZH0: RR A
DJNZ R3,SJ_ZH0
MOV BL2,A
MOV A,BL1
CJNE A,#00H,SJ_ZH1
MOV A,DSP_0
ANL A,BL2
MOV DSP_0,A
JMP SJ_ZHR
SJ_ZH1: CJNE A,#01H,SJ_ZH2
MOV A,DSP_0+1
ANL A,BL2
MOV DSP_0+1,A
JMP SJ_ZHR
SJ_ZH2: CJNE A,#02H,SJ_ZHR
MOV A,DSP_0+2
ANL A,BL2
MOV DSP_0+2,A
SJ_ZHR: POP 01H
POP 03H
RET
;
SJ_ZHA: PUSH 03H
PUSH 01H
MOV A,BJ_NUM
CLR C
SUBB A,B_NUM
MOV B,#10
DIV AB
PUSH ACC
MOV A,B
RL A
CLR ACC.0
POP B
ADD A,B
PUSH ACC
RR A
RR A
RR A
ANL A,#07H
MOV BL1,A
; ADD A,R1
; MOV R1,A
POP ACC
ANL A,#07H
INC A
MOV R3,A
MOV A,#0FEH
SJ_ZHB: RR A
DJNZ R3,SJ_ZHB
MOV B,A
MOV A,BL1
CJNE A,#00H,SJ_ZHC
MOV A,DSP_1
ANL A,B
MOV DSP_1,A
JMP SJ_ZHAR
SJ_ZHC: CJNE A,#01H,SJ_ZHD
MOV A,DSP_1+1
ANL A,B
MOV DSP_1+1,A
JMP SJ_ZHAR
SJ_ZHD: CJNE A,#02H,SJ_ZHAR
MOV A,DSP_1+2
ANL A,B
MOV DSP_1+2,A
SJ_ZHAR:
POP 01H
POP 03H
RET
;
D_LED: SETB P2.7
MOV A,DSP_0
MOV P0,A
MOV A,#07H
MOV P2,A
NOP
SETB P2.7
MOV A,DSP_0+1
MOV P0,A
DEC P2
CLR P2.7
NOP
SETB P2.7
MOV A,DSP_0+2
MOV P0,A
DEC P2
CLR P2.7
NOP
MOV P2,#0FFH
NOP
MOV P0,#0FFH
RET
;
INIT: MOV R0,#30H
MOV A,#00H
MOV R4,#16
INIT0: MOV @R0,A
INC R0
DJNZ R4,INIT0
;
MOV R0,#DSP_0
MOV A,#0FFH
MOV R4,#08H
INIT1: MOV @R0,A
INC R0
DJNZ R4,INIT1
;
MOV A,P1
ANL A,#0FH
MOV B,#20
MUL AB
MOV B_NUM,A
;
MOV A,#00H
SETB ACC.2
SETB ACC.7
MOV P2,A
MOV A,P1
ANL A,#0FH
INC A
MOV R3,A
MOV A,#0FDH
INIT2: RL A
DJNZ R3,INIT2
MOV P0,A
CLR P2.7
NOP
NOP
MOV P2,#0FFH
MOV P0,#0FFH
NOP
MOV A,#00H
ADD A,#05H
MOV P2,A
NOP
NOP
INC A
MOV P2,A
NOP
NOP
INC A
MOV P2,A
NOP
NOP
MOV P2,#0FFH
MOV P0,#0FFH
MOV 40H,#0AAH
MOV 41H,#0CH
MOV 42H,#01H
MOV 43H,#00H
MOV 44H,#00H
MOV 45H,#00H
MOV 46H,#00H
MOV LED_T,#10
MOV SS_FLG,#00H
MOV SR_SJF,#00H
MOV R_FLG,#00H
MOV R_FLG0,#00H
MOV S_FLG,#00H
MOV OVR_F1,#00H
RET
;
SS_LED: MOV A,DSP_1
ORL A,DSP_0
MOV P0,A
MOV A,#00H
ORL A,#07H
MOV P2,A
NOP
SETB P2.7
MOV A,DSP_1+1
ORL A,DSP_0+1
MOV P0,A
DEC P2
CLR P2.7
NOP
SETB P2.7
MOV A,DSP_1+2
ORL A,DSP_0+2
MOV P0,A
DEC P2
CLR P2.7
NOP
MOV P2,#0FFH
NOP
MOV P0,#0FFH
RET
;
SR_SJ: MOV P2,#0FFH
MOV P0,#0FFH
MOV A,#00H
MOV P2,A
MOV A,P0
MOV 30H,A
INC P2
NOP
NOP
MOV A,P0
MOV 31H,A
INC P2
NOP
NOP
MOV A,P0
ANL A,#0F0H
MOV 32H,A
SETB P2.7
MOV P2,#0FFH
RET
;fu wei xi tong 48H=0CH,49H=03H
RSJ_CL: MOV A,48H
CJNE A,#0CH,RSJ_R
MOV A,49H
CJNE A,#03H,RSJ_R
CALL INIT
RSJ_R: RET
;RS232 zhong duan
S_INT: PUSH ACC
PUSH PSW
PUSH 00H
S_IN0: JNB TI,S_IN1
CLR TI
MOV A,S_ADR
CPL A
JZ S_IN1
MOV A,S_ADR
MOV R0,A
MOV A,@R0
MOV C,P
CPL C
MOV TB8,C
MOV SBUF,A
INC S_ADR
MOV A,#S_DAT
ADD A,#08H
CLR C
SUBB A,S_ADR
JNZ S_IN1
MOV S_FLG,#0FFH
MOV S_ADR,#0FFH
JB RI,S_IN1
POP 00H
POP PSW
POP ACC
RETI
;
S_IN1: JNB RI,S_IN5
CLR RI
MOV A,R_FLG
CJNE A,#00H,S_IN2
MOV A,SBUF
CJNE A,#0AAH,S_IN5
INC R_FLG
MOV R6,#30
MOV OVR_F,#00H
JMP S_IN5
S_IN2: CJNE A,#01H,S_IN4
MOV A,SBUF
CJNE A,#0AAH,S_IN3
INC R_FLG
MOV R_ADR,#R_DAT
MOV R6,#30
JMP S_IN5
S_IN3: MOV R_FLG,#00H
MOV R6,#00H
JMP S_IN5
S_IN4: MOV A,R_ADR
MOV R0,A
MOV A,SBUF
MOV @R0,A
INC R_ADR
MOV A,#R_DAT
ADD A,#07H
CLR C
SUBB A,R_ADR
JNZ S_IN5
MOV R_FLG,#00H
MOV R6,#00H
MOV A,48H
ADD A,49H
ADD A,4AH
ADD A,4BH
ADD A,4CH
ADD A,4DH
CLR C
SUBB A,4EH
JNZ S_IN5
MOV R_FLG0,#0FFH
S_IN5: JNB TI,S_IN6
JMP S_IN0
S_IN6: POP 00H
POP PSW
POP ACC
RETI
;
RS_CL0: MOV A,48H
CJNE A,#0CH,RS_C0A
MOV A,49H
CJNE A,#02H,RS_C0A
MOV A,4AH
CJNE A,#00H,RS_C0A
MOV A,4BH
CLR C
SUBB A,BJ_NUM
JNZ RS_C0A
CLR C
JMP RS_C0R
RS_C0A: SETB C
RS_C0R: RET
;
WAIT: PUSH 04H
MOV R4,#0FFH
WAT1: NOP
DJNZ R4,WAT1
POP 04H
RET
;
WAIT1: PUSH 04H
MOV R4,#100
WAIT10: CALL WAIT
DJNZ R4,WAIT10
POP 04H
RET
;
FS_KZ: MOV 40H,#0AAH
MOV A,41H
ADD A,42H
ADD A,43H
ADD A,44H
ADD A,45H
ADD A,46H
MOV 47H,A
MOV S_FLG,#00H
MOV S_ADR,#40H
MOV A,#0AAH
MOV C,P
CPL C
MOV TB8,C
MOV SBUF,A
FS_KZ1: MOV A,S_FLG
JZ FS_KZ1
CLR RI
RET
;
LED_SS: PUSH ACC
MOV A,SS_FLG
CPL A
MOV SS_FLG,A
JZ LED_S0
CALL SS_LED
JMP LED_SR
LED_S0: CALL D_LED
LED_SR: POP ACC
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -