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

📄 xwfab.asm

📁 这是一个本人编写的程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
           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 + -