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

📄 wqqq.asm

📁 AD数据采集源代码
💻 ASM
字号:
	DAT:EQU 52H
DAT1:EQU 53H
DP1:EQU 54H
DP2:EQU 55H
DPJ:EQU 56H
QIAN:EQU 57H
BAI:EQU 58H
SHI:EQU 59H
GE: EQU 60H
TBAI:EQU 61H
TSHI:EQU 62H
TGE: EQU 63H
TSHIF:EQU 64H
TSS:EQU 65H
TSS1:EQU 66H
TXIAO:EQU 67H
BAI1:EQU 68H
SHI1:EQU 69H
GE1:EQU 70H
      ORG 0000H
      AJMP START
      ORG 0100H
START:SETB P1.7
      MOV P0,#0FFH
      MOV P3,#00H
      MOV P3,#0FFH
      MOV TBAI,#00H
      MOV TSHI,#00H
      MOV TGE,#00H
      MOV TXIAO,#00H
      MOV DP1,#0CH
      MOV DP2,#01H
      LCALL DPLAY ;          进入正常模式   
      MOV DP1,#0FH
      MOV DP2,#01H
      LCALL DPLAY ;  进行显示测试模式  
      MOV DP1,#0FH
      MOV DP2,#00H
      LCALL DPLAY  ;         恢复正常模式 
      MOV DP1,#0BH
      MOV DP2,#07H
      LCALL DPLAY ;             开通扫描模式
      MOV DP1,#09H
      MOV DP2,#0FFH
      LCALL DPLAY;         开通解码模式 
      MOV DP1,#0AH
      MOV DP2,#6H
      LCALL DPLAY;             亮度调节
      MOV DP2,#00H
      LCALL DIGIT1
      LCALL DIGIT2
      LCALL DIGIT3
      LCALL DIGIT4
      LCALL DIGIT5
      LCALL DIGIT6
      LCALL DIGIT7
      LCALL DIGIT8
      MOV DAT1,#00H
      MOV DAT,#00H
JSTART:JNB P1.3,ZIDONG
       
      JMP STARTAD
ZIDONG:JNB P1.0,T1H
     
      JNB P1.1,T1L
     
      JNB P1.6,T2H
      
      JNB P1.2,T2L
    
      JMP STARTAD
T1H:MOV P3,#0FFH
    CLR P3.0
    JMP STARTAD
T1L:MOV P3,#0FFH
    CLR P3.1
    JMP STARTAD
T2H:MOV P3,#0FFH
    CLR P3.2
    JMP STARTAD
T2L:MOV P3,#0FFH
    CLR P3.3
    JMP STARTAD
STARTAD:CLR P1.7
      MOV DP2,#00H
      LCALL DIGIT4
      LCALL ATD1
      LCALL JGCL
      
      MOV A,#09H
      SUBB A,BAI
      JC XSH
      MOV DP2,#00H
      LCALL DIGIT4
      MOV DP2,BAI
      LCALL DIGIT3
      JMP XSH1
  XSH:MOV DP2,#01H
      LCALL DIGIT4
      MOV DP2,#00H
      LCALL DIGIT3
 XSH1:
      MOV DP2,SHI
      LCALL DIGIT2
      MOV DP2,GE
      LCALL DIGIT1
      LCALL ATD
      LCALL JGCL
     LCALL DLAY
      MOV A,#09H
      SUBB A,BAI
      JC XSH2
      MOV DP2,#00H
      LCALL DIGIT8
      MOV DP2,BAI
      LCALL DIGIT7
      JMP XSH3
  XSH2:MOV DP2,#01H
      LCALL DIGIT8
      MOV DP2,#00H
      LCALL DIGIT7
 XSH3:
      MOV DP2,SHI
      LCALL DIGIT6
      MOV DP2,GE
      LCALL DIGIT5
     
      SETB P1.7
      JNB P1.5,JISHI
      JMP JSTART
JISHI:JNB P1.4,PANDUAN
      JMP JSTART
PANDUAN:MOV A,BAI
        SUBB A,#07H
        JC PANDUAN1
       
        LJMP LTS
PANDUAN1:CLR C
         MOV A,BAI
         SUBB A,#03H
         JC STL
         LJMP JSTART
STL:CLR C
     SETB P1.7
     LCALL ATD
     LCALL JGCL
     CLR P1.7
     MOV A,#02H
     SUBB A,BAI
     JNC STL
     MOV A,BAI
     CJNE A,#03H,STL
     MOV R2,#00H
     MOV R3,#00H
     MOV R4,#00H
 STL1:CLR P1.7
      LCALL ATD
      LCALL JGCL
      SETB P1.7
     MOV A,#05H
      SUBB A,BAI
      JC TCL
      MOV A,R2
      ADD A,#02H
      MOV R2,A
      CJNE R2,#0FEH,STL1
      MOV R2,#00H
      MOV A,R3
      ADD A,#019H
      MOV R3,A
      CJNE R3,#064H,STL1
      MOV R3,#00H
      MOV A,R4
      ADD A,#01H
      MOV R4,A
      JMP STL1
  TCL:
      CLR C
      MOV A,R2
      MOV B,#0AH
      DIV AB
      MOV TXIAO,B
      ADD A,R3
      MOV B,#0AH
      DIV AB
      CJNE A,#0AH,TJ
      INC R4
      MOV TBAI,R4
      MOV TSHI,#00H
      MOV TGE,B
      JMP TXSH
  TJ:MOV TBAI,R4
      MOV TSHI,A
      MOV TGE,B
 TXSH:MOV A,#09H
      SUBB A,TBAI
      JC ERR
      MOV DP2,TBAI
      LCALL DIGIT8
      MOV DP2,TSHI
      LCALL DIGIT7
      MOV A,#080H
      ADD A,TGE
      MOV DP2,A
      LCALL DIGIT6
      MOV DP2,TXIAO
      LCALL DIGIT5
      LJMP LOOP
ERR:LJMP ERR1

LTS:SETB P1.7
     LCALL ATD
     LCALL JGCL
     MOV DP2,BAI
     LCALL DIGIT3
     MOV DP2,SHI
     LCALL DIGIT2
     MOV DP2,GE
     LCALL DIGIT1
     CLR P1.7
     MOV A,BAI
     SUBB A,#07H
     JNC LTS
     MOV A,BAI
     CJNE A,#06H,LTS
     MOV R2,#00H
     MOV R3,#00H
     MOV R4,#00H
 LTS1:CLR P2.0
      LCALL ATD
      LCALL JGCL
      MOV DP2,BAI
      LCALL DIGIT3
      MOV DP2,SHI
      LCALL DIGIT2
      MOV DP2,GE
      LCALL DIGIT1
      SETB P2.0
      MOV A,BAI
      SUBB A,#04H
      JC TCL1
      MOV A,R2
      ADD A,#0AH
      MOV R2,A
      CJNE R2,#064H,LTS1
      MOV R2,#00H
      MOV A,R3
      ADD A,#014H
      MOV R3,A
      CJNE R3,#064H,LTS1
      MOV R3,#00H
      MOV A,R4
      ADD A,#01H
      MOV R4,A
      JMP LTS1
  TCL1:
      MOV A,R2
      MOV B,#0AH
      DIV AB
      MOV TXIAO,B
      ADD A,R3
      MOV B,#0AH
      DIV AB
      CJNE A,#0AH,TJ1
      INC R4
      MOV TBAI,R4
      MOV TSHI,#00H
      MOV TGE,B
      JMP TXSH1
  TJ1:MOV TBAI,R4
      MOV TSHI,A
      MOV TGE,B
TXSH1:MOV A,#09H
      SUBB A,TBAI
      JC ERR1
      MOV DP2,TBAI
      LCALL DIGIT8
      MOV DP2,TSHI
      LCALL DIGIT7
      MOV A,#080H
      ADD A,TGE
      MOV DP2,A
      LCALL DIGIT6
      MOV DP2,TXIAO
      LCALL DIGIT5
      JMP LOOP
  ERR1:CLR C
       MOV DP2,#0BH 
       LCALL DIGIT8
      MOV DP2,#0AH
      LCALL DIGIT7
       LCALL DIGIT6
      LCALL DIGIT5
      JMP LOOP 
  LTZ:LJMP START     

  LOOP:SETB P1.7
    JNB P1.5,RELAY
    JNB P1.4,RELAY
    JB P1.3,RELAY
    JNB P1.0,RELAY1
    JNB P1.1,RELAY2
    JNB P1.2,RELAY3
    JNB P1.6,RELAY4
    SETB P1.7
    SJMP LOOP
 RELAY:LJMP JSTART
 RELAY1:LJMP T1H
 RELAY2:LJMP T1L
 RELAY3:LJMP T2L
 RELAY4:LJMP T2H     
;************************************************************************显示程序
 DIGIT1:MOV DP1,#01H
       LCALL DPLAY;          数码管1显示
       RET
DIGIT2:MOV DP1,#03H
      LCALL DPLAY;           数码管2显示
      RET
DIGIT3:MOV DP1,#07H
     LCALL DPLAY;           数码管3显示
     RET
DIGIT4:MOV DP1,#05H
      LCALL DPLAY;           数码管4显示
      RET 
DIGIT5:MOV DP1,#04H
      LCALL DPLAY;           数码管5显示
      RET    
DIGIT6: MOV DP1,#02H
      LCALL DPLAY;           数码管6显示
      RET
DIGIT7:MOV DP1,#06H
      LCALL DPLAY;           数码管7显示
      RET
DIGIT8:MOV DP1,#08H
      LCALL DPLAY;           数码管8显示
      RET
;*********************************************************************** 
 DPLAY:MOV A,DP1
      MOV DPJ,#08H
      ACALL MM1
      MOV A,DP2
      MOV DPJ,#08H
      ACALL MM1
      SETB P2.2
      RET
  MM1:RLC A
      CLR P2.2
      CLR P2.1
      MOV P2.3,C		
      NOP
      NOP
      NOP
      SETB P2.1
      DJNZ DPJ,MM1
      RET
;*************************************************************AD转换结果处理
JGCL: MOV BAI,#00H
      MOV SHI,#00H
      MOV GE,#00H
      MOV TSS,#00H
      MOV TSS1,#00H
      MOV TSHIF,#00H
      MOV A,52H
      RLC A
      JNC CHL
      MOV BAI,#05H
      MOV TSHIF,#0CH
  CHL:RLC A
      MOV TSS1,A
      JNC CHL1
      MOV A,BAI
      ADD A,#02H
      MOV BAI,A
      MOV A,TSHIF
      ADD A,#038H
      MOV TSHIF,A
      MOV A,TSS1
 CHL1:RLC A
      MOV TSS1,A
      JNC CHL2
      MOV A,BAI
      ADD A,#01H
      MOV BAI,A
      MOV A,TSHIF
      ADD A,#01CH
      MOV TSHIF,A
 CHL2:MOV A,DAT1
      RRC A
      JNC CHH
      MOV TSS,#01H
  CHH:RRC A
      JNC CHH1
      MOV A,TSS
      ADD A,#02H
      MOV TSS,A
      JMP CHH2
  CHH1:MOV A,TSS
       ADD A,#00H
       MOV TSS,A
  CHH2:MOV A,TSS1
       RRC A
       ANL A,#07CH
       ADD A,TSS
       ADD A,TSHIF
       MOV B,#064H
       DIV AB
       ADD A,BAI
       MOV BAI,A
       MOV A,B
       MOV B,#0AH
       DIV AB
       MOV SHI,A
       MOV GE,B
        RET
;*****************************************************************AD转换子程序1
  ATD:MOV DAT,#00H
      MOV DAT1,#00H
      CLR P1.7
      CLR P2.6
      CLR P2.7
      SETB P2.5
      SETB P2.7
      CLR P2.7
      CLR P2.5
      SETB P2.7
      CLR P2.7
      CLR P2.5
      SETB P2.7
      CLR P2.7
      CLR P2.5
      SETB P2.7
      CLR P2.7
      SETB P2.5
      SETB P2.7
      CLR P2.7
      SETB P2.5
      SETB P2.7
      CLR P2.7
      SETB P2.5
      SETB P2.7
      CLR P2.7
      CLR P2.5
      SETB P2.7
      CLR P2.7
      ACALL JGOUT
      RET
;***************************************************************AD转换子程序2
ATD1:MOV DAT,#00H
      MOV DAT1,#00H
      CLR P1.7
      CLR P2.6
      CLR P2.7
      SETB P2.5
      SETB P2.7
      CLR P2.7
      SETB P2.5
      SETB P2.7
      CLR P2.7
      CLR P2.5
      SETB P2.7
      CLR P2.7
      CLR P2.5
      SETB P2.7
      CLR P2.7
      SETB P2.5
      SETB P2.7
      CLR P2.7
      SETB P2.5
      SETB P2.7
      CLR P2.7
      SETB P2.5
      SETB P2.7
      CLR P2.7
      CLR P2.5
      SETB P2.7
      CLR P2.7
      ACALL JGOUT
      RET
;********************************************************AD结果输出
JGOUT:NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
     MOV A,#00H
      MOV 50H,#08H
  TT:SETB P2.7
      NOP
      NOP
      NOP
      NOP
      NOP
      CLR P2.7
      JNB P2.4,TT1
      MOV 51H,#01H
      RL A
      ADD A,51H
      JMP TT2
  TT1:RL A
  TT2:DJNZ 50H,TT
  MOV DAT,A
  MOV 50H,#02H
  TT3:SETB P2.7
      NOP
      NOP
      NOP
      NOP
      NOP
      CLR P2.7
      JNB P2.4,TT4
      MOV 51H,#01H
      RL A
      ADD A,51H
      JMP TT5
  TT4:RL A
  TT5:DJNZ 50H,TT3 
    MOV DAT1,A
      SETB P2.7
      CLR P2.7
      SETB P2.7
      CLR P2.7
      SETB P2.7
       CLR P2.7
       SETB P2.7
      CLR P2.7
      SETB P2.7
      CLR P2.7
     SETB P2.7
      CLR P2.7
     SETB P1.7
      RET 
 ;***********************************************************延时程序  
 DLAY:MOV R0,#0FFH
  DD2:MOV R1,#0FFH
  DD1:DJNZ R1,DD1
      DJNZ R0,DD2
      RET
 DLAY1:MOV R5,#0FFH
      DJNZ R5,$
      RET
      END

⌨️ 快捷键说明

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