⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ky205cc.asm

📁 分区控制器
💻 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 + -