📄 wqqq.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 + -