设计一个能显示4位数码的电路,并用汇编语言编程使“8”能跑马显示8遍。求图和编程

2025-03-13 09:56:15
推荐回答(1个)
回答1:

SCANLED EQU 3BH

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP T0ISR

ORG 0030H

MAIN:

MOV SP,#5FH

MOV TMOD,#01H

MOV TH0,#0D8H

MOV TL0,#0F0H

MOV P2,#00H

MOV SCANLED,#0

MOV 33H,#10H

MOV 34H,#10H

MOV 35H,#10H

MOV 36H,#10H

SETB EA

SETB ET0

SETB TR0

MOV R2,#32

LOOP:

LCALL DELAY

INC SCANLED

MOV A,SCANLED

ANL A,#03H

MOV SCANLED,A

DJNZ R2,LOOP

SJMP $

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

T0ISR:

PUSH ACC

CLR TR0

MOV TH0,#0D8H

MOV TL0,#0F0H

SETB TR0

T000:

MOV A,SCANLED

JNZ T001

MOV P2,#01H

SJMP T0DIS

T001:

DEC A

JNZ T002

MOV P2,#02H

SJMP T0DIS

T002:

DEC A

JNZ T003

MOV P2,#04H

SJMP T0DIS

T003:

MOV P2,#08H

T0DIS:

MOV A,#80H

MOV P0,A

POP ACC

RETI

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

DELAY:

MOV R3,#10

DLY1:

MOV R4,#150

DLY2:

MOV R5,#250

DJNZ R5,$

DJNZ R4,DLY2

DJNZ R3,DLY1

RET

END