用汇编语言编写一个两个数码管为一组交替点亮一个数

2025-04-05 08:54:38
推荐回答(2个)
回答1:


两个数码管交替显示一个数,是很简单的,以下例程,数码管分别为P0,P1口共阴极。交替显示0~9.

     ORG   0000H

     JMP   BEGIN

     ORG 0030H

TABLE:      ; 共阴极数码管显示代码表

          DB    3FH,06H,5BH,4FH,66H ;01234

          DB    6DH,7DH,07H,7FH,6fh ;56789

DELAY:  MOV   R5,#20

LOOP4:  MOV   R6,#50H        ;延时20X20ms

LOOP5:  MOV   R7,#100

        DJNZ  R7,$

        DJNZ  R6,LOOP5

        DJNZ  R5,LOOP4

        RET

;---------------------------------------

BEGIN:

      MOV R2,#0

LOOP:

      MOV   DPTR,#TABLE


      MOV A,R2


      MOVC  A,@A+DPTR

      MOV   P0,A

      MOV P1,#00H

      LCALL DELAY


      MOV  P1,A

      MOV P0,#00H

      INC R2


     CJNE R2,#10,LOOP


     SJMP BEGIN

     END

回答2:

假设P1接1组数码管,P2接一组数码管,不考虑点亮时间长短的话,汇编程序如下:

ORG 0
TT: MOV P1,#3FH
NOP
NOP
NOP
MOV P2, #6CH
NOP
NOP
NOP
SJMP TT
END