单片机汇编语言让数码管显示0到9
ORG00HLJMPMAINORG30HMOVDPTR,#TABLEMAIN:MOVR7,#10MOVA,#00HLOOP:LCALLDISPLAYLCALLDELAYI...
ORG 00H
LJMP MAIN
ORG 30H
MOV DPTR,#TABLE
MAIN:MOV R7,#10
MOV A,#00H
LOOP:LCALL DISPLAY
LCALL DELAY
INC A
DJNZ R7,LOOP
LJMP MAIN
DISPLAY:PUSH ACC
MOVC A,@A+DPTR
MOV P1,A
POP ACC
RET
DELAY: MOV R4,#250
DEL1:MOV R6,#100
DEL2:MOV R5,#20
DEL3:DJNZ R5,DEL3
DJNZ R6,DEL2
DJNZ R4,DEL1
RET
TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
这是我的陈旭,p1口一直是0x00 0x33 调了大半天了,找不到问题,求助, 展开
LJMP MAIN
ORG 30H
MOV DPTR,#TABLE
MAIN:MOV R7,#10
MOV A,#00H
LOOP:LCALL DISPLAY
LCALL DELAY
INC A
DJNZ R7,LOOP
LJMP MAIN
DISPLAY:PUSH ACC
MOVC A,@A+DPTR
MOV P1,A
POP ACC
RET
DELAY: MOV R4,#250
DEL1:MOV R6,#100
DEL2:MOV R5,#20
DEL3:DJNZ R5,DEL3
DJNZ R6,DEL2
DJNZ R4,DEL1
RET
TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
这是我的陈旭,p1口一直是0x00 0x33 调了大半天了,找不到问题,求助, 展开
展开全部
ORG 00H
LJMP MAIN
ORG 30H
MAIN:
MOV DPTR, #TABLE
MOV R7, #10
MOV A, #0
LOOP:
LCALL DISPLAY
LCALL DELAY
INC A
DJNZ R7, LOOP
LJMP MAIN
DISPLAY:
PUSH ACC
MOVC A, @A+DPTR
MOV P1, A
POP ACC
RET
DELAY:
DL1:DJNZ R6, DL1
DL2:DJNZ R6, DL2
DJNZ R7, DL1
RET
TABLE:
DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH
END
再试试看。
更多追问追答
追问
谢谢,我知道了,MOV DPTR,#TABLE
放到main函数里就信啦,不过这是为什么呢?
追答
哦,程序中,R7 用重复了。
改换一个,即可。
我的习惯:
R567,用于循环延时。
R234,用于主程序的循环控制。
和你的用法,有些不同。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询