📄 leddisp.asm
字号:
$MOD51
STACKTOP EQU 70H ; start of stack (grows up)
LEDREG EQU 0F000H ; LED register address
DSEG
ORG 30H
CNTR: DS 1 ; counter for wait routine
CSEG
ORG 0000H ; program starts at 0 after reset
START:
; initialize stack pointer ...
MOV SP,#STACKTOP
; and the initial bit pattern to display
MOV A,#1
LOOP:
; show the bits on the LED digit
MOV DPTR,#LEDREG
MOVX @DPTR,A
; wait long enough so we can see the bits ...
CALL WAIT
; then rotate the bit pattern ...
RL A
; and then do it all again
JMP LOOP
; this subroutine waits about 1 second
WAIT:
PUSH ACC
PUSH B
MOV cntr,#10
WAIT1:
MOV B,#0
WAIT2:
MOV A,#0
DJNZ ACC,$
DJNZ B,WAIT2
DJNZ CNTR,WAIT1
POP B
POP ACC
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -