📄 xwfab.asm
字号:
mov R7,#08h;
mov a,SPI_TMP+1
WritedaHLoop:
rlc a;
jc WritedaHHi;
WritedaHLo:
setb SCLK;
clr DIN;
clr SCLK;
nop;
jmp WritedaHEnd;
WritedaHHi:
setb SCLK;
setb DIN;
clr SCLK;
nop;
WritedaHEnd:
djnz R7,WritedaHLoop;
mov R7,#08h;
mov a,SPI_TMP+2
WritedaMLoop:
rlc a;
jc WritedaMHi;
WritedaMLo:
setb SCLK;
clr DIN;
clr SCLK;
nop;
jmp WritedaMEnd;
WritedaMHi:
setb SCLK;
setb DIN;
clr SCLK;
nop;
WritedaMEnd:
djnz R7,WritedaMLoop;
mov R7,#08h;
mov a,SPI_TMP+3
WritedaLLoop:
rlc a;
jc WritedaLHi;
WritedaLLo:
setb SCLK;
clr DIN;
clr SCLK;
nop;
jmp WritedaLEnd;
WritedaLHi:
setb SCLK;
setb DIN;
clr SCLK;
nop;
WritedaLEnd:
djnz R7,WritedaLLoop;
clr DIN
ret;
;=======================================
ORDER_RST7028:MOV DPTR,#RST7028_L
MOV A,switch_c
MOV B,#3
MUL AB
JMP @A+DPTR
RST7028_L:LJMP RSTUI7028
LJMP RSTUU7028
LJMP RSTII7028
RSTUI7028:MOV SPI_TMP,#0D3H
CLR CS1
LCALL WT4D_SPI
SETB CS1
RET
RSTUU7028:MOV SPI_TMP,#0D3H
CLR CS2
LCALL WT4D_SPI
SETB CS2
RET
RSTII7028:MOV SPI_TMP,#0D3H
CLR CS3
LCALL WT4D_SPI
SETB CS3
RET
;---------------------------------------
ORDER_CLEAR7028:MOV DPTR,#CLEAR7028_L
MOV A,switch_c
MOV B,#3
MUL AB
JMP @A+DPTR
CLEAR7028_L:LJMP CLEARUI7028
LJMP CLEARUU7028
LJMP CLEARII7028
CLEARUI7028:MOV SPI_TMP,#0C3H
CLR CS1
LCALL WT4D_SPI
SETB CS1
RET
CLEARUU7028:MOV SPI_TMP,#0C3H
CLR CS2
LCALL WT4D_SPI
SETB CS2
RET
CLEARII7028:MOV SPI_TMP,#0C3H
CLR CS3
LCALL WT4D_SPI
SETB CS3
RET
;---------------------------------------
ORDER_START7028:MOV DPTR,#START7028_L
MOV A,switch_c
MOV B,#3
MUL AB
JMP @A+DPTR
START7028_L:LJMP STARTUI7028
LJMP STARTUU7028
LJMP STARTII7028
STARTUI7028:MOV SPI_TMP,#80H
CLR CS1
LCALL WT4D_SPI
SETB CS1
RET
STARTUU7028:MOV SPI_TMP,#80H
CLR CS2
LCALL WT4D_SPI
SETB CS2
RET
STARTII7028:MOV SPI_TMP,#80H
CLR CS3
LCALL WT4D_SPI
SETB CS3
RET
;---------------------------------------
CHECKJZ:PUSH SPI_ARRAY
MOV switch_c,#0
CHCKJZ:MOV A,switch_c
MOV B,#QUANTITY1
MUL AB
ADD A,#31
MOV SPI_ARRAY,A
LCALL HOST_READ
MOV A,SPI_TMP
JNB ACC.0,EEPJZ_NNEND
LCALL EEPJZ
EEPJZ_NNEND:INC switch_c
MOV A,switch_c
CJNE A,#1,CHCKJZ
POP SPI_ARRAY
RET
EEPJZ:MOV R5,#0
;LCALL ORDER_CLEAR7028
LCALL ORDER_START7028
LCALL SET_HFConst
LCALL SET_LFConst
EEPJZ1: MOV DPTR,#tab_jz
MOV A,R5
MOVC A,@A+DPTR
MOV SPI_TMP,A
MOV R6,#dtxzui
MOV A,switch_c
MOV B,#QUANTITY3*3
MUL AB
ADD A,R6
MOV R6,A
MOV A,B
RL A
ANL A,#02H
MOV PAGE0,A
MOV A,SPI_TMP
DEC A
MOV B,#3
MUL AB
ADD A,R6
MOV R6,A
MOV R0,#SPI_TMP+1
MOV R7,#3
LCALL READ_BYTES
MOV A,SPI_TMP
ORL A,#80H
MOV SPI_TMP,A
MOV DPTR,#CKJZ_L
MOV A,switch_c
MOV B,#3
MUL AB
JMP @A+DPTR
CKJZ_L:LJMP EEPRJZUI
LJMP EEPRJZUU
LJMP EEPRJZII
EEPRJZUI:CLR CS1
LCALL WT4D_SPI
SETB CS1
sjmp continualeepjz
EEPRJZUU:CLR CS2
LCALL WT4D_SPI
SETB CS2
sjmp continualeepjz
EEPRJZII:CLR CS3
LCALL WT4D_SPI
SETB CS3
sjmp continualeepjz
continualeepjz:inc r5
mov a,r5
xrl a,#34
jnz eepjz1
ret
;*****************************
;exchanggs ui uu ii
;*****************************
EXCHANGGS: MOV A,SPI_ARRAY
MOV B,#quantity1;36
DIV AB
;PUSH ACC;0\1\2
PUSH B;0--35
EXCHA0:MOV B,#03H
MUL AB
MOV DPTR,#EXCHA_L
JMP @A+DPTR
EXCHA_L:LJMP EXCHANGGS_UI
LJMP EXCHANGGS_UU
LJMP EXCHANGGS_II
;=====================================
EXCHANGGS_UI: POP ACC;0--35
MOV R0,A
CJNE A,#quantity2,EXC_UI0
EXC_UI0:JC EXC_UI1
CLR BIT_GSUI
RET
EXC_UI1:MOV DPTR,#TABCALGS_7028
MOV A,DPL
ADD A,R0
MOV DPL,A
MOV A,DPH
ADDC A,#0
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV SPICHGS,A
MOV B,#03H
MUL AB
MOV DPTR,#SPICHGS_L
JMP @A+DPTR
;---------------
EXCHANGGS_UU: POP ACC;0--35
MOV R0,A
CJNE A,#quantity2,EXC_UU0
EXC_UU0:JC EXC_UU1
CLR BIT_GSUU
RET
EXC_UU1:MOV DPTR,#TABCALGS_7028
MOV A,DPL
ADD A,R0
MOV DPL,A
MOV A,DPH
ADDC A,#0
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV SPICHGS,A
MOV B,#03H
MUL AB
MOV DPTR,#SPICHGS_L
JMP @A+DPTR
;---------------
EXCHANGGS_II: POP ACC;0--35
MOV R0,A
CJNE A,#quantity2,EXC_II0
EXC_II0:JC EXC_II1
CLR BIT_GSII
RET
EXC_II1:MOV DPTR,#TABCALGS_7028
MOV A,DPL
ADD A,R0
MOV DPL,A
MOV A,DPH
ADDC A,#0
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV SPICHGS,A
MOV B,#03H
MUL AB
MOV DPTR,#SPICHGS_L
JMP @A+DPTR
;---------------
SPICHGS_L:LJMP SPICHGS_MMM
LJMP SPICHGS_NNN
LJMP SPICHGS_sa
LJMP SPICHGS_pg
LJMP SPICHGS_FAI
LJMP SPICHGS_f
LJMP SPICHGS_Neng
;======================================
SPICHGS_MMM:MOV A,SPI_TMP
JNB ACC.7,GS_MM_Z
MOV 3FH,#1
CLR C
MOV A,SPI_TMP+2
SUBB A,#1
CPL A
MOV SPI_TMP+2,A
MOV A,SPI_TMP+1
SUBB A,#0
CPL A
MOV SPI_TMP+1,A
MOV A,SPI_TMP
SUBB A,#0
CPL A
ANL A,#7FH
MOV SPI_TMP,A
SJMP GS_MMM_Z
GS_MM_Z:MOV 3FH,#0
GS_MMM_Z:MOV 44H,#10H
MOV 45H,#27H
MOV A,SPI_TMP
MOV SPI_TMP,SPI_TMP+2
MOV SPI_TMP+2,A
MOV R0,#44H
MOV R2,#02H
MOV R1,#SPI_TMP
MOV R3,#03H
LCALL MMUL
MOV R0,#44H
MOV R2,#04H
MOV 40H,#00H
MOV 41H,#01H
MOV R1,#40H
MOV R3,#02H
LCALL MDIV
MOV R0,#44H
MOV R7,#03H
MOV R1,#SPI_TMPGS+1
LCALL NBTD
MOV SPI_TMPGS,3FH
LJMP STOR_EXCGS
;---------------
SPICHGS_NNN:MOV A,SPI_TMP
JNB ACC.7,GS_NN_Z
MOV 3FH,#1
CLR C
MOV A,SPI_TMP+2
SUBB A,#1
CPL A
MOV SPI_TMP+2,A
MOV A,SPI_TMP+1
SUBB A,#0
CPL A
MOV SPI_TMP+1,A
MOV A,SPI_TMP
SUBB A,#0
CPL A
ANL A,#7FH
MOV SPI_TMP,A
SJMP GS_NNN_Z
GS_NN_Z:MOV 3FH,#0
GS_NNN_Z:MOV 44H,#10H
MOV 45H,#27H
MOV A,SPI_TMP
MOV SPI_TMP,SPI_TMP+2
MOV SPI_TMP+2,A
MOV R0,#44H
MOV R2,#02H
MOV R1,#SPI_TMP
MOV R3,#03H
LCALL MMUL
MOV R0,#44H
MOV R2,#04H
MOV 40H,#40H
MOV R1,#40H
MOV R3,#01H
LCALL MDIV
MOV R0,#44H
MOV R7,#03H
MOV R1,#SPI_TMPGS+1
LCALL NBTD
MOV SPI_TMPGS,3FH
LJMP STOR_EXCGS
;---------------
SPICHGS_SA:MOV A,SPI_TMP
JNB ACC.7,GS_Urm_Z
MOV 3FH,#1
CLR C
MOV A,SPI_TMP+2
SUBB A,#1
CPL A
MOV SPI_TMP+2,A
MOV A,SPI_TMP+1
SUBB A,#0
CPL A
MOV SPI_TMP+1,A
MOV A,SPI_TMP
SUBB A,#0
CPL A
ANL A,#7FH
MOV SPI_TMP,A
SJMP GS_Urms_Z
GS_Urm_Z:MOV 3FH,#0
GS_Urms_Z:MOV 44H,#10H
MOV 45H,#27H
MOV A,SPI_TMP
MOV SPI_TMP,SPI_TMP+2
MOV SPI_TMP+2,A
MOV R0,#44H
MOV R2,#02H
MOV R1,#SPI_TMP
MOV R3,#03H
LCALL MMUL
MOV R0,#44H
MOV R2,#06H
MOV 40H,#00H
MOV 41H,#20H
MOV R1,#40H
MOV R3,#02H
LCALL MDIV
MOV R0,#44H
MOV R7,#03H
MOV R1,#SPI_TMPGS+1
LCALL NBTD
MOV SPI_TMPGS,3FH
LJMP STOR_EXCGS
;---------------
SPICHGS_pg: MOV A,SPI_TMP
JNB ACC.7,GS_p_Z
MOV 3FH,#1
CLR C
MOV A,SPI_TMP+2
SUBB A,#1
CPL A
MOV SPI_TMP+2,A
MOV A,SPI_TMP+1
SUBB A,#0
CPL A
MOV SPI_TMP+1,A
MOV A,SPI_TMP
SUBB A,#0
CPL A
ANL A,#7FH
MOV SPI_TMP,A
SJMP GS_pg_Z
GS_p_Z:MOV 3FH,#0
GS_pg_Z: MOV 44H,#00H
MOV 45H,#0C1H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -