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

📄 xwfab.asm

📁 这是一个本人编写的程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:

	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 + -