用外部中断每发生一次,共阴数码管上显示的数值加1或减1

2025-05-05 19:26:17
推荐回答(1个)
回答1:

程序如下:

ORG 0000H
JMP START
ORG 0003H
JMP X0_INT
ORG 0013H
JMP X1_INT
;-------------------------------
START:
SETB IT0
SETB IT1
MOV IE, #85H
MOV R2, #0
MOV DPTR, #TABLE
;--------------------------
M_LOOP:
MOV A, R2
MOVC A, @A + DPTR
MOV P2, A
SJMP M_LOOP
TABLE:
DB 3FH, 06H, 5BH, 4FH, 66H, 6DH
DB 7DH, 07H, 7FH, 6FH, 77H, 7CH
;-------------------------------
X0_INT:
INC R2
CJNE R2, #10, X_END
MOV R2, #0
JMP X_END
X1_INT:
DEC R2
CJNE R2, #255, X_END
MOV R2, #9
X_END:
MOV R6, #20
DJNZ R7, $
DJNZ R6, $ - 2
RETI
;-------------------------------
END