📄 xwfab.asm
字号:
MOV R1,#35H
MOV R2,#3
LCALL BCDS;@R1-@R0->@R1
CALDDA1:RET
CALCUDDATAS:MOV R0,#DDATAS+1
MOV R1,#35H
MOV R2,#3
LCALL BCDS;@R1-@R0->@R1
MOV A,35H
CJNE A,#03H,CALDDS0
MOV A,36H
CJNE A,#60H,CALDDS0
MOV A,37H
CJNE A,#00H,CALDDS0
MOV 35H,#0
MOV 36H,#0
MOV 37H,#0
RET
CALDDS0:JC CALDDS1
MOV DDATAS+1,#03H
MOV DDATAS+2,#60H
MOV DDATAS+3,#00H
MOV R0,#DDATAS+1
MOV R1,#35H
MOV R2,#3
LCALL BCDS;@R1-@R0->@R1
CALDDS1:RET
;-----------------
;08H 09H 0AH 0BH 0CH 0DH
;Ua Ub Uc Ia Ib Ic
CHECK_UI:MOV R7,#0FFH
CHECKUIK:INC R7
MOV A,R7
ADD A,#08H
MOV B,#5
MUL AB
MOV R5,A
MOV DPTR,#ROOMUI_PC
MOV A,DPL
ADD A,R5
MOV DPL,A
MOV A,DPH
ADDC A,#0
MOV DPH,A
INC DPTR
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TXAR
MOV A,SPI_TMPGS
XRL A,SPI_TMPGS+1
JNZ CHECKUIL
LCALL REWRITEFAI
CHECKUIL:MOV A,R7
XRL A,#05H
JNZ CHECKUIK
RET
REWRITEFAI: MOV DPTR,#REWRITEFAI_L
MOV A,R7
MOV B,#3
MUL AB
JMP @A+DPTR
REWRITEFAI_L:LJMP REWRITEFAIUa
LJMP REWRITEFAIUb
LJMP REWRITEFAIUc
LJMP REWRITEFAIIa
LJMP REWRITEFAIIb
LJMP REWRITEFAIIc
REWRITEFAIUa:MOV DPTR,#ROOMFAI_PC
MOV A,#0
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
MOV DPTR,#ROOMFAI_PC
MOV A,#4
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
MOV DPTR,#ROOMFAI_PC
MOV A,#6
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
RET
REWRITEFAIUb:MOV DPTR,#ROOMFAI_PC
MOV A,#1
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
MOV DPTR,#ROOMFAI_PC
MOV A,#4
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
INC DPTR
INC DPTR
INC DPTR
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
RET
REWRITEFAIUc:MOV DPTR,#ROOMFAI_PC
MOV A,#2
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
MOV DPTR,#ROOMFAI_PC
MOV A,#5
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
INC DPTR
INC DPTR
INC DPTR
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
RET
REWRITEFAIIa:MOV DPTR,#ROOMFAI_PC
MOV A,#0
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
MOV DPTR,#ROOMFAI_PC
MOV A,#7
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
MOV DPTR,#ROOMFAI_PC
MOV A,#9
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
RET
REWRITEFAIIb:MOV DPTR,#ROOMFAI_PC
MOV A,#1
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
MOV DPTR,#ROOMFAI_PC
MOV A,#7
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
MOV DPTR,#ROOMFAI_PC
MOV A,#8
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
RET
REWRITEFAIIc:MOV DPTR,#ROOMFAI_PC
MOV A,#2
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
MOV DPTR,#ROOMFAI_PC
MOV A,#8
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
MOV DPTR,#ROOMFAI_PC
MOV A,#9
MOV B,#3
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV R0,#SPI_TMPGS
MOV R2,#3
LCALL TRAX
RET
;*****************************
;interrupted by timer0
;*****************************
T0_INT:PUSH PSW;0.04s
PUSH ACC
;SETB RS0
MOV TL0,#0H;
MOV TH0,#0H;
INC TIME1
INC TIME2
MOV A,TIME1
CJNE A,#10,T0NT1 ;1s
T0NT1:JC T0NT2
MOV TIME1,#0
SETB BIT_LED
T0NT2:MOV A,TIME2
CJNE A,#256,T0NT21 ;1s
T0NT21:JC T0NT_RET
INC TIME3
MOV A,TIME3
CJNE A,#50,T0NT22 ;1s
T0NT22:JC T0NT_RET
MOV TIME2,#0
MOV TIME3,#0
;SETB BIT_FAUIFAI
T0NT_RET:POP ACC
POP PSW
RETI;
;*****************************
;serial with pc
;*****************************
SERI_PC:
PUSH ACC
PUSH DPL
PUSH DPH
PUSH PSW
SERIR:JNB RI,SERIT
CLR RI
MOV A,SBUF
MOV DPTR,#SO_BUF_PC
MOV DPL,SO_HEAD_PC
MOVX @DPTR,A
INC SO_HEAD_PC
SJMP SERI_RET
SERIT:JNB TI,SERI_RET
CLR TI
MOV A,FA_HEAD_PC
XRL A,FA_END_PC
JNZ SERIT1
CLR BIT_FA
SJMP SERI_RET
SERIT1:MOV DPTR,#FA_BUF_PC
MOV DPL,FA_END_PC
MOVX A,@DPTR
MOV SBUF,A
INC FA_END_PC
SERI_RET: POP PSW
POP DPH
POP DPL
POP ACC
RETI
;------------------------
PC_COM: MOV A,SO_HEAD_PC
CLR C
SUBB A,SO_END_PC
CJNE A,#4,PC_COM1
PC_COM1:JNC PCOM1
RET
PCOM1: MOV DPTR,#SO_BUF_PC
MOV DPL,SO_END_PC
MOVX A,@DPTR
CJNE A,#0FFH,ERR_ORDER
INC DPL
MOVX A,@DPTR
CJNE A,#0E0H,ERR_ORDER
INC DPL
MOVX A,@DPTR
;ANL A,#0FH
MOV DPTR,#PC_COM2
MOV B,#3
MUL AB
JMP @A+DPTR
PC_COM2:ljmp changpx;0
ljmp fatchdatauifai;1
ljmp fatchdataSUI;2pccomover
ljmp fatchdataSUU;3pccomover
;************************
ljmp fatchdatauibm;4
ljmp writekuki;5
ljmp writeddatfai;6
;************************
ljmp fatchdataSII;7
;--------------
err_order:inc so_end_pc
ret
;--------------
changpx:mov dptr,#so_buf_pc
mov dpl,so_end_pc
mov a,dpl
add a,#4
mov dpl,a
movx a,@dptr
xrl a,#0dh
jz changpx_l
ret
changpx_l:mov dptr,#so_buf_pc
mov dpl,so_end_pc
mov a,dpl
add a,#3
mov dpl,a
movx a,@dptr
cjne a,#00h,changpx1
setb bit_sy33
MOV A,U11;33
CLR ACC.0;SEL
CLR ACC.5;
CLR ACC.6;
setb ACC.7;
MOV U11,A;33/1
LCALL SERVE_U11
ljmp pccomover
;mov a,so_end_pc
;add a,#5
;mov so_end_pc,a
;ret
changpx1:cjne a,#01h,err_order
clr bit_sy33
MOV A,U11;34
setb ACC.0;SEL
SETB ACC.5
CLR ACC.6
CLR ACC.7
MOV U11,A
LCALL SERVE_U11
ljmp pccomover
;mov a,so_end_pc
;add a,#5
;mov so_end_pc,a
;ret
;--------------
fatchdatauifai:mov dptr,#so_buf_pc
mov dpl,so_end_pc
mov a,dpl
add a,#3
mov dpl,a
movx a,@dptr
xrl a,#0dh
jz fatchdatauifai_l
ret
fatchdatauifai_33g:ljmp fatchdatauifai_33
fatchdatauifai_l:jb bit_sy33,fatchdatauifai_33g
fatchdatauifai_34:mov dptr,#fa_buf_pc
mov dpl,fa_head_pc
mov a,#0dah
movx @dptr,a
inc dpl
mov a,#3*6+3*9;7*4+10*3
movx @dptr,a
inc dpl
mov r4,dph
mov r5,dpl
mov dptr,#roomui_pc
mov a,#8
mov b,#5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -