根据你的思路做了如下修改。已经实现你所需的切换显示。但其实还有更好的方法来实现,代码不用那么长。
; SEG_C BIT P2.7 ;/段控制位定义

; BIT_C BIT P2.6 ;/位控制位定义
SEG_C BIT P1.4 ;/段控制位定义
BIT_C BIT P1.5 ;/位控制位定义
COUN_WEI EQU 3CH ;/显示位存储区
COUN_DISP EQU 3dh ;显示次数,显示指定次数后,切换显示
CN_COUN_DISP EQU 10;显示次数
ORG 0000H
AJMP MAIN
MAIN: MOV SP,#60H
MOV COUN_WEI,#0
MOV R0,#1 ;/从1开始显示
MOV COUN_DISP,#20 ;显示次数
LOOP: CALL DISPLAY_0
JMP LOOP
;/第一组显示数据给出 87654321
DISPLAY_0:
CLR SEG_C ;/关显示
CLR BIT_C ;[]
MOV P0,#0ffh;[]
SETB BIT_C
NOP
CLR BIT_C
; MOV R0,#0 ;/段码给出不能在循环中给初值
MOV A,R0
MOV DPTR,#SEG_TAB
MOVC A,@A+DPTR
MOV P0,A
SETB SEG_C
NOP
CLR SEG_C
MOV A,COUN_WEI ;/位码给出
MOV DPTR,#WEI_TAB
MOVC A,@A+DPTR
MOV P0,A
SETB BIT_C
nop
CLR BIT_C
CALL DELAY_1MS;先clr bti—C再做延时
INC R0
INC COUN_WEI
MOV A,COUN_WEI

CJNE A,#8,DISPLAY_0
MOV COUN_WEI,#0
MOV R0,#1
DJNZ COUN_DISP,DISPLAY_0
MOV COUN_DISP,#CN_COUN_DISP
MOV R0,#8
;/第二组显示数据给出 12345678
DISPLAY_1:
CLR SEG_C
CLR BIT_C
MOV P0,#0ffh;[]
SETB BIT_C
NOP
CLR BIT_C
MOV A,R0
MOV DPTR,#SEG_TAB
MOVC A,@A+DPTR
MOV P0,A
SETB SEG_C
NOP
CLR SEG_C
MOV A,COUN_WEI
MOV DPTR,#WEI_TAB
MOVC A,@A+DPTR
MOV P0,A
SETB BIT_C
nop;[]
CLR BIT_C
CALL DELAY_1MS;先clr bti—C再做延时
INC COUN_WEI;[]
DEC R0
MOV A,COUN_WEI
CJNE A,#8,DISPLAY_1
MOV COUN_WEI,#0
MOV R0,#8
DJNZ COUN_DISP,DISPLAY_1
MOV COUN_DISP,#CN_COUN_DISP
MOV R0,#1
RET
DELAY_1MS:
MOV R1,#35;50[防止闪烁]
D1:
MOV R2,#100
DJNZ R2,$
DJNZ R1,D1

RET
SEG_TAB: DB 03fh,06H,05BH,04FH,66H,06DH,07DH,07H,07FH,06FH;共阴数码管段码[0~9]
WEI_TAB: DB 07FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FeH;f7h改feh
END


