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

📄 ad.asm

📁 能够实现八路多路数据采集源程序汇编语言程序代码
💻 ASM
字号:
ORG 0100H
MAIN:MOV SP,#60H
MOV DPTR,#4000H
MOV A,#03H
MOVX @DPTR,A
CLR 02H
MOV R0,#40H
MOV A,#00H
ML0:MOV @R0,A
   INC R0
   CJNE R0,#45H,ML0
   ACALL KEY1
ML2:CJNE A,#12,ML3
    AJMP ML5
ML3:CJNE A,#10,ML4
    ACALL ALON
    AJMP ML2
ML4:CJNE A,#11,ML5
    ACALL REP
    AJMP ML2
ML5:ACALL KEY1
    AJMP ML2


ALON:ACALL KEY1
     CLR 01H
     CLR C
     PUSH ACC
     SUBB A,#09H
     POP ACC
     JNC A1
   C1:MOV B,A
     PUSH B
     SETB 02H
     ACALL ONE
     CLR 02H
     ACALL KSI
     POP B
     CJNE A,#00H,E2
     MOV A,B
     AJMP C1
 E2:ACALL KEY1
    PUSH ACC
    CLR C
    SUBB A,#09H
    POP ACC
    JC C1
    AJMP A4
  A1:CJNE A,#13,ALON
     SETB 01H
  A2:ACALL KEY1
     CLR C
     PUSH ACC
     SUBB A,#09H
     POP ACC
     JNC  A2
     PUSH ACC
     MOV A,#0FFH
     MOV 21H,A
     MOV A,#7FH
     MOV 22H,A
     POP ACC
     MOV R7,#00H
  A3:PUSH ACC
     MOV B,R7
     PUSH B
     ACALL ONE
     POP B
     MOV R7,B
     INC R7
     POP ACC
     MOV B,A
     PUSH B
     ACALL KSI
     POP B
     CJNE A,#00H,E3
     MOV A,B
     AJMP A3
 E3: MOV B,R7
     PUSH B
     ACALL KEY1
     POP B
     MOV R7,B
     CJNE A,#15,A4
     ACALL COPE
     ACALL KEY1
  A4:RET


REP:MOV R0,#00H
KL1:MOV A,#01H
KL2:MOV B,R0
    PUSH B
    PUSH ACC
    ACALL ONE
    ACALL KSI
    MOV R3,A
    POP ACC
    POP B
    MOV R0,B
    CJNE R3,#00H,KL3
 KL4:INC A
    CJNE A,#09H,KL2
    INC R0
    CJNE R0,#0AH,KL1
    AJMP KL7
KL3:PUSH ACC
    MOV B,R0
    PUSH B
    ACALL KEY1
    MOV R3,A
    POP B
    MOV R0,B
    POP ACC
    CJNE R3,#12,KL4
KL5:CJNE A,#08H,KL6
    AJMP KL7
KL6:INC A
    PUSH ACC
    ACALL ONE
    POP ACC
    AJMP KL5
 KL7:ACALL KEY1
    RET


ONE:CLR EX0
   MOV R1,A
   MOV DPTR,#0FEF7H
   MOV A,DPL
   ADD A,R1
   MOV DPL,A
   MOV A,#00H
   MOVX @DPTR,A
   MOV R2,#0AH
L10:NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
   DJNZ R2,L10
   MOVX A,@DPTR
   MOV B,#02H
   MUL AB
   CLR C
   SUBB A,#14
   JNC T
   DEC B
T: PUSH ACC
   PUSH B
   CLR C
   SUBB A,#90H
   MOV A,B
   SUBB A,#01H
   MOV F0,C
   POP B
   POP ACC
   JC BDIV
   ACALL ALM
BDIV:MOV R2,#100
    MOV R3,B
    MOV R4,A
    MOV B,#08H
DIV2:CLR C
    MOV A,R4
    RLC A
    MOV R4,A
    MOV A,R3
    RLC A
    MOV F0,C
    MOV R3,A
    CLR C
    SUBB A,R2
    JB F0,DV2
    JC DV3
DV2:MOV R3,A
    INC R4
DV3:DJNZ B,DIV2
    CLR F0
    MOV A,R1
    MOV 40H,A
    MOV A,R4
    MOV 41H,A
    JNB 01H,B1
    MOV DPL,21H
    MOV DPH,22H
    INC DPTR
    MOVX @DPTR,A
 B1:MOV A,R3
    MOV B,#0AH
    DIV AB
    JNB 01H,B2
    INC DPTR
    MOVX @DPTR,A
 B2:MOV 42H,A
    JNB 01H,B3
    INC DPTR
    PUSH ACC
    MOV A,B
    MOVX @DPTR,A
    POP ACC
 B3:MOV 43H,B
    PUSH ACC
    MOV A,#00H
    MOV 44H,A
    JNB 01H,B4
    INC DPTR
    MOVX @DPTR,A
    MOV 21H,DPL
    MOV 22H,DPH
 B4:POP ACC
    ACALL DIR
    RET


ALM:MOV P1,#0FFH
    PUSH ACC
    MOV A,R1
    CJNE A,#01H,L1
    CLR P1.0
    AJMP DL1
 L1:CJNE A,#02H,L2
    CLR P1.1
    AJMP DL1
 L2:CJNE A,#03H,L3
    CLR P1.2
    AJMP DL1
 L3:CJNE A,#04H,L4
    CLR P1.3
    AJMP DL1
 L4:CJNE A,#05H,L5
    CLR P1.4
    AJMP DL1
 L5:CJNE A,#06H,L6
    CLR P1.5
    AJMP DL1
 L6:CJNE A,#07H,L7
    CLR P1.6
    AJMP DL1
 L7:CLR P1.7
DL1:POP ACC
   RET


KEY1:MOV A,#03H
  MOV DPTR,#4000H
  MOVX @DPTR,A
 K:ACALL KSI
     JNZ LK2
     AJMP K
LK2:MOV R3,#11H
    MOV R4,#00H
LK4:MOV DPTR,#4001H
    MOV A,R3
    MOVX @DPTR,A
    MOV DPTR,#4003H
    MOVX A,@DPTR
    PUSH ACC
    MOV A,R3
    JB ACC.3,DD
    POP ACC
    JB ACC.0,LONE
    MOV A,#01H
    AJMP LKP
LONE:JB ACC.1,LTWO
     MOV A,#04H
     AJMP LKP
LTWO:JB ACC.2,LTHR
     MOV A,#07H
     AJMP LKP
LTHR:JB ACC.3,NEXT
     MOV A,#0DH
LKP:ADD A,R4
    PUSH ACC
    AJMP LK3
DD:POP ACC
   JB ACC.0,LONE1
   MOV A,#10
   PUSH ACC
   AJMP LK3
LONE1:JB ACC.1,LTWO1
   MOV A,#11
   PUSH ACC
   AJMP LK3
LTWO1:JB ACC.2,LTHR1
   MOV A,#12
   PUSH ACC
   AJMP LK3
LTHR1:JB ACC.3,NEXT
      MOV A,#16
      PUSH ACC
LK3:ACALL KSI
    JNZ LK3
    POP ACC ;ACC is the parameter of this programme.
    RET
NEXT:INC R4
     MOV A,R3
     JB ACC.3,KND
     RL A
     MOV R3,A
     AJMP LK4
KND:AJMP K

KSI:MOV DPTR,#4001H
    MOV A,#0FFH
    MOVX @DPTR,A
    MOV DPTR,#4003H
    MOVX A,@DPTR
    CPL A
    ANL A,#0FH
    RET

COPE:MOV A,#0FFH
     MOV DPL,A
     MOV A,#7FH
     MOV DPH,A
 E1: MOV A,R1
     MOV 40H,A
     INC DPTR
     MOVX A,@DPTR
     MOV 41H,A
     INC DPTR
     MOVX A,@DPTR
     MOV 42H,A
     INC DPTR
     MOVX A,@DPTR
     MOV 43H,A
     INC DPTR
     MOVX A,@DPTR
     MOV 44H,A
     PUSH DPL
     PUSH DPH
     MOV B,R7
     PUSH B
     ACALL DIR
     POP B
     MOV R7,B
     POP DPH
     POP DPL
     DJNZ R7,E1
     RET



DIR:MOV DPTR,#4000H
    MOV A,#03H
     MOVX @DPTR,A
     MOV DPTR,#4002H
     MOV A,#00H
     MOVX @DPTR,A
     JNB 02H,Z1
     MOV R3,#03H
     AJMP D1
  Z1:MOV R3,#15H
  D1:MOV R4,#08H
  D2:MOV R0,#40H
     MOV R2,#01H
DIRL:MOV DPTR,#4001H
     MOV A,R2
     MOVX @DPTR,A
     MOV A,@R0
     CJNE R0,#41H,DIR2
     MOV DPTR,#DSEG1
     MOVC A,@A+DPTR
     AJMP DIR3
DIR2:MOV DPTR,#DSEG2
     MOVC A,@A+DPTR
DIR3:MOV DPTR,#4002H
     MOVX @DPTR,A
     MOV R7,#02H
DL:MOV R6,#0FFH
DL6:DJNZ R6,DL6
    DJNZ R7,DL
    INC R0
    MOV A,R2
    RL A
    MOV R2,A
    JNB ACC.5,DIRL
    DJNZ R4,D2
    DJNZ R3,D1
    MOV DPTR,#4002H
    MOV A,#00H
    MOVX @DPTR,A
    RET
DSEG2:	DB 3FH,06H,5BH
	DB 4FH,66H,6DH
	DB 7DH,07H,7FH
	DB 6FH
DSEG1:  DB 0BFH,86H,0DBH
        DB 0CFH,0E6H,0EDH
        DB 0FDH,87H,0FFH
        DB 0EFH
        END


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -