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

📄 5+6+3.asm

📁 数码显示程序
💻 ASM
字号:
tep equ 30h
ORG 0000H
START:  LJMP MAIN

        ORG 0003H
INT_0:  LJMP REMOTE

        ORG 000BH
TIME0:  DJNZ R5,T0_1
        MOV R5,#5
        CLR TR0
        SETB EX0
T0_1:   RETI

        ORG 001BH
TIME1:  LJMP T0L1


	ORG 0030H
MAIN:   MOV SP,#50H
	MOV TMOD,#11H
	MOV TH0,#0
	MOV TL0,#0
	MOV TH1,#0F8H
	MOV TL1,#0
	MOV TCON,#41H
	MOV IE,#8BH
	MOV IP,#03H
        MOV R0,#0
        MOV R5,#0
MAIN2:  MOV R6,#0
MAIN1:  NOP
        NOP
        DJNZ R6,MAIN1
        DJNZ R5,MAIN2
        LJMP LOOP

LOOP:   JBC 00H,L1
        AJMP LOOP

L1:     MOV A,21H
        CJNE A,#3AH,L2          ;START
	MOV DPH,14H
	MOV DPL,15H
	MOVX A,@DPTR
	CJNE A,#0FEH,L26A
	MOV A,16H
	MOVX @DPTR,A
	AJMP LOOP
L26A:   MOV DPTR,#0
	MOVX A,@DPTR
	MOV 16H,A
	MOV A,#0FEH
	MOVX @DPTR,A
	MOV 14H,#0
	MOV 15H,#0
	AJMP LOOP
L2:     CJNE A,#3BH,L3         ;UP
	MOV DPH,14H
	MOV DPL,15H
	MOVX A,@DPTR
	CJNE A,#0FEH,L3B
	MOV A,16H
	MOVX @DPTR,A
	DEC 15H
        MOV 14H,#0
	MOV A,15H
	CJNE A,#0FFH,L3E
        MOV 15H,#6             ;;;;;;;7组
L3E:    MOV DPH,14H
	MOV DPL,15H
	MOVX A,@DPTR
	MOV 16H,A
	MOV A,#0FEH
	MOVX @DPTR,A
L3B:    LJMP LOOP
L3:     CJNE A,#33H,L4          ;DOWN
	MOV DPH,14H
	MOV DPL,15H
	MOVX A,@DPTR
	CJNE A,#0FEH,L4B
	MOV A,16H
	MOVX @DPTR,A
	INC 15H
        MOV 14H,#0
	MOV A,15H
        CJNE A,#7,L4V     ;;;;;;;;;7组
	MOV 15H,#0
L4V:    MOV DPH,14H
	MOV DPL,15H
	MOVX A,@DPTR
	MOV 16H,A
	MOV A,#0FEH
	MOVX @DPTR,A
L4B:    LJMP LOOP
L4:     MOV DPH,14H
	MOV DPL,15H
	MOVX A,@DPTR
	CJNE A,#0FEH,L4B
	MOV A,21H
	CJNE A,#2BH,L40        ;LEFT
	MOV DPH,14H
	MOV DPL,15H
	MOV A,16H
	MOVX @DPTR,A
	DEC 14H
        ACALL BJ
 L40A:	MOV A,14H
	CJNE A,#0FFH,L40w
        MOV 14H,TEP
        LJMP L40W
L40W:   MOV DPH,14H
	MOV DPL,15H
	MOVX A,@DPTR
	MOV 16H,A
	MOV A,#0FEH
	MOVX @DPTR,A
	LJMP LOOP
L40:    CJNE A,#23H,L41         ;RIGHT
	MOV DPH,14H
	MOV DPL,15H
	MOV A,16H
	MOVX @DPTR,A
	INC 14H
	ACALL BJ
L41Q:   MOV A,14H
        INC TEP
        CJNE A,TEP,L41C
        MOV 14H,#0H
L41C:   MOV DPH,14H
	MOV DPL,15H
        MOVX A,@DPTR
	MOV 16H,A
	MOV A,#0FEH
	MOVX @DPTR,A
	LJMP LOOP
L41:    CJNE A,#00H,L7         ;1
	MOV A,#0F5H
	LJMP L19
L7:     CJNE A,#08H,L8         ;2
	MOV A,#0A2H
	LJMP L19
L8:     CJNE A,#10H,L9         ;3
	MOV A,#0A4H
	LJMP L19
L9:     CJNE A,#18H,L10        ;4
	MOV A,#0C5H
	LJMP L19
L10:    CJNE A,#20H,L11        ;5
	MOV A,#8CH
	LJMP L19
L11:    CJNE A,#28H,L12         ;6
	MOV A,#88H
	LJMP L19
L12:    CJNE A,#30H,L13         ;7
	MOV A,#0B5H
	LJMP L19
L13:    CJNE A,#38H,L14         ;8
	MOV A,#80H
	LJMP L19
L14:    CJNE A,#01H,L15        ;9
	MOV A,#84H
	LJMP L19
L15:    CJNE A,#09H,L16         ;0
	MOV A,#90H
	LJMP L19
L16:    CJNE A,#11H,L17         ;.
	MOV A,14H
	DEC A
	ANL A,#0FH
	MOV DPH,A
	MOV DPL,15H
	MOVX A,@DPTR
        CPL ACC.7
        ;ANL A,#0FBH
	MOVX @DPTR,A
	LJMP LOOP
L17:    CJNE A,#19H,L18         ;sp
	MOV A,#0FFH
L19:    MOVX @DPTR,A
	INC 14H
	ACALL BJ
L19D:   MOV A,14H
        INC TEP
	CJNE A,TEP,L19C
	MOV 14H,#0
	INC 15H
        MOV A,15H
        CJNE A,#7,L19C        ;;;;7组
        MOV 15H,#0
	LJMP L19C
L19C:   MOV DPH,14H
	MOV DPL,15H
	MOVX A,@DPTR
	MOV 16H,A
	MOV A,#0FEH
	MOVX @DPTR,A
L18:    LJMP LOOP





REMOTE: PUSH ACC
        PUSH PSW
        PUSH B
        CLR C
        SETB TR0
        MOV B,TH0
        MOV TH0,#0
        MOV TL0,#0
        MOV A,B
        SUBB A,#02
        JC ERROR
        CLR C
        MOV A,B
        SUBB A,#06
        JNC REMOTE1
        CLR C
        AJMP REMOTE2
REMOTE1:CLR C
        MOV A,B
        SUBB A,#06
        JC ERROR
        CLR C
        MOV A,B
        SUBB A,#0AH
        JNC ERROR
        SETB C
REMOTE2:INC 1AH
        MOV A,1CH
        RRC A
        MOV 1CH,A
        MOV A,1BH
        RRC A
        MOV 1BH,A
        MOV A,1AH
        CJNE A,#16,REQUIT
        MOV A,1BH
        CJNE A,#47H,ERROR
        SETB 00H
        MOV 21H,1CH
        MOV R5,#5
        CLR EX0
        MOV 1AH,#0
        MOV 1BH,#0
        MOV 1CH,#0
        ;MOV DPTR,#0
        ;MOVX A,@DPTR
        ;XCH A,22H
        ;MOVX @DPTR,A
REQUIT: POP B
        POP PSW
        POP ACC
        RETI
ERROR:  MOV 1AH,#0
        MOV 1BH,#0
        MOV 1CH,#0
        POP B
        POP PSW
        POP ACC
        RETI


T0L1:   MOV TH1,#0FAH
	MOV TL1,#0
	PUSH ACC
	PUSH PSW
	PUSH DPH
	PUSH DPL
	INC 10H
	MOV A,10H
	CJNE A,#6,TLL1   ;;;;;每组第6位显示
	MOV A,#0BFH        ;10111111
	MOV P1,A
	MOV 10H,#0
	AJMP T0L4
TLL1:   CJNE A,#1,TL2       ;;;;;每组第1位显示
	MOV A,#0DFH        ;11011111
	MOV P1,A
	AJMP T0L4
TL2:    CJNE A,#2,TL3        ;;;;;每组第2位显示
	MOV A,#0EFH        ;11101111
	MOV P1,A
	AJMP T0L4
TL3:    CJNE A,#3,TL4       ;;;;;每组第3位显示
	MOV A,#0F7H        ;11110111
	MOV P1,A
	AJMP T0L4
TL4:    CJNE A,#4,TL5      ;;;;;每组第4位显示
	MOV A,#0FBH       ;11111011
	MOV P1,A
	AJMP T0L4
TL5:    CJNE A,#5,TL6      ;;;;;每组第5位显示
        MOV A,#0FDH       ;11111101
        MOV P1,A
        AJMP T0L4
TL6:    MOV 10H,#0           ;;--
	MOV P1,#0FFH         ;;--
T0L4:   CLR P3.1
	NOP
	CLR P3.3
	NOP
	NOP
	SETB P3.3
	SETB P3.1
T0L3:   MOV R2,#09    ;;;;;9组  第1个
	MOV A,10H
	MOV DPH,A
	MOV DPL,R0
T0LA1:   MOVX A,@DPTR
	NOP
	CLR P3.3
	NOP
	NOP
	SETB P3.3
	INC DPL
	DJNZ R2,T0LA1
        MOV R2,#03      ;;;;3组=12组
T0LB1:   CLR P3.3
	SETB P3.3
	DJNZ R2,T0LB1
        MOV R2,#09       ;;;;;9组   第2个
T0LA2:   MOVX A,@DPTR
	NOP
	CLR P3.3
	NOP
	NOP
	SETB P3.3
	INC DPL
	DJNZ R2,T0LA2
        MOV R2,#03      ;;;;3组=12组
T0LB2:   CLR P3.3
	SETB P3.3
	DJNZ R2,T0LB2
        MOV R2,#12      ;;;;;12组     第3个
T0LA3:   MOVX A,@DPTR
	NOP
	CLR P3.3
	NOP
	NOP
	SETB P3.3
	INC DPL
	DJNZ R2,T0LA3
  ;      MOV R2,#04
;T0LB3:   CLR P3.3
;	SETB P3.3
;	DJNZ R2,T0LB3
          MOV R2,#12      ;;;;;12组    第4个
T0LA4:   MOVX A,@DPTR
	NOP
	CLR P3.3
	NOP
	NOP
	SETB P3.3
	INC DPL
	DJNZ R2,T0LA4
;        MOV R2,#04
;T0LB4:   CLR P3.3
;	SETB P3.3
;	DJNZ R2,T0LB4
          MOV R2,#12      ;;;;;12组      第5个
T0LA5:   MOVX A,@DPTR
	NOP
	CLR P3.3
	NOP
	NOP
	SETB P3.3
	INC DPL
	DJNZ R2,T0LA5
;        MOV R2,#04
;T0LB5:   CLR P3.3
;	SETB P3.3
;	DJNZ R2,T0LB5
          MOV R2,#12            ;;;;;12组    第6个
T0LA6:   MOVX A,@DPTR
	NOP
	CLR P3.3
	NOP
	NOP
	SETB P3.3
	INC DPL
	DJNZ R2,T0LA6
;        MOV R2,#04
;T0LB6:   CLR P3.3
;	SETB P3.3
;	DJNZ R2,T0LB6
          MOV R2,#12            ;;;;;12组   第7个
T0LA7:   MOVX A,@DPTR
	NOP
	CLR P3.3
	NOP
	NOP
	SETB P3.3
	INC DPL
	DJNZ R2,T0LA7
;        MOV R2,#04
;T0LB7:   CLR P3.3
;	SETB P3.3
;	DJNZ R2,T0LB7
          MOV R2,#12            ;;;;;12组    第8个
T0LA8:   MOVX A,@DPTR
	NOP
	CLR P3.3
	NOP
	NOP
	SETB P3.3
	INC DPL
	DJNZ R2,T0LA8
        POP DPL
	POP DPH
	POP PSW
	POP ACC
	RETI


BJ:     MOV A,15H
        CLR C
        SUBB A,#2         ;;;;;;;是否小于3组(前2组)
        JNC BJ1
        MOV TEP,#4        ;;;;;;;小于3组则为5位
        AJMP BJGND
BJ1:    MOV A,15H
        CLR C
        SUBB A,#4         ;;;;;;是否小于5组 (前3-4组)
        JNC BJ2
        MOV TEP,#5        ;;;;;;小于5组则为6位
        AJMP BJGND
BJ2:    MOV TEP,#2        ;;;;;;3位
BJGND:  RET
END

⌨️ 快捷键说明

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