这是让上边的数码管显示倒计时,60秒到01,变成30秒到01,再变成90秒到01,然后回到60秒继续倒计时并循环。我想让下边的数码管从90秒开始倒计时,到01后变成60秒倒计时,到01后变成30秒倒计时,到01后回到90秒并循环,请问我该怎么改程序,请高手指点,谢谢!(可能说的有点乱,就是显示红绿灯的那种倒计时,带转向的所以倒计时时间不一样,两个数码管分别代表两个方向的时间显示)
ORG 0000H
START:
MOV DPTR, #TABLE
MOV TMOD, #01H
SETB TR0
MOV R0, #20
LL0:
MOV R2, #0
MOV R4, #60
LP0:
MOV TH0, #3CH
MOV TL0, #0B0H
LP1:
JBC TF0, LP2
CALL DISP
SJMP LP1
LP2:
DJNZ R0, LP0
MOV R0, #20 ;20
DJNZ R4, LP0
INC R2
CJNE R2, #1, LL1
MOV R4, #30
JMP LP0
LL1:
CJNE R2, #2, LL0
MOV R4, #90
JMP LP0
DISP:
MOV A, R4
MOV B, #10
DIV AB
MOVC A, @A + DPTR
MOV P0, A
SETB P2.1
DJNZ R5, $
DJNZ R5, $
CLR P2.1
MOV A, B
MOVC A, @A + DPTR
MOV P0, A
SETB P2.0
DJNZ R5, $
DJNZ R5, $
CLR P2.0
RET
TABLE:DB 0C0H, 0F9H, 0A4H, 0B0H, 99H,92H, 82H, 0F8H, 80H, 90H
END
嗯。。。我在努力
来自:求助得到的回答