请帮忙看看数码管显示程序,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/06/06 20:13:20
我用的是6位8段共阳极数码管,要求个位(只是个位)上从0开始加1,一直加到9,然后再回到0,一直这样循环下去。以下是我的程序:
ORG 0000H
LJMP START

DEL: MOV R7,#200D;延时字程序
DEL1: MOV R6,#123D
DEL2: MOV R5,#020D
DEL3: DJNZ R5,DEL3
DJNZ R6,DEL2
DJNZ R7,DEL1
RET

START: MOV R2,#00H
MOV R1,#10H
MOV DPTR,#TABLE
LOOP: MOV A,R2
MOVC A,@A+DPTR
MOV P0,A
CLR P2.0
ACALL DEL
INC R2
DJNZ R1,LOOP
AJMP START

TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END

下载后发现也可以循环,只是到9后,要等待一段时间(9灭,黑大概2、3秒的样子)才能重新回到0继续循环,可看程序,应该9后就直接到0,不应该有这段延迟的,请个位高手看看,谢谢!

我以前也出现这个问题了。你那个R1,赋值是不是想赋值10?
你怎么变成10H了?这个是十进制10
把它改成0AH就应该可以了吧。你算算你那个延时时间×6是不是2.3秒?

高手,看不懂呢个